private BigInteger getCrlNumber(X509CRL crl) { byte[] crlNumberExtensionValue = crl.getExtensionValue(Extension.cRLNumber.getId()); if (null == crlNumberExtensionValue) { return null; } try { ASN1InputStream asn1IS1 = null, asn1IS2 = null; try { asn1IS1 = new ASN1InputStream(crlNumberExtensionValue); ASN1OctetString octetString = (ASN1OctetString)asn1IS1.readObject(); byte[] octets = octetString.getOctets(); asn1IS2 = new ASN1InputStream(octets); ASN1Integer integer = (ASN1Integer)asn1IS2.readObject(); return integer.getPositiveValue(); } finally { IOUtils.closeQuietly(asn1IS2); IOUtils.closeQuietly(asn1IS1); } } catch (IOException e) { throw new RuntimeException("I/O error: " + e.getMessage(), e); } }
/** * Return the generator of the multiplicative subgroup of order g. * * @return the generator g. */ public BigInteger getG() { return this.g.getPositiveValue(); }
public BigInteger getL() { if (l == null) { return null; } return l.getPositiveValue(); }
/** * Return the public value Y for the key. * * @return the Y value. */ public BigInteger getY() { return this.y.getPositiveValue(); }
/** * Return the prime p defining the Galois field. * * @return the prime p. */ public BigInteger getP() { return this.p.getPositiveValue(); }
public BigInteger getL() { if (l == null) { return null; } return l.getPositiveValue(); }
public BigInteger getP() { return p.getPositiveValue(); }
public BigInteger getP() { return p.getPositiveValue(); }
public BigInteger getP() { return p.getPositiveValue(); }
public BigInteger getP() { return p.getPositiveValue(); }
/** * Return q, the prime factor of p - 1 * * @return q value */ public BigInteger getQ() { return this.q.getPositiveValue(); }
public BigInteger getG() { return g.getPositiveValue(); }
public BigInteger getG() { return g.getPositiveValue(); }
private RSAPublicKey( ASN1Sequence seq) { if (seq.size() != 2) { throw new IllegalArgumentException("Bad sequence size: " + seq.size()); } Enumeration e = seq.getObjects(); modulus = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); publicExponent = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); }
private RSAPublicKey( ASN1Sequence seq) { if (seq.size() != 2) { throw new IllegalArgumentException("Bad sequence size: " + seq.size()); } Enumeration e = seq.getObjects(); modulus = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); publicExponent = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); }
public RSAPublicKeyStructure( ASN1Sequence seq) { if (seq.size() != 2) { throw new IllegalArgumentException("Bad sequence size: " + seq.size()); } Enumeration e = seq.getObjects(); modulus = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); publicExponent = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); }
public RSAPublicKeyStructure( ASN1Sequence seq) { if (seq.size() != 2) { throw new IllegalArgumentException("Bad sequence size: " + seq.size()); } Enumeration e = seq.getObjects(); modulus = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); publicExponent = ASN1Integer.getInstance(e.nextElement()).getPositiveValue(); }
public static byte[] dsaSigX962ToPlain(byte[] x962Signature, int keyBitLen) throws XiSecurityException { Args.notNull(x962Signature, "x962Signature"); ASN1Sequence seq = ASN1Sequence.getInstance(x962Signature); if (seq.size() != 2) { throw new IllegalArgumentException("invalid X962Signature"); } BigInteger sigR = ASN1Integer.getInstance(seq.getObjectAt(0)).getPositiveValue(); BigInteger sigS = ASN1Integer.getInstance(seq.getObjectAt(1)).getPositiveValue(); return dsaSigToPlain(sigR, sigS, keyBitLen); }
public static byte[] convertX962DSASigToPlain(final byte[] x962Signature, final int keyBitLen) throws XiSecurityException { ParamUtil.requireNonNull("x962Signature", x962Signature); ASN1Sequence seq = ASN1Sequence.getInstance(x962Signature); if (seq.size() != 2) { throw new IllegalArgumentException("invalid X962Signature"); } BigInteger sigR = ASN1Integer.getInstance(seq.getObjectAt(0)).getPositiveValue(); BigInteger sigS = ASN1Integer.getInstance(seq.getObjectAt(1)).getPositiveValue(); return convertDSASigToPlain(sigR, sigS, keyBitLen); }
public boolean verify(byte[] message, byte[] signature) throws Exception { ASN1InputStream asn1 = new ASN1InputStream(signature); ECDSASigner signer = new ECDSASigner(); //not for signing... signer.init(false, new ECPublicKeyParameters(curve.getCurve().decodePoint(pub), params)); DLSequence seq = (DLSequence) asn1.readObject(); BigInteger r = ((ASN1Integer) seq.getObjectAt(0)).getPositiveValue(); BigInteger s = ((ASN1Integer) seq.getObjectAt(1)).getPositiveValue(); return signer.verifySignature(message, r, s); }