![JAR search and dependency download from the Maven repository](/logo.png)
nl.open.jwtdependency.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 java-jwt-nodependencies Show documentation
Show all versions of java-jwt-nodependencies Show documentation
This is a drop in replacement for the auth0 java-jwt library (see https://github.com/auth0/java-jwt). This jar makes sure there are no external dependencies (e.g. fasterXml, Apacha Commons) needed. This is useful when deploying to an application server (e.g. tomcat with Alfreso or Pega).
The newest version!
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();
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 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();
dv.add(issuerDomainPolicy);
dv.add(subjectDomainPolicy);
seq = new DERSequence(new DERSequence(dv));
}
public PolicyMappings(CertPolicyId[] issuerDomainPolicy, CertPolicyId[] subjectDomainPolicy)
{
ASN1EncodableVector dev = new ASN1EncodableVector();
for (int i = 0; i != issuerDomainPolicy.length; i++)
{
ASN1EncodableVector dv = new ASN1EncodableVector();
dv.add(issuerDomainPolicy[i]);
dv.add(subjectDomainPolicy[i]);
dev.add(new DERSequence(dv));
}
seq = new DERSequence(dev);
}
public ASN1Primitive toASN1Primitive()
{
return seq;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy