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

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

Introduction

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

Prototype

public PolicyQualifierInfo(ASN1ObjectIdentifier policyQualifierId, ASN1Encodable qualifier) 

Source Link

Document

Creates a new PolicyQualifierInfo instance.

Usage

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

License:Apache License

/**
 * Test behavior when CPS is set./*from  w  ww  .j ava 2 s  .  com*/
 * 
 * @throws IOException
 */
@Test
@edu.umd.cs.findbugs.annotations.SuppressWarnings("NP_NONNULL_PARAM_VIOLATION")
public void testCpsPolicy() throws IOException {
    SimplePolicyGeneratorImpl generator = new SimplePolicyGeneratorImpl(CPS_URI, null, null, null);

    // get policy extensions
    byte[] policyBytes = generator.getExtension(SUBJECT, ISSUER);
    assertNotNull(policyBytes);

    X509Extensions exts = X509Extensions.getInstance(DLSequence.fromByteArray(policyBytes));
    ASN1Encodable asn1 = exts.getExtension(X509Extensions.CertificatePolicies).getParsedValue();
    CertificatePolicies policies = CertificatePolicies.getInstance(asn1);
    assertNotNull(policies, "unable to find CertificatePolicies extension");

    for (PolicyInformation info : policies.getPolicyInformation()) {
        if (id_qt_cps.equals(info.getPolicyIdentifier())) {
            DLSequence dls = (DLSequence) info.getPolicyQualifiers();
            for (int i = 0; i < dls.size(); i++) {
                DLSequence dls1 = (DLSequence) dls.getObjectAt(i);
                PolicyQualifierInfo pqInfo = new PolicyQualifierInfo((ASN1ObjectIdentifier) dls1.getObjectAt(0),
                        dls1.getObjectAt(1));
                // DLSequence dls1 = (DLSequence) dls.getObjectAt(i);
                if (id_qt_cps.equals(pqInfo.getPolicyQualifierId())) {
                    assertEquals(pqInfo.getQualifier().toString(), CPS_URI);
                } else {
                    fail("unknown policy qualifier id: " + pqInfo.getPolicyQualifierId());
                }
            }
        } else {
            fail("unknown policy identifier: " + info.getPolicyIdentifier());
        }
    }
}

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

License:Open Source License

private void okPressed() {

    PolicyQualifierInfo newPolicyQualifierInfo = null;
    try {/* w ww.  ja  v a2s  .c  o m*/

        if (jrbCps.isSelected()) {
            String cps = jtfCps.getText().trim();

            if (cps.length() == 0) {
                JOptionPane.showMessageDialog(this,
                        res.getString("DPolicyQualifierInfoChooser.CpsValueReq.message"), getTitle(),
                        JOptionPane.WARNING_MESSAGE);
                return;
            }

            newPolicyQualifierInfo = new PolicyQualifierInfo(
                    new ASN1ObjectIdentifier(PKIX_CPS_POINTER_QUALIFIER.oid()),
                    (new DERIA5String(cps)).toASN1Primitive());
        } else {
            UserNotice userNotice = junUserNotice.getUserNotice();

            if (userNotice == null) {
                JOptionPane.showMessageDialog(this,
                        res.getString("DPolicyQualifierInfoChooser.UserNoticeValueReq.message"), getTitle(),
                        JOptionPane.WARNING_MESSAGE);
                return;
            }

            newPolicyQualifierInfo = new PolicyQualifierInfo(
                    new ASN1ObjectIdentifier(PKIX_USER_NOTICE_QUALIFIER.oid()), userNotice);
        }
    } catch (Exception ex) {
        DError dError = new DError(this, ex);
        dError.setLocationRelativeTo(this);
        dError.setVisible(true);
        return;
    }

    policyQualifierInfo = newPolicyQualifierInfo;

    closeDialog();
}