diff options
Diffstat (limited to 'core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java')
-rw-r--r-- | core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java b/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java new file mode 100644 index 00000000..bd3f782b --- /dev/null +++ b/core/src/main/java/org/spongycastle/asn1/isismtt/x509/Restriction.java @@ -0,0 +1,79 @@ +package org.spongycastle.asn1.isismtt.x509; + +import org.spongycastle.asn1.ASN1Object; +import org.spongycastle.asn1.ASN1Primitive; +import org.spongycastle.asn1.x500.DirectoryString; + +/** + * Some other restriction regarding the usage of this certificate. + * + * <pre> + * RestrictionSyntax ::= DirectoryString (SIZE(1..1024)) + * </pre> + */ +public class Restriction + extends ASN1Object +{ + private DirectoryString restriction; + + public static Restriction getInstance(Object obj) + { + if (obj instanceof Restriction) + { + return (Restriction)obj; + } + + if (obj != null) + { + return new Restriction(DirectoryString.getInstance(obj)); + } + + return null; + } + + /** + * Constructor from DirectoryString. + * <p/> + * The DirectoryString is of type RestrictionSyntax: + * <p/> + * <pre> + * RestrictionSyntax ::= DirectoryString (SIZE(1..1024)) + * </pre> + * + * @param restriction A DirectoryString. + */ + private Restriction(DirectoryString restriction) + { + this.restriction = restriction; + } + + /** + * Constructor from a given details. + * + * @param restriction The describtion of the restriction. + */ + public Restriction(String restriction) + { + this.restriction = new DirectoryString(restriction); + } + + public DirectoryString getRestriction() + { + return restriction; + } + + /** + * Produce an object suitable for an ASN1OutputStream. + * <p> + * Returns: + * <pre> + * RestrictionSyntax ::= DirectoryString (SIZE(1..1024)) + * </pre> + * + * @return a DERObject + */ + public ASN1Primitive toASN1Primitive() + { + return restriction.toASN1Primitive(); + } +} |