Example usage for org.bouncycastle.asn1.x509 PolicyInformation PolicyInformation

List of usage examples for org.bouncycastle.asn1.x509 PolicyInformation PolicyInformation

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.x509 PolicyInformation PolicyInformation.

Prototype

public PolicyInformation(ASN1ObjectIdentifier policyIdentifier, ASN1Sequence policyQualifiers) 

Source Link

Usage

From source file:com.otterca.common.crypto.SimplePolicyGeneratorImpl.java

License:Apache License

/**
 * Get CPS policy information./*from   w w  w  . jav  a  2 s . c  om*/
 * 
 * @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:com.otterca.common.crypto.SimplePolicyGeneratorImpl.java

License:Apache License

/**
 * Get user notification policy information.
 * // w  w  w  . j av  a  2  s.  co m
 * @return
 */
public PolicyInformation getUserNoticePolicyInformation() {
    PolicyInformation unotice = null;
    if ((organization != null) && (userNotice != null)) {
        ASN1EncodableVector noticeNumbers = new ASN1EncodableVector();
        if (noticeNumber != null) {
            noticeNumbers.add(new DERInteger(noticeNumber.intValue()));
        }
        NoticeReference noticeReference = new NoticeReference(organization, noticeNumbers);
        unotice = new PolicyInformation(id_qt_unotice,
                new DERSequence(new UserNotice(noticeReference, new DisplayText(userNotice))));
    }
    return unotice;
}

From source file:net.sf.keystore_explorer.gui.crypto.policyinformation.DPolicyInformationChooser.java

License:Open Source License

private void okPressed() {
    ASN1ObjectIdentifier policyIdentifer = joiPolicyIdentifier.getObjectId();

    if (policyIdentifer == null) {
        JOptionPane.showMessageDialog(this,
                res.getString("DPolicyInformationChooser.PolicyIdentifierValueReq.message"), getTitle(),
                JOptionPane.WARNING_MESSAGE);
        return;//  w  w w.j  a v a 2 s  .c o m
    }

    List<PolicyQualifierInfo> policyQualifierInfo = jpqPolicyQualifiers.getPolicyQualifierInfo();

    if (policyQualifierInfo.size() > 0) {
        ASN1EncodableVector policyQualifiersVec = new ASN1EncodableVector();

        for (PolicyQualifierInfo policyQualInfo : policyQualifierInfo) {
            try {
                policyQualifiersVec.add(policyQualInfo);
            } catch (Exception ex) {
                DError dError = new DError(this, ex);
                dError.setLocationRelativeTo(this);
                dError.setVisible(true);
                return;
            }
        }

        DERSequence policyQualifiersSeq = new DERSequence(policyQualifiersVec);
        policyInformation = new PolicyInformation(policyIdentifer, policyQualifiersSeq);
    } else {

        policyInformation = new PolicyInformation(policyIdentifer);
    }

    closeDialog();
}

From source file:org.cesecore.certificates.certificate.certextensions.standard.CertificatePolicies.java

License:Open Source License

@Override
public ASN1Encodable getValue(final EndEntityInformation subject, final CA ca,
        final CertificateProfile certProfile, final PublicKey userPublicKey, final PublicKey caPublicKey,
        CertificateValidity val) throws CertificateExtensionException {
    DERSequence ret = null;/*  ww w.j av  a  2  s .  c  o m*/
    // The UserNotice policy qualifier can have two different character encodings,
    // the correct one (UTF8) or the wrong one (BMP) used by IE < 7.
    final X509CA x509ca = (X509CA) ca;
    int displayencoding = DisplayText.CONTENT_TYPE_BMPSTRING;
    if (x509ca.getUseUTF8PolicyText()) {
        displayencoding = DisplayText.CONTENT_TYPE_UTF8STRING;
    }
    // Iterate through policies and add oids and policy qualifiers if they exist
    final List<CertificatePolicy> policies = certProfile.getCertificatePolicies();
    final Map<ASN1ObjectIdentifier, ASN1EncodableVector> policiesMap = new HashMap<ASN1ObjectIdentifier, ASN1EncodableVector>();
    // Each Policy OID can be entered several times, with different qualifiers, 
    // because of this we make a map of oid and qualifiers, and we can add a new qualifier
    // in each round of this for loop
    for (final Iterator<CertificatePolicy> it = policies.iterator(); it.hasNext();) {
        final CertificatePolicy policy = it.next();
        final ASN1ObjectIdentifier oid = new ASN1ObjectIdentifier(policy.getPolicyID());
        final ASN1EncodableVector qualifiers;
        if (policiesMap.containsKey(oid)) {
            qualifiers = policiesMap.get(oid);
        } else {
            qualifiers = new ASN1EncodableVector();
        }
        final PolicyQualifierInfo pqi = getPolicyQualifierInformation(policy, displayencoding);
        if (pqi != null) {
            qualifiers.add(pqi);
        }
        policiesMap.put(oid, qualifiers);
    }
    final ASN1EncodableVector seq = new ASN1EncodableVector();
    for (final Iterator<ASN1ObjectIdentifier> it = policiesMap.keySet().iterator(); it.hasNext();) {
        final ASN1ObjectIdentifier oid = it.next();
        final ASN1EncodableVector qualifiers = policiesMap.get(oid);
        if (qualifiers.size() == 0) {
            seq.add(new PolicyInformation(oid, null));
        } else {
            seq.add(new PolicyInformation(oid, new DERSequence(qualifiers)));
        }
    }
    if (seq.size() > 0) {
        ret = new DERSequence(seq);
    }
    if (ret == null) {
        log.error("Certificate policies missconfigured, no policies present!");
    }
    return ret;
}

From source file:org.ejbca.core.model.ca.certextensions.standard.CertificatePolicies.java

License:Open Source License

@Override
public DEREncodable getValue(final UserDataVO subject, final CA ca, final CertificateProfile certProfile,
        final PublicKey userPublicKey, final PublicKey caPublicKey)
        throws CertificateExtentionConfigurationException, CertificateExtensionException {
    DERSequence ret = null;/*  www. ja  va 2  s .com*/
    // The UserNotice policy qualifier can have two different character encodings,
    // the correct one (UTF8) or the wrong one (BMP) used by IE < 7.
    final X509CA x509ca = (X509CA) ca;
    int displayencoding = DisplayText.CONTENT_TYPE_BMPSTRING;
    if (x509ca.getUseUTF8PolicyText()) {
        displayencoding = DisplayText.CONTENT_TYPE_UTF8STRING;
    }
    // Iterate through policies and add oids and policy qualifiers if they exist
    final List policies = certProfile.getCertificatePolicies();
    final Map policiesMap = new HashMap(); //<DERObjectIdentifier, ASN1EncodableVector>
    // Each Policy OID can be entered several times, with different qualifiers, 
    // because of this we make a map of oid and qualifiers, and we can add a new qualifier
    // in each round of this for loop
    for (final Iterator it = policies.iterator(); it.hasNext();) {
        final CertificatePolicy policy = (CertificatePolicy) it.next();
        final DERObjectIdentifier oid = new DERObjectIdentifier(policy.getPolicyID());
        final ASN1EncodableVector qualifiers;
        if (policiesMap.containsKey(oid)) {
            qualifiers = (ASN1EncodableVector) policiesMap.get(oid);
        } else {
            qualifiers = new ASN1EncodableVector();
        }
        final PolicyQualifierInfo pqi = getPolicyQualifierInformation(policy, displayencoding);
        if (pqi != null) {
            qualifiers.add(pqi);
        }
        policiesMap.put(oid, qualifiers);
    }
    final ASN1EncodableVector seq = new ASN1EncodableVector();
    for (final Iterator it = policiesMap.keySet().iterator(); it.hasNext();) {
        final DERObjectIdentifier oid = (DERObjectIdentifier) it.next();
        final ASN1EncodableVector qualifiers = (ASN1EncodableVector) policiesMap.get(oid);
        if (qualifiers.size() == 0) {
            seq.add(new PolicyInformation(oid, null));
        } else {
            seq.add(new PolicyInformation(oid, new DERSequence(qualifiers)));
        }
    }
    if (seq.size() > 0) {
        ret = new DERSequence(seq);
    }
    if (ret == null) {
        log.error("Certificate policies missconfigured, no policies present!");
    }
    return ret;
}

From source file:se.tillvaxtverket.tsltrust.webservice.daemon.ca.CertificationAuthority.java

License:Open Source License

private CertificatePolicies getDefCertificatePolicies() {
    PolicyQualifierInfo policyQualifierInfo = CertUtils
            .getUserNotice("This certificate may be used for demonstration purposes only.");
    ASN1EncodableVector pqSeq = new ASN1EncodableVector();
    pqSeq.add(policyQualifierInfo);/*from   www  .  ja v a  2  s . c om*/
    PolicyInformation policyInformation = new PolicyInformation(
            new ASN1ObjectIdentifier("1.3.6.1.4.1.2706.2.2.1.1.1.1.1"), new DERSequence(pqSeq));
    CertificatePolicies certificatePolicies = new CertificatePolicies(
            new PolicyInformation[] { policyInformation });
    return certificatePolicies;
}

From source file:se.tillvaxtverket.tsltrust.webservice.daemon.ca.CertificationAuthority.java

License:Open Source License

private CertificatePolicies getAnyCertificatePolicies() {
    PolicyInformation policyInformation = new PolicyInformation(
            new ASN1ObjectIdentifier(OidName.cp_anyPolicy.getOid()), null);
    CertificatePolicies certificatePolicies = new CertificatePolicies(
            new PolicyInformation[] { policyInformation });
    return certificatePolicies;
}

From source file:se.tillvaxtverket.tsltrust.webservice.daemon.ca.RootCAFactory.java

License:Open Source License

private static CertificatePolicies getAnyCertificatePolicies() {
    PolicyInformation policyInformation = new PolicyInformation(
            new ASN1ObjectIdentifier(OidName.cp_anyPolicy.getOid()), null);
    CertificatePolicies certificatePolicies = new CertificatePolicies(
            new PolicyInformation[] { policyInformation });
    return certificatePolicies;
}