Example usage for org.bouncycastle.asn1.esf SignaturePolicyId SignaturePolicyId

List of usage examples for org.bouncycastle.asn1.esf SignaturePolicyId SignaturePolicyId

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.esf SignaturePolicyId SignaturePolicyId.

Prototype

public SignaturePolicyId(ASN1ObjectIdentifier sigPolicyId, OtherHashAlgAndValue sigPolicyHash,
            SigPolicyQualifiers sigPolicyQualifiers) 

Source Link

Usage

From source file:com.itextpdf.signatures.SignaturePolicyInfo.java

License:Open Source License

SignaturePolicyIdentifier toSignaturePolicyIdentifier() {
    String algId = DigestAlgorithms.getAllowedDigest(this.policyDigestAlgorithm);

    if (algId == null || algId.length() == 0) {
        throw new IllegalArgumentException("Invalid policy hash algorithm");
    }/* w ww .  ja v a  2 s  . com*/

    SignaturePolicyIdentifier signaturePolicyIdentifier = null;
    SigPolicyQualifierInfo spqi = null;

    if (this.policyUri != null && this.policyUri.length() > 0) {
        spqi = new SigPolicyQualifierInfo(PKCSObjectIdentifiers.id_spq_ets_uri,
                new DERIA5String(this.policyUri));
    }

    signaturePolicyIdentifier = new SignaturePolicyIdentifier(new SignaturePolicyId(
            DERObjectIdentifier
                    .getInstance(new DERObjectIdentifier(this.policyIdentifier.replace("urn:oid:", ""))),
            new OtherHashAlgAndValue(new AlgorithmIdentifier(algId), new DEROctetString(this.policyHash)),
            SignUtils.createSigPolicyQualifiers(spqi)));

    return signaturePolicyIdentifier;
}

From source file:eu.europa.esig.dss.cades.signature.CAdESLevelBaselineB.java

License:Open Source License

private void addSignaturePolicyId(final CAdESSignatureParameters parameters,
        final ASN1EncodableVector signedAttributes) {

    Policy policy = parameters.bLevel().getSignaturePolicy();
    if (policy != null) {

        final String policyId = policy.getId();
        SignaturePolicyIdentifier sigPolicy = null;

        if (StringUtils.isEmpty(policyId)) {// implicit
            sigPolicy = new SignaturePolicyIdentifier();
        } else { // explicit
            final ASN1ObjectIdentifier derOIPolicyId = new ASN1ObjectIdentifier(policyId);
            final ASN1ObjectIdentifier oid = new ASN1ObjectIdentifier(policy.getDigestAlgorithm().getOid());
            final AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier(oid);
            OtherHashAlgAndValue otherHashAlgAndValue = new OtherHashAlgAndValue(algorithmIdentifier,
                    new DEROctetString(policy.getDigestValue()));

            if (StringUtils.isNotEmpty(policy.getSpuri())) {
                SigPolicyQualifierInfo policyQualifierInfo = new SigPolicyQualifierInfo(
                        PKCSObjectIdentifiers.id_spq_ets_uri, new DERUTF8String(policy.getSpuri()));
                SigPolicyQualifierInfo[] qualifierInfos = new SigPolicyQualifierInfo[] { policyQualifierInfo };
                SigPolicyQualifiers qualifiers = new SigPolicyQualifiers(qualifierInfos);

                sigPolicy = new SignaturePolicyIdentifier(
                        new SignaturePolicyId(derOIPolicyId, otherHashAlgAndValue, qualifiers));
            } else {
                sigPolicy = new SignaturePolicyIdentifier(
                        new SignaturePolicyId(derOIPolicyId, otherHashAlgAndValue));
            }//from  ww  w .  j a v  a 2  s. c om
        }

        final DERSet attrValues = new DERSet(sigPolicy);
        final Attribute attribute = new Attribute(id_aa_ets_sigPolicyId, attrValues);
        signedAttributes.add(attribute);
    }
}

From source file:org.demoiselle.signer.policy.impl.cades.pkcs7.attribute.impl.IdSigningPolicy.java

License:Open Source License

/**
 * org.bouncycastle.asn1.ASN1ObjectIdentifier sigPolicyId
 * org.bouncycastle.asn1.esf.OtherHashAlgAndValue sigPolicyHash
 * List<org.bouncycastle.asn1.esf.SigPolicyQualifierInfo> sigPolicyQualifierInfos
 *//*from   w  ww  . j ava2 s . c  o  m*/
@Override
public Attribute getValue() {

    //Atributo 1
    ASN1ObjectIdentifier sigPolicyId = new ASN1ObjectIdentifier(
            signaturePolicy.getSignPolicyInfo().getSignPolicyIdentifier().getValue());

    //Atributo 2
    OtherHashAlgAndValue sigPolicyHash = new OtherHashAlgAndValue(
            new AlgorithmIdentifier(
                    new ASN1ObjectIdentifier(signaturePolicy.getSignPolicyHashAlg().getAlgorithm().getValue())),
            signaturePolicy.getSignPolicyHash().getDerOctetString());

    //Atributo 3
    List<SigPolicyQualifierInfo> sigPolicyQualifierInfos = new ArrayList<SigPolicyQualifierInfo>();

    ASN1ObjectIdentifier sigPolicyQualifierId = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.5.1");
    DERIA5String sigQualifier = new DERIA5String(signaturePolicy.getSignPolicyURI());
    SigPolicyQualifierInfo bcSigPolicyQualifierInfo = new SigPolicyQualifierInfo(sigPolicyQualifierId,
            sigQualifier);
    sigPolicyQualifierInfos.add(bcSigPolicyQualifierInfo);

    SigPolicyQualifiers sigPolicyQualifiers = new SigPolicyQualifiers(
            sigPolicyQualifierInfos.toArray(new SigPolicyQualifierInfo[] {}));

    SignaturePolicyId signaturePolicyId = new SignaturePolicyId(sigPolicyId, sigPolicyHash,
            sigPolicyQualifiers);
    return new Attribute(new ASN1ObjectIdentifier(oid), new DERSet(signaturePolicyId));

}