List of usage examples for org.bouncycastle.asn1.x509 PolicyQualifierInfo PolicyQualifierInfo
public PolicyQualifierInfo(ASN1Sequence as)
PolicyQualifierInfo instance. From source file:com.otterca.common.crypto.SimplePolicyGeneratorImpl.java
License:Apache License
/** * Get CPS policy information./*from w ww . j ava 2 s. c o m*/ * * @return */ public PolicyInformation getCpsPolicyInformation() { PolicyInformation cps = null; if (cpsUri != null) { cps = new PolicyInformation(id_qt_cps, new DERSequence(new PolicyQualifierInfo(cpsUri))); } return cps; }
From source file:es.gob.afirma.envelopers.cades.CAdESUtils.java
License:Open Source License
/** * Obtiene un PolicyInformation a partir de los datos de la política. * Sirve para los datos de SigningCertificate y SigningCertificateV2. Tiene que llevar algunos * datos de la política.//from ww w . j av a2s . co m * <pre> * PolicyInformation ::= SEQUENCE { * policyIdentifier CertPolicyId, * policyQualifiers SEQUENCE SIZE (1..MAX) OF * PolicyQualifierInfo OPTIONAL } * * * CertPolicyId ::= OBJECT IDENTIFIER * * PolicyQualifierInfo ::= SEQUENCE { * policyQualifierId PolicyQualifierId, * qualifier ANY DEFINED BY policyQualifierId } * * -- policyQualifierIds for Internet policy qualifiers * * id-qt OBJECT IDENTIFIER ::= { id-pkix 2 } * id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 } * id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 } * * PolicyQualifierId ::= * OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice ) * * Qualifier ::= CHOICE { * cPSuri CPSuri, * userNotice UserNotice } * * CPSuri ::= IA5String * * UserNotice ::= SEQUENCE { * noticeRef NoticeReference OPTIONAL, * explicitText DisplayText OPTIONAL} * * NoticeReference ::= SEQUENCE { * organization DisplayText, * noticeNumbers SEQUENCE OF INTEGER } * * DisplayText ::= CHOICE { * ia5String IA5String (SIZE (1..200)), * visibleString VisibleString (SIZE (1..200)), * bmpString BMPString (SIZE (1..200)), * utf8String UTF8String (SIZE (1..200)) } * </pre> * * @param policy Política de la firma. * @return Estructura con la política preparada para insertarla en la firma. */ private static PolicyInformation[] getPolicyInformation(final AdESPolicy policy) { if (policy == null) { throw new IllegalArgumentException("La politica de firma no puede ser nula en este punto"); //$NON-NLS-1$ } /* * PolicyQualifierInfo ::= SEQUENCE { * policyQualifierId PolicyQualifierId, * qualifier ANY DEFINED BY policyQualifierId } */ final PolicyQualifierId pqid = PolicyQualifierId.id_qt_cps; DERIA5String uri = null; if (policy.getPolicyQualifier() != null && !policy.getPolicyQualifier().equals("")) { //$NON-NLS-1$ uri = new DERIA5String(policy.getPolicyQualifier().toString()); } final ASN1EncodableVector v = new ASN1EncodableVector(); PolicyQualifierInfo pqi = null; if (uri != null) { v.add(pqid); v.add(uri); pqi = new PolicyQualifierInfo(new DERSequence(v)); } /* * PolicyInformation ::= SEQUENCE { * policyIdentifier CertPolicyId, * policyQualifiers SEQUENCE SIZE (1..MAX) OF * PolicyQualifierInfo OPTIONAL } */ if (policy.getPolicyQualifier() == null || pqi == null) { return new PolicyInformation[] { new PolicyInformation( new ASN1ObjectIdentifier(policy.getPolicyIdentifier().toLowerCase().replace("urn:oid:", ""))) //$NON-NLS-1$ //$NON-NLS-2$ }; } return new PolicyInformation[] { new PolicyInformation( new ASN1ObjectIdentifier(policy.getPolicyIdentifier().toLowerCase().replace("urn:oid:", "")), //$NON-NLS-1$//$NON-NLS-2$ new DERSequence(pqi)) }; }
From source file:org.cesecore.certificates.certificate.certextensions.standard.CertificatePolicies.java
License:Open Source License
/** * Obtains the Policy Qualifier Information object * //from w w w . j av a2s . com * @param policy, * CertificatePolicy with oid, user notice and cps uri * @param displayencoding, * the encoding used for UserNotice text, DisplayText.CONTENT_TYPE_BMPSTRING, CONTENT_TYPE_UTF8STRING, CONTENT_TYPE_IA5STRING or CONTENT_TYPE_VISIBLESTRING * * @return PolicyQualifierInfo */ private PolicyQualifierInfo getPolicyQualifierInformation(final CertificatePolicy policy, final int displayencoding) { PolicyQualifierInfo pqi = null; final String qualifierId = policy.getQualifierId(); if ((qualifierId != null) && !StringUtils.isEmpty(qualifierId.trim())) { final String qualifier = policy.getQualifier(); if ((qualifier != null) && !StringUtils.isEmpty(qualifier.trim())) { if (qualifierId.equals(PolicyQualifierId.id_qt_cps.getId())) { pqi = new PolicyQualifierInfo(qualifier); } else if (qualifierId.equals(PolicyQualifierId.id_qt_unotice.getId())) { // Normally we would just use 'DisplayText(unotice)' here. IE has problems with UTF8 though, so lets stick with BMSSTRING to satisfy Bills sick needs. final UserNotice un = new UserNotice(null, new DisplayText(displayencoding, qualifier)); pqi = new PolicyQualifierInfo(PolicyQualifierId.id_qt_unotice, un); } } } return pqi; }
From source file:org.cryptacular.x509.ExtensionReaderTest.java
License:Open Source License
@DataProvider(name = "certificate-policies") public Object[][] getCertificatePolicies() { return new Object[][] { new Object[] { CertUtil.readCertificate(CRT_PATH + "serac-dev-test.crt"), new PolicyInformation[] { new PolicyInformation(new ASN1ObjectIdentifier("1.3.6.1.4.1.6760.5.2.2.2.1")), new PolicyInformation(new ASN1ObjectIdentifier("1.3.6.1.4.1.6760.5.2.2.1.1")), new PolicyInformation(new ASN1ObjectIdentifier("1.3.6.1.4.1.6760.5.2.2.4.1"), new DERSequence( new PolicyQualifierInfo("http://www.pki.vt.edu/vtuca/cps/index.html"))), new PolicyInformation(new ASN1ObjectIdentifier("1.3.6.1.4.1.6760.5.2.2.3.1")), }, }, }; }
From source file:org.xipki.ca.api.profile.x509.X509CertUtil.java
License:Open Source License
private static ASN1Sequence createPolicyQualifiers(final List<CertificatePolicyQualifier> qualifiers) { List<PolicyQualifierInfo> qualifierInfos = new ArrayList<>(qualifiers.size()); for (CertificatePolicyQualifier qualifier : qualifiers) { PolicyQualifierInfo qualifierInfo; if (qualifier.getCpsUri() != null) { qualifierInfo = new PolicyQualifierInfo(qualifier.getCpsUri()); } else if (qualifier.getUserNotice() != null) { UserNotice userNotice = new UserNotice(null, qualifier.getUserNotice()); qualifierInfo = new PolicyQualifierInfo(PKCSObjectIdentifiers.id_spq_ets_unotice, userNotice); } else {// w ww.ja v a 2s . c o m qualifierInfo = null; } if (qualifierInfo != null) { qualifierInfos.add(qualifierInfo); } //PolicyQualifierId qualifierId } return new DERSequence(qualifierInfos.toArray(new PolicyQualifierInfo[0])); }
From source file:org.xipki.pki.ca.certprofile.XmlX509CertprofileUtil.java
License:Open Source License
private static ASN1Sequence createPolicyQualifiers(final List<CertificatePolicyQualifier> qualifiers) { ParamUtil.requireNonNull("qualifiers", qualifiers); List<PolicyQualifierInfo> qualifierInfos = new ArrayList<>(qualifiers.size()); for (CertificatePolicyQualifier qualifier : qualifiers) { PolicyQualifierInfo qualifierInfo; if (qualifier.getCpsUri() != null) { qualifierInfo = new PolicyQualifierInfo(qualifier.getCpsUri()); } else if (qualifier.getUserNotice() != null) { UserNotice userNotice = new UserNotice(null, qualifier.getUserNotice()); qualifierInfo = new PolicyQualifierInfo(PKCSObjectIdentifiers.id_spq_ets_unotice, userNotice); } else {/*from w ww. ja va 2 s .c o m*/ qualifierInfo = null; } if (qualifierInfo != null) { qualifierInfos.add(qualifierInfo); } //PolicyQualifierId qualifierId } return new DERSequence(qualifierInfos.toArray(new PolicyQualifierInfo[0])); }