OriginatorIdentifierOrKey.java
资源名称:security.rar [点击查看]
上传用户:lior1029
上传日期:2013-05-07
资源大小:209k
文件大小:3k
源码类别:
CA认证
开发平台:
Java
- package org.bouncycastle.asn1.cms;
- import org.bouncycastle.asn1.ASN1OctetString;
- import org.bouncycastle.asn1.ASN1Sequence;
- import org.bouncycastle.asn1.ASN1TaggedObject;
- import org.bouncycastle.asn1.DERTaggedObject;
- import org.bouncycastle.asn1.DEREncodable;
- import org.bouncycastle.asn1.DERObject;
- public class OriginatorIdentifierOrKey
- implements DEREncodable
- {
- private DEREncodable id;
- public OriginatorIdentifierOrKey(
- IssuerAndSerialNumber id)
- {
- this.id = id;
- }
- public OriginatorIdentifierOrKey(
- ASN1OctetString id)
- {
- this.id = new DERTaggedObject(false, 0, id);
- }
- public OriginatorIdentifierOrKey(
- OriginatorPublicKey id)
- {
- this.id = new DERTaggedObject(true, 1, id);
- }
- public OriginatorIdentifierOrKey(
- DERObject id)
- {
- this.id = id;
- }
- /**
- * return an OriginatorIdentifierOrKey object from a tagged object.
- *
- * @param o the tagged object holding the object we want.
- * @param explicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception IllegalArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static OriginatorIdentifierOrKey getInstance(
- ASN1TaggedObject o,
- boolean explicit)
- {
- if (!explicit)
- {
- throw new IllegalArgumentException(
- "Can't implicitly tag OriginatorIdentifierOrKey");
- }
- return getInstance(o.getObject());
- }
- /**
- * return an OriginatorIdentifierOrKey object from the given object.
- *
- * @param o the object we want converted.
- * @exception IllegalArgumentException if the object cannot be converted.
- */
- public static OriginatorIdentifierOrKey getInstance(
- Object o)
- {
- if (o == null || o instanceof OriginatorIdentifierOrKey)
- {
- return (OriginatorIdentifierOrKey)o;
- }
- if (o instanceof DERObject)
- {
- return new OriginatorIdentifierOrKey((DERObject)o);
- }
- throw new IllegalArgumentException("Invalid OriginatorIdentifierOrKey: " + o.getClass().getName());
- }
- public DEREncodable getId()
- {
- return id;
- }
- /**
- * <pre>
- * OriginatorIdentifierOrKey ::= CHOICE {
- * issuerAndSerialNumber IssuerAndSerialNumber,
- * subjectKeyIdentifier [0] SubjectKeyIdentifier,
- * originatorKey [1] OriginatorPublicKey
- * }
- *
- * SubjectKeyIdentifier ::= OCTET STRING
- * </pre>
- */
- public DERObject getDERObject()
- {
- return id.getDERObject();
- }
- }