List of usage examples for org.bouncycastle.asn1.pkcs IssuerAndSerialNumber IssuerAndSerialNumber
public IssuerAndSerialNumber(X500Name name, BigInteger certSerialNumber)
From source file:eu.europa.esig.dss.xades.signature.XAdESBuilder.java
License:Open Source License
/** * Incorporates the certificate's references as a child of the given parent node. The first element of the {@code X509Certificate} {@code List} MUST be the signing * certificate.//from w w w . java 2s.co m * * @param signingCertificateDom DOM parent element * @param certificates {@code List} of the certificates to be incorporated */ protected void incorporateCertificateRef(final Element signingCertificateDom, final List<CertificateToken> certificates) { for (final CertificateToken certificate : certificates) { final Element certDom = DSSXMLUtils.addElement(documentDom, signingCertificateDom, XAdES, XADES_CERT); final Element certDigestDom = DSSXMLUtils.addElement(documentDom, certDom, XAdES, XADES_CERT_DIGEST); final DigestAlgorithm signingCertificateDigestMethod = params.getSigningCertificateDigestMethod(); incorporateDigestMethod(certDigestDom, signingCertificateDigestMethod); final InMemoryDocument inMemoryCertificate = new InMemoryDocument(certificate.getEncoded()); incorporateDigestValue(certDigestDom, signingCertificateDigestMethod, inMemoryCertificate); if (params.isEn319132()) { try { final Element issuerSerialDom = DSSXMLUtils.addElement(documentDom, certDom, XAdES, XADES_ISSUER_SERIAL_V2); String name = certificate.getCertificate().getIssuerX500Principal().getName(); IssuerAndSerialNumber issuerAndSerial = new IssuerAndSerialNumber(new X500Name(name), certificate.getCertificate().getSerialNumber()); byte[] issuer = Base64.encodeBase64(issuerAndSerial.getEncoded()); DSSXMLUtils.setTextNode(documentDom, issuerSerialDom, new String(issuer)); } catch (IOException e) { throw new RuntimeException(e); } } else { final Element issuerSerialDom = DSSXMLUtils.addElement(documentDom, certDom, XAdES, XADES_ISSUER_SERIAL); final Element x509IssuerNameDom = DSSXMLUtils.addElement(documentDom, issuerSerialDom, XMLNS, DS_X509_ISSUER_NAME); final String issuerX500PrincipalName = certificate.getIssuerX500Principal().getName(); DSSXMLUtils.setTextNode(documentDom, x509IssuerNameDom, issuerX500PrincipalName); final Element x509SerialNumberDom = DSSXMLUtils.addElement(documentDom, issuerSerialDom, XMLNS, DS_X509_SERIAL_NUMBER); final BigInteger serialNumber = certificate.getSerialNumber(); final String serialNumberString = new String(serialNumber.toString()); DSSXMLUtils.setTextNode(documentDom, x509SerialNumberDom, serialNumberString); } } }
From source file:org.jruby.ext.openssl.impl.RecipInfo.java
License:LGPL
/** c: PKCS7_RECIP_INFO_set * *//* w w w .jav a 2 s. co m*/ public void set(X509AuxCertificate cert) throws PKCS7Exception { version = 0; X500Name issuer = X500Name.getInstance(cert.getIssuerX500Principal().getEncoded()); BigInteger serial = cert.getSerialNumber(); issuerAndSerial = new IssuerAndSerialNumber(issuer, serial); String algo = addEncryptionIfNeeded(cert.getPublicKey().getAlgorithm()); keyEncAlgor = new AlgorithmIdentifier(ASN1Registry.sym2oid(algo)); this.cert = cert; }
From source file:org.jruby.ext.openssl.impl.SignerInfoWithPkey.java
License:LGPL
public void set(X509AuxCertificate x509, PrivateKey pkey, MessageDigest dgst) throws PKCS7Exception { boolean dsa = (pkey instanceof DSAPrivateKey) || (pkey instanceof ECPrivateKey); version = new ASN1Integer(1); X500Name issuer = X500Name.getInstance(x509.getIssuerX500Principal().getEncoded()); BigInteger serial = x509.getSerialNumber(); issuerAndSerialNumber = new IssuerAndSerialNumber(issuer, serial); this.pkey = pkey; if (dsa) {/* ww w .ja v a2s.c o m*/ digAlgorithm = new AlgorithmIdentifier(ASN1Registry.nid2obj(ASN1Registry.NID_sha1)); } else { digAlgorithm = new AlgorithmIdentifier(ASN1Registry.nid2obj(EVP.type(dgst))); } if (pkey instanceof RSAPrivateKey) { digEncryptionAlgorithm = new AlgorithmIdentifier(ASN1Registry.nid2obj(ASN1Registry.NID_rsaEncryption)); } else if (pkey instanceof DSAPrivateKey) { digEncryptionAlgorithm = new AlgorithmIdentifier(ASN1Registry.nid2obj(ASN1Registry.NID_dsa)); } else if (pkey instanceof ECPrivateKey) { digEncryptionAlgorithm = new AlgorithmIdentifier( ASN1Registry.nid2obj(ASN1Registry.NID_ecdsa_with_SHA1)); } }