org.bouncycastle.asn1.DERInteger.getValue()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(12.3k)|赞(0)|评价(0)|浏览(61)

本文整理了Java中org.bouncycastle.asn1.DERInteger.getValue()方法的一些代码示例,展示了DERInteger.getValue()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。DERInteger.getValue()方法的具体详情如下:
包路径:org.bouncycastle.asn1.DERInteger
类名称:DERInteger
方法名:getValue

DERInteger.getValue介绍

暂无

代码示例

代码示例来源:origin: edu.vt.middleware/vt-crypt

/**
 * Extracts the integer value from a {@link DERInteger}.
 *
 * @param  e  DERInteger instance.
 *
 * @return  Integer value.
 */
public static int asInt(final DEREncodable e)
{
 if (!(e instanceof DERInteger)) {
  throw new IllegalArgumentException("Argument must be DERInteger.");
 }
 return ((DERInteger) e).getValue().intValue();
}

代码示例来源:origin: org.codeartisans.qipki/qipki-crypto

@Override
public String toString( DEREncodable obj )
{
  if ( obj instanceof DERString ) {
    return ( ( DERString ) obj ).getString();
  } else if ( obj instanceof DERInteger ) {
    return ( ( DERInteger ) obj ).getValue().toString();
  } else if ( obj instanceof ASN1TaggedObject ) {
    ASN1TaggedObject tagObj = ( ASN1TaggedObject ) obj;
    return "[" + tagObj.getTagNo() + "] " + toString( tagObj.getObject() );
  } else if ( obj instanceof ASN1Sequence ) {
    ASN1Sequence aObj = ( ASN1Sequence ) obj;
    StringBuilder sb = new StringBuilder( "[" );
    for ( int i = 0, len = aObj.size(); i < len; i++ ) {
      sb.append( toString( aObj.getObjectAt( i ) ) );
      if ( i != len - 1 ) {
        sb.append( ", " );
      }
    }
    return sb.append( "]" ).toString();
  } else {
    return obj.toString();
  }
}

代码示例来源:origin: edu.vt.middleware/vt-crypt

/**
  * Produces the r,s integer pair of a DSA signature from a DER-encoded byte
  * representation.
  *
  * @param  in  DER-encoded concatenation of byte representation of r and s.
  *
  * @return  DSA signature output parameters (r,s).
  *
  * @throws  edu.vt.middleware.crypt.CryptException  On cryptographic errors.
  */
 private BigInteger[] decode(final byte[] in)
  throws CryptException
 {
  ASN1Sequence s;
  try {
   s = (ASN1Sequence) new ASN1InputStream(in).readObject();
  } catch (IOException e) {
   throw new CryptException("Error decoding DSA signature.", e);
  }
  return
   new BigInteger[] {
    ((DERInteger) s.getObjectAt(0)).getValue(),
    ((DERInteger) s.getObjectAt(1)).getValue(),
   };
 }
}

代码示例来源:origin: gotoworld/hsd-cipher-sm

DERObject derObj = dis.readObject();
Enumeration<DERInteger> e = ((ASN1Sequence) derObj).getObjects();
BigInteger r = ((DERInteger)e.nextElement()).getValue();
BigInteger s = ((DERInteger)e.nextElement()).getValue();
SM2Result sm2Result = new SM2Result();
sm2Result.r = r;

代码示例来源:origin: nuls-io/nuls

public static boolean verifySign(byte[] userId, byte[] publicKey, byte[] sourceData, byte[] signData) throws IOException {
  if (publicKey == null || publicKey.length == 0) {
    return false;
  }
  if (sourceData == null || sourceData.length == 0) {
    return false;
  }
  SM2 sm2 = SM2.Instance();
  ECPoint userKey = sm2.ecc_curve.decodePoint(publicKey);
  SM3Digest sm3 = new SM3Digest();
  byte[] z = sm2.sm2GetZ(userId, userKey);
  sm3.update(z, 0, z.length);
  sm3.update(sourceData, 0, sourceData.length);
  byte[] md = new byte[32];
  sm3.doFinal(md, 0);
  ByteArrayInputStream bis = new ByteArrayInputStream(signData);
  ASN1InputStream dis = new ASN1InputStream(bis);
  DERObject derObj = dis.readObject();
  Enumeration<DERInteger> e = ((ASN1Sequence) derObj).getObjects();
  BigInteger r = ((DERInteger) e.nextElement()).getValue();
  BigInteger s = ((DERInteger) e.nextElement()).getValue();
  SM2Result sm2Result = new SM2Result();
  sm2Result.r = r;
  sm2Result.s = s;
  sm2.sm2Verify(md, userKey, sm2Result.r, sm2Result.s, sm2Result);
  return sm2Result.r.equals(sm2Result.R);
}

代码示例来源:origin: org.codeartisans.qipki/qipki-crypto

@Override
public Set<PolicyConstraint> getPolicyConstraints( X509Certificate cert )
{
  try {
    byte[] value = cert.getExtensionValue( X509Extensions.PolicyConstraints.getId() );
    if ( value == null ) {
      return Collections.emptySet();
    }
    ASN1Sequence constraintsSequence = ( ASN1Sequence ) ASN1Object.fromByteArray( value );
    Set<PolicyConstraint> constraints = new LinkedHashSet<PolicyConstraint>();
    for ( int idx = 0; idx < constraintsSequence.size(); idx++ ) {
      DERTaggedObject asn1Constraint = ( DERTaggedObject ) constraintsSequence.getObjectAt( idx );
      DERInteger skipCerts = new DERInteger( ( ( DEROctetString ) asn1Constraint.getObject() ).getOctets() );
      PolicyConstraint constraint = new PolicyConstraint();
      switch ( asn1Constraint.getTagNo() ) {
        case 0:
          constraint.setRequireExplicitPolicy( skipCerts.getValue().intValue() );
          break;
        case 1:
          constraint.setInhibitPolicyMapping( skipCerts.getValue().intValue() );
      }
      constraints.add( constraint );
    }
    return constraints;
  } catch ( IOException ex ) {
    throw new CryptoFailure( "Unable to extract PolicyConstraints from X509Certificate extensions", ex );
  }
}

代码示例来源:origin: edu.vt.middleware/vt-crypt

/**
 * Creates a {@link NoticeReference} object from DER data.
 *
 * @param  enc  DER encoded user notice; must be either <code>
 * ASN1Sequence</code> or <code>
 * org.bouncycastle.asn1.x509.NoticeReference</code> object.
 *
 * @return  Notice reference.
 */
public static NoticeReference createNoticeReference(final DEREncodable enc)
{
 final org.bouncycastle.asn1.x509.NoticeReference notRef =
  org.bouncycastle.asn1.x509.NoticeReference.getInstance(enc);
 // Build the array of notice numbers
 final int[] notNums = new int[notRef.getNoticeNumbers().size()];
 for (int i = 0; i < notNums.length; i++) {
  final DERInteger num = (DERInteger) notRef.getNoticeNumbers().getObjectAt(
   i);
  notNums[i] = num.getValue().intValue();
 }
 return new NoticeReference(notRef.getOrganization().toString(), notNums);
}

代码示例来源:origin: com.google.code.jscep/jscep-api

assert(signedData.getVersion().getValue().equals(BigInteger.ONE));

代码示例来源:origin: com.google.code.jscep/jscep-api

final EnvelopedData ed = new EnvelopedData(null, new DERSet(recipientInfos), eci, null);
assert(ed.getVersion().getValue().equals(BigInteger.ZERO));
contentInfo = new ContentInfo(PKCSObjectIdentifiers.envelopedData, ed);

代码示例来源:origin: nuls-io/nuls

public static byte[] decrypt(byte[] privateKey, byte[] encryptedData) throws IOException {
  if (privateKey == null || privateKey.length == 0) {
    return null;
  }
  if (encryptedData == null || encryptedData.length == 0) {
    return null;
  }
  byte[] enc = new byte[encryptedData.length];
  System.arraycopy(encryptedData, 0, enc, 0, encryptedData.length);
  SM2 sm2 = SM2.Instance();
  BigInteger userD = new BigInteger(1, privateKey);
  ByteArrayInputStream bis = new ByteArrayInputStream(enc);
  ASN1InputStream dis = new ASN1InputStream(bis);
  DERObject derObj = dis.readObject();
  ASN1Sequence asn1 = (ASN1Sequence) derObj;
  DERInteger x = (DERInteger) asn1.getObjectAt(0);
  DERInteger y = (DERInteger) asn1.getObjectAt(1);
  ECPoint c1 = sm2.ecc_curve.createPoint(x.getValue(), y.getValue(), true);
  Cipher cipher = new Cipher();
  cipher.initDec(userD, c1);
  DEROctetString data = (DEROctetString) asn1.getObjectAt(3);
  enc = data.getOctets();
  cipher.decrypt(enc);
  byte[] c3 = new byte[32];
  cipher.dofinal(c3);
  return enc;
}

代码示例来源:origin: gotoworld/hsd-cipher-sm

public static byte[] decrypt(byte[] privateKey, byte[] encryptedData) throws IOException
{
  if (privateKey == null || privateKey.length == 0)
  {
    return null;
  }
  if (encryptedData == null || encryptedData.length == 0)
  {
    return null;
  }
  byte[] enc = new byte[encryptedData.length];
  System.arraycopy(encryptedData, 0, enc, 0, encryptedData.length);
  SM2 sm2 = SM2.Instance();
  BigInteger userD = new BigInteger(1, privateKey);
  ByteArrayInputStream bis = new ByteArrayInputStream(enc);
  ASN1InputStream dis = new ASN1InputStream(bis);
  DERObject derObj = dis.readObject();
  ASN1Sequence asn1 = (ASN1Sequence) derObj;
  DERInteger x = (DERInteger) asn1.getObjectAt(0);
  DERInteger y = (DERInteger) asn1.getObjectAt(1);
  ECPoint c1 = sm2.ecc_curve.createPoint(x.getValue(), y.getValue(), true);
  Cipher cipher = new Cipher();
  cipher.Init_dec(userD, c1);
  DEROctetString data = (DEROctetString) asn1.getObjectAt(3);
  enc = data.getOctets();
  cipher.Decrypt(enc);
  byte[] c3 = new byte[32];
  cipher.Dofinal(c3);
  return enc;
}

代码示例来源:origin: fr.opensagres.xdocreport.itext-gae/itext-gae

private KeyTransRecipientInfo computeRecipientInfo(X509Certificate x509certificate, byte[] abyte0)
    throws GeneralSecurityException, IOException
  {
    ASN1InputStream asn1inputstream = 
      new ASN1InputStream(new ByteArrayInputStream(x509certificate.getTBSCertificate()));
    TBSCertificateStructure tbscertificatestructure = 
      TBSCertificateStructure.getInstance(asn1inputstream.readObject());
    AlgorithmIdentifier algorithmidentifier = tbscertificatestructure.getSubjectPublicKeyInfo().getAlgorithmId();
    IssuerAndSerialNumber issuerandserialnumber = 
      new IssuerAndSerialNumber(
        tbscertificatestructure.getIssuer(), 
        tbscertificatestructure.getSerialNumber().getValue());
    Cipher cipher = Cipher.getInstance(algorithmidentifier.getObjectId().getId());        
    cipher.init(1, x509certificate);
    DEROctetString deroctetstring = new DEROctetString(cipher.doFinal(abyte0));
    RecipientIdentifier recipId = new RecipientIdentifier(issuerandserialnumber);
    return new KeyTransRecipientInfo( recipId, algorithmidentifier, deroctetstring);
  }
}

代码示例来源:origin: com.google.code.jscep/jscep-api

assert(signedData.getVersion().getValue().equals(BigInteger.ONE));

代码示例来源:origin: edu.vt.middleware/vt-crypt

privatePart);
 spec = new ECPrivateKeySpec(
  DERInteger.getInstance(seq.getObjectAt(0)).getValue(),
  ECUtils.fromNamedCurve(oid));
} catch (IOException e) {
 try {
  spec = new RSAPrivateCrtKeySpec(
   DERInteger.getInstance(sequence.getObjectAt(1)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(2)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(3)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(4)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(5)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(6)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(7)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(8)).getValue());
 } catch (Exception e) {
  throw new CryptException("Invalid RSA key.", e);
 try {
  spec = new DSAPrivateKeySpec(
   DERInteger.getInstance(sequence.getObjectAt(5)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(1)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(2)).getValue(),
   DERInteger.getInstance(sequence.getObjectAt(3)).getValue());
 } catch (Exception e) {
  throw new CryptException("Invalid DSA key.", e);

代码示例来源:origin: com.google.code.jscep/jscep-api

if (version.getValue().equals(BigInteger.ZERO) == false) {
  LOGGER.warning("EnvelopedData version MUST be 0");

代码示例来源:origin: edu.vt.middleware/vt-crypt

/**
 * Reads a ASN.1 encoded EC private key according the structure defined in
 * sections C.4 and C.2 of SEC 1: Elliptic Curve Cryptography,
 * www.secg.org/collateral/sec1_final.pdf.
 *
 * @param  seq  ASN.1 encoded sequence of EC private key parameters.
 *
 * @return  Constructed EC key parameter specification.
 */
public static ECPrivateKeySpec readEncodedPrivateKey(final ASN1Sequence seq)
{
 final BigInteger s = DERInteger.getInstance(seq.getObjectAt(1)).getValue();
 final ASN1TaggedObject params = DERTaggedObject.getInstance(
  seq.getObjectAt(2));
 return
  new ECPrivateKeySpec(
   s,
   readEncodedParams((ASN1Sequence) params.getObject()));
}

代码示例来源:origin: com.google.code.jscep/jscep-api

private RecipientInfo toRecipientInfo(X509Certificate cert, SecretKey key) throws CertificateEncodingException, IOException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException {
    PublicKey pubKey = cert.getPublicKey();
    TBSCertificateStructure tbs = TBSCertificateStructure.getInstance(ASN1Object.fromByteArray(cert.getTBSCertificate()));
    AlgorithmIdentifier keyEncAlg = tbs.getSubjectPublicKeyInfo().getAlgorithmId();

    Cipher keyCipher = Cipher.getInstance("RSA");
    keyCipher.init(Cipher.WRAP_MODE, pubKey);
    ASN1OctetString encKey = new DEROctetString(keyCipher.wrap(key));
    
    ASN1InputStream aIn = new ASN1InputStream(cert.getTBSCertificate());
    tbs = TBSCertificateStructure.getInstance(aIn.readObject());
    IssuerAndSerialNumber encSid = new IssuerAndSerialNumber(tbs.getIssuer(), tbs.getSerialNumber().getValue());
    
    return new RecipientInfo(new KeyTransRecipientInfo(new RecipientIdentifier(encSid), keyEncAlg, encKey));
  }
}

代码示例来源:origin: fr.opensagres.xdocreport.itext-gae/itext-gae

version = ((DERInteger)content.getObjectAt(0)).getValue().intValue();
signerversion = ((DERInteger)signerInfo.getObjectAt(0)).getValue().intValue();
BigInteger serialNumber = ((DERInteger)issuerAndSerialNumber.getObjectAt(1)).getValue();
for (Iterator i = certs.iterator(); i.hasNext();) {
  X509Certificate cert = (X509Certificate)i.next();

代码示例来源:origin: com.hynnet/jradius-extended

DHParameters dhParams = new DHParameters(params.getP(), params.getG(), null, l);
return new DHPrivateKeyParameters(derX.getValue(), dhParams);
DERInteger          derX = (DERInteger)keyInfo.getPrivateKey();
return new ElGamalPrivateKeyParameters(derX.getValue(), new ElGamalParameters(params.getP(), params.getG()));
return new DSAPrivateKeyParameters(derX.getValue(), parameters);

代码示例来源:origin: net.jradius/jradius-extended

DHParameters dhParams = new DHParameters(params.getP(), params.getG(), null, l);
return new DHPrivateKeyParameters(derX.getValue(), dhParams);
DERInteger          derX = (DERInteger)keyInfo.getPrivateKey();
return new ElGamalPrivateKeyParameters(derX.getValue(), new ElGamalParameters(params.getP(), params.getG()));
return new DSAPrivateKeyParameters(derX.getValue(), parameters);

相关文章

微信公众号

最新文章

更多