All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.asn1.x509.PolicyMappings Maven / Gradle / Ivy

package org.bouncycastle.asn1.x509;

import java.util.Hashtable;
import java.util.Enumeration;

import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.DERObject;
import org.bouncycastle.asn1.DERObjectIdentifier;
import org.bouncycastle.asn1.DERSequence;

/**
 * PolicyMappings V3 extension, described in RFC3280.
 * 
 *    PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
 *      issuerDomainPolicy      CertPolicyId,
 *      subjectDomainPolicy     CertPolicyId }
 * 
* * @see RFC 3280, section 4.2.1.6 */ public class PolicyMappings extends ASN1Encodable { ASN1Sequence seq = null; /** * Creates a new PolicyMappings instance. * * @param seq an ASN1Sequence constructed as specified * in RFC 3280 */ public PolicyMappings (ASN1Sequence seq) { this.seq = seq; } /** * Creates a new PolicyMappings instance. * * @param mappings a HashMap value that maps * String oids * to other String oids. */ public PolicyMappings (Hashtable mappings) { ASN1EncodableVector dev = new ASN1EncodableVector(); Enumeration it = mappings.keys(); while (it.hasMoreElements()) { String idp = (String) it.nextElement(); String sdp = (String) mappings.get(idp); ASN1EncodableVector dv = new ASN1EncodableVector(); dv.add(new DERObjectIdentifier(idp)); dv.add(new DERObjectIdentifier(sdp)); dev.add(new DERSequence(dv)); } seq = new DERSequence(dev); } public DERObject toASN1Object() { return seq; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy