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

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

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

DERInteger.<init>介绍

[英]Constructor from a byte array containing a signed representation of the number.
[中]从包含数字的有符号表示的字节数组构造构造函数。

代码示例

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

/**
 * Produces DER-encoded byte array output from the raw DSA signature output
 * parameters, r and s.
 *
 * @param  r  DSA signature output integer r.
 * @param  s  DSA signature output integer s.
 *
 * @return  DER-encoded concatenation of byte representations of r and s.
 *
 * @throws  edu.vt.middleware.crypt.CryptException  On cryptographic errors.
 */
private byte[] encode(final BigInteger r, final BigInteger s)
 throws CryptException
{
 final ByteArrayOutputStream out = new ByteArrayOutputStream();
 final ASN1EncodableVector v = new ASN1EncodableVector();
 v.add(new DERInteger(r));
 v.add(new DERInteger(s));
 try {
  new DEROutputStream(out).writeObject(new DERSequence(v));
 } catch (IOException e) {
  throw new CryptException("Error encoding DSA signature.", e);
 }
 return out.toByteArray();
}

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

System.out.println("");
DERInteger d_r = new DERInteger(sm2Result.r);
DERInteger d_s = new DERInteger(sm2Result.s);
ASN1EncodableVector v2 = new ASN1EncodableVector();
v2.add(d_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: nuls-io/nuls

public static byte[] sign(byte[] userId, byte[] privateKey, byte[] sourceData) throws IOException {
  if (privateKey == null || privateKey.length == 0) {
    return null;
  }
  if (sourceData == null || sourceData.length == 0) {
    return null;
  }
  SM2 sm2 = SM2.Instance();
  BigInteger userD = new BigInteger(privateKey);
  ECPoint userKey = sm2.ecc_point_g.multiply(userD);
  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);
  SM2Result sm2Result = new SM2Result();
  sm2.sm2Sign(md, userD, userKey, sm2Result);
  DERInteger dR = new DERInteger(sm2Result.r);
  DERInteger dS = new DERInteger(sm2Result.s);
  ASN1EncodableVector v2 = new ASN1EncodableVector();
  v2.add(dR);
  v2.add(dS);
  DERObject sign = new DERSequence(v2);
  byte[] signdata = sign.getDEREncoded();
  return signdata;
}

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

cipher.dofinal(c3);
DERInteger x = new DERInteger(c1.getX().toBigInteger());
DERInteger y = new DERInteger(c1.getY().toBigInteger());
DEROctetString derDig = new DEROctetString(c3);
DEROctetString derEnc = new DEROctetString(source);

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

cipher.Dofinal(c3);
DERInteger x = new DERInteger(c1.getX().toBigInteger());
DERInteger y = new DERInteger(c1.getY().toBigInteger());
DEROctetString derDig = new DEROctetString(c3);
DEROctetString derEnc = new DEROctetString(source);

代码示例来源:origin: br.gov.frameworkdemoiselle.component/demoiselle-certificate-signer

@Override
  public ASN1Set getValue() {
    SigningCertificate attribute = (SigningCertificate) super.getAttribute();
    X509Certificate cert = attribute.getValue();
    Digest digest = DigestFactory.getInstance().factoryDefault();
    digest.setAlgorithm(DigestAlgorithmEnum.SHA_1);
    byte[] certHash = null;
    try {
      certHash = digest.digest(cert.getEncoded());
    } catch (CertificateEncodingException ex) {
      ex.printStackTrace();
    }
    X509Name dirName = new X509Name(cert.getSubjectDN().getName());
    GeneralName name = new GeneralName(dirName);
    GeneralNames issuer = new GeneralNames(name);
    DERInteger serialNumber = new DERInteger(cert.getSerialNumber());
    IssuerSerial issuerSerial = new IssuerSerial(issuer, serialNumber);
    ESSCertID essCertId = new ESSCertID(certHash, issuerSerial);
    return new DERSet(new DERSequence(new ASN1Encodable[]{new DERSequence(essCertId), new DERSequence(new DERNull())}));
  }
}

代码示例来源:origin: br.gov.frameworkdemoiselle.component/demoiselle-certificate-signer

@Override
  public ASN1Set getValue() {
    SigningCertificateV2 attribute = (SigningCertificateV2) super.getAttribute();
    X509Certificate cert = attribute.getValue();
    Digest digest = DigestFactory.getInstance().factoryDefault();
    digest.setAlgorithm(DigestAlgorithmEnum.SHA_256);
    byte[] certHash = null;
    try {
      certHash = digest.digest(cert.getEncoded());
    } catch (CertificateEncodingException ex) {
      ex.printStackTrace();

    }
    X509Name dirName = new X509Name(cert.getSubjectDN().getName());
    GeneralName name = new GeneralName(dirName);
    GeneralNames issuer = new GeneralNames(name);
    DERInteger serial = new DERInteger(cert.getSerialNumber());
    IssuerSerial issuerSerial = new IssuerSerial(issuer, serial);
    String algorithmHashOID = SignerAlgorithmEnum.getSignerAlgorithmEnum(attribute.getAlgorithmHash()).getOIDAlgorithmHash();
    AlgorithmIdentifier algorithmId = new AlgorithmIdentifier(algorithmHashOID);
    ESSCertIDv2 essCertIDv2 = new ESSCertIDv2(algorithmId, certHash, issuerSerial);
    return new DERSet(new DERSequence(new ASN1Encodable[]{new DERSequence(essCertIDv2), new DERSequence(new DERNull())}));
  }
}

代码示例来源:origin: es.gob.afirma/afirma-crypto-pdf-itext

signerinfo.add(new DERInteger(this.signerversion));
v.add(new DERInteger(this.signCert.getSerialNumber()));
signerinfo.add(new DERSequence(v));
body.add(new DERInteger(this.version));
body.add(new DERSet(digestAlgorithms));
body.add(contentinfo);

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

signerinfo.add(new DERInteger(signerversion));
v.add(new DERInteger(signCert.getSerialNumber()));
signerinfo.add(new DERSequence(v));
body.add(new DERInteger(version));
body.add(new DERSet(digestAlgorithms));
body.add(contentinfo);

相关文章

微信公众号

最新文章

更多