List of usage examples for org.bouncycastle.asn1.x500.style BCStyle SURNAME
ASN1ObjectIdentifier SURNAME
To view the source code for org.bouncycastle.asn1.x500.style BCStyle SURNAME.
Click Source Link
From source file:eu.europa.esig.dss.validation.SignedDocumentValidator.java
License:Open Source License
/** * This method deals with the certificate's details. The retrieved * information is transformed to the JAXB object. * * @param usedDigestAlgorithms//from w w w .j av a 2 s . c o m * set of different digest algorithms used to compute certificate * digest * @param certToken * current certificate token * @return */ private XmlCertificate dealCertificateDetails(final Set<DigestAlgorithm> usedDigestAlgorithms, final CertificateToken certToken) { final XmlCertificate xmlCert = new XmlCertificate(); xmlCert.setId(certToken.getDSSId().asXmlId()); XmlDistinguishedName xmlDistinguishedName = xmlForDistinguishedName(X500Principal.CANONICAL, certToken.getSubjectX500Principal()); xmlCert.getSubjectDistinguishedName().add(xmlDistinguishedName); xmlDistinguishedName = xmlForDistinguishedName(X500Principal.RFC2253, certToken.getSubjectX500Principal()); xmlCert.getSubjectDistinguishedName().add(xmlDistinguishedName); xmlDistinguishedName = xmlForDistinguishedName(X500Principal.CANONICAL, certToken.getIssuerX500Principal()); xmlCert.getIssuerDistinguishedName().add(xmlDistinguishedName); xmlDistinguishedName = xmlForDistinguishedName(X500Principal.RFC2253, certToken.getIssuerX500Principal()); xmlCert.getIssuerDistinguishedName().add(xmlDistinguishedName); xmlCert.setSerialNumber(certToken.getSerialNumber()); X500Principal x500Principal = certToken.getSubjectX500Principal(); xmlCert.setCommonName(DSSASN1Utils.extractAttributeFromX500Principal(BCStyle.CN, x500Principal)); xmlCert.setCountryName(DSSASN1Utils.extractAttributeFromX500Principal(BCStyle.C, x500Principal)); xmlCert.setOrganizationName(DSSASN1Utils.extractAttributeFromX500Principal(BCStyle.O, x500Principal)); xmlCert.setGivenName(DSSASN1Utils.extractAttributeFromX500Principal(BCStyle.GIVENNAME, x500Principal)); xmlCert.setOrganizationalUnit(DSSASN1Utils.extractAttributeFromX500Principal(BCStyle.OU, x500Principal)); xmlCert.setSurname(DSSASN1Utils.extractAttributeFromX500Principal(BCStyle.SURNAME, x500Principal)); xmlCert.setPseudonym(DSSASN1Utils.extractAttributeFromX500Principal(BCStyle.PSEUDONYM, x500Principal)); for (final DigestAlgorithm digestAlgorithm : usedDigestAlgorithms) { final XmlDigestAlgAndValueType xmlDigestAlgAndValue = new XmlDigestAlgAndValueType(); xmlDigestAlgAndValue.setDigestMethod(digestAlgorithm.getName()); xmlDigestAlgAndValue.setDigestValue(DSSUtils.digest(digestAlgorithm, certToken)); xmlCert.getDigestAlgAndValue().add(xmlDigestAlgAndValue); } xmlCert.setNotAfter(certToken.getNotAfter()); xmlCert.setNotBefore(certToken.getNotBefore()); final PublicKey publicKey = certToken.getPublicKey(); xmlCert.setPublicKeySize(DSSPKUtils.getPublicKeySize(publicKey)); xmlCert.setPublicKeyEncryptionAlgo(DSSPKUtils.getPublicKeyEncryptionAlgo(publicKey)); xmlForKeyUsageBits(certToken, xmlCert); if (DSSASN1Utils.isOCSPSigning(certToken)) { xmlCert.setIdKpOCSPSigning(true); } if (DSSASN1Utils.hasIdPkixOcspNoCheckExtension(certToken)) { xmlCert.setIdPkixOcspNoCheck(true); } final XmlBasicSignatureType xmlBasicSignatureType = new XmlBasicSignatureType(); final SignatureAlgorithm signatureAlgorithm = certToken.getSignatureAlgorithm(); xmlBasicSignatureType.setDigestAlgoUsedToSignThisToken(signatureAlgorithm.getDigestAlgorithm().getName()); xmlBasicSignatureType .setEncryptionAlgoUsedToSignThisToken(signatureAlgorithm.getEncryptionAlgorithm().getName()); final String keyLength = DSSPKUtils.getPublicKeySize(certToken); xmlBasicSignatureType.setKeyLengthUsedToSignThisToken(keyLength); final boolean signatureIntact = certToken.isSignatureValid(); xmlBasicSignatureType.setReferenceDataFound(signatureIntact); xmlBasicSignatureType.setReferenceDataIntact(signatureIntact); xmlBasicSignatureType.setSignatureIntact(signatureIntact); xmlBasicSignatureType.setSignatureValid(signatureIntact); xmlCert.setBasicSignature(xmlBasicSignatureType); final CertificateToken issuerToken = certToken.getIssuerToken(); xmlCert.setSigningCertificate(xmlForSigningCertificate(issuerToken)); xmlCert.setCertificateChain(xmlForCertificateChain(issuerToken)); List<String> qcStatementsIdList = DSSASN1Utils.getQCStatementsIdList(certToken); if (CollectionUtils.isNotEmpty(qcStatementsIdList)) { XmlQCStatementIds qcStatementIds = new XmlQCStatementIds(); qcStatementIds.getOid().addAll(qcStatementsIdList); xmlCert.setQCStatementIds(qcStatementIds); } List<String> policyIdentifiersList = DSSASN1Utils.getPolicyIdentifiers(certToken); if (CollectionUtils.isNotEmpty(policyIdentifiersList)) { XmlCertificatePolicyIds certPolicyIds = new XmlCertificatePolicyIds(); certPolicyIds.getOid().addAll(policyIdentifiersList); xmlCert.setCertificatePolicyIds(certPolicyIds); } xmlCert.setSelfSigned(certToken.isSelfSigned()); xmlCert.setTrusted(certToken.isTrusted()); return xmlCert; }
From source file:org.cesecore.certificates.util.DnComponentsTest.java
License:Open Source License
@Test public void test02() { String dn = CertTools.stringToBCDNString("uri=fff,CN=oid,SN=12345,NAME=name,C=se"); final X500Name name = CertTools.stringToBcX500Name(dn); ASN1ObjectIdentifier[] oids = name.getAttributeTypes(); assertEquals(BCStyle.CN, oids[0]);/* w w w . j av a2 s .c om*/ assertEquals(BCStyle.NAME, oids[1]); assertEquals(BCStyle.SERIALNUMBER, oids[2]); assertEquals(BCStyle.C, oids[3]); assertEquals("CN=oid,Name=name,SN=12345,C=se", dn); String dn1 = CertTools.stringToBCDNString("SURNAME=Json,=fff,CN=oid,SN=12345,NAME=name,C=se"); final X500Name name1 = CertTools.stringToBcX500Name(dn1); ASN1ObjectIdentifier[] oids1 = name1.getAttributeTypes(); assertEquals(BCStyle.CN, oids1[0]); assertEquals(BCStyle.NAME, oids1[1]); assertEquals(BCStyle.SERIALNUMBER, oids1[2]); assertEquals(BCStyle.SURNAME, oids1[3]); assertEquals(BCStyle.C, oids1[4]); assertEquals("CN=oid,Name=name,SN=12345,SURNAME=Json,C=se", dn1); String dn2 = CertTools.stringToBCDNString( "jurisdictionCountry=SE,jurisdictionState=Stockholm,SURNAME=Json,=fff,CN=oid,jurisdictionLocality=Solna,SN=12345,unstructuredname=foo.bar.com,unstructuredaddress=1.2.3.4,NAME=name,C=se"); final X500Name name2 = CertTools.stringToBcX500Name(dn2); ASN1ObjectIdentifier[] oids2 = name2.getAttributeTypes(); assertEquals(CeSecoreNameStyle.JURISDICTION_COUNTRY, oids2[0]); assertEquals(CeSecoreNameStyle.JURISDICTION_STATE, oids2[1]); assertEquals(CeSecoreNameStyle.JURISDICTION_LOCALITY, oids2[2]); assertEquals(CeSecoreNameStyle.UnstructuredAddress, oids2[3]); assertEquals(CeSecoreNameStyle.UnstructuredName, oids2[4]); assertEquals(BCStyle.CN, oids2[5]); assertEquals(BCStyle.NAME, oids2[6]); assertEquals(BCStyle.SERIALNUMBER, oids2[7]); assertEquals(BCStyle.SURNAME, oids2[8]); assertEquals(BCStyle.C, oids2[9]); assertEquals( "JurisdictionCountry=SE,JurisdictionState=Stockholm,JurisdictionLocality=Solna,unstructuredAddress=1.2.3.4,unstructuredName=foo.bar.com,CN=oid,Name=name,SN=12345,SURNAME=Json,C=se", dn2); }