org.bouncycastle.asn1.x509.PolicyMappings Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.saml.opensaml.integration Show documentation
Show all versions of com.liferay.saml.opensaml.integration Show documentation
Liferay SAML OpenSAML Integration
package org.bouncycastle.asn1.x509;
import java.util.Enumeration;
import java.util.Hashtable;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
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 ASN1Object
{
ASN1Sequence seq = null;
public static PolicyMappings getInstance(Object obj)
{
if (obj instanceof PolicyMappings)
{
return (PolicyMappings)obj;
}
if (obj != null)
{
return new PolicyMappings(ASN1Sequence.getInstance(obj));
}
return null;
}
/**
* Creates a new PolicyMappings
instance.
*
* @param seq an ASN1Sequence
constructed as specified
* in RFC 3280
*/
private PolicyMappings(ASN1Sequence seq)
{
this.seq = seq;
}
/**
* Creates a new PolicyMappings
instance.
*
* @param mappings a HashMap
value that maps
* String
oids
* to other String
oids.
* @deprecated use CertPolicyId constructors.
*/
public PolicyMappings(Hashtable mappings)
{
ASN1EncodableVector dev = new ASN1EncodableVector(mappings.size());
Enumeration it = mappings.keys();
while (it.hasMoreElements())
{
String idp = (String)it.nextElement();
String sdp = (String)mappings.get(idp);
ASN1EncodableVector dv = new ASN1EncodableVector(2);
dv.add(new ASN1ObjectIdentifier(idp));
dv.add(new ASN1ObjectIdentifier(sdp));
dev.add(new DERSequence(dv));
}
seq = new DERSequence(dev);
}
public PolicyMappings(CertPolicyId issuerDomainPolicy, CertPolicyId subjectDomainPolicy)
{
ASN1EncodableVector dv = new ASN1EncodableVector(2);
dv.add(issuerDomainPolicy);
dv.add(subjectDomainPolicy);
seq = new DERSequence(new DERSequence(dv));
}
public PolicyMappings(CertPolicyId[] issuerDomainPolicy, CertPolicyId[] subjectDomainPolicy)
{
ASN1EncodableVector dev = new ASN1EncodableVector(issuerDomainPolicy.length);
for (int i = 0; i != issuerDomainPolicy.length; i++)
{
ASN1EncodableVector dv = new ASN1EncodableVector(2);
dv.add(issuerDomainPolicy[i]);
dv.add(subjectDomainPolicy[i]);
dev.add(new DERSequence(dv));
}
seq = new DERSequence(dev);
}
public ASN1Primitive toASN1Primitive()
{
return seq;
}
}