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

org.bouncycastle.asn1.cms.IssuerAndSerialNumber Maven / Gradle / Ivy

Go to download

The Bouncy Castle Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls. This jar contains APIs for JDK 1.4.

There is a newer version: 1.78.1
Show newest version
package org.bouncycastle.asn1.cms;

import java.math.BigInteger;

import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Integer;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.DERSequence;
import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.asn1.x509.Certificate;
import org.bouncycastle.asn1.x509.X509CertificateStructure;
import org.bouncycastle.asn1.x509.X509Name;

/**
 * RFC 5652: IssuerAndSerialNumber object.
 * 

* * IssuerAndSerialNumber ::= SEQUENCE { * issuer Name, * serialNumber CertificateSerialNumber * } * * CertificateSerialNumber ::= INTEGER -- See RFC 5280 *

*/ public class IssuerAndSerialNumber extends ASN1Object { private X500Name name; private ASN1Integer serialNumber; /** * Return an IssuerAndSerialNumber object from the given object. *

* Accepted inputs: * * null → null * {@link IssuerAndSerialNumber} object * {@link org.bouncycastle.asn1.ASN1Sequence#getInstance(java.lang.Object) ASN1Sequence} input formats with IssuerAndSerialNumber structure inside * * * @param obj the object we want converted. * @exception IllegalArgumentException if the object cannot be converted. */ public static IssuerAndSerialNumber getInstance( Object obj) { if (obj instanceof IssuerAndSerialNumber) { return (IssuerAndSerialNumber)obj; } else if (obj != null) { return new IssuerAndSerialNumber(ASN1Sequence.getInstance(obj)); } return null; } /** * @deprecated use getInstance() method. */ public IssuerAndSerialNumber( ASN1Sequence seq) { this.name = X500Name.getInstance(seq.getObjectAt(0)); this.serialNumber = (ASN1Integer)seq.getObjectAt(1); } public IssuerAndSerialNumber( Certificate certificate) { this.name = certificate.getIssuer(); this.serialNumber = certificate.getSerialNumber(); } /** * @deprecated use constructor taking Certificate */ public IssuerAndSerialNumber( X509CertificateStructure certificate) { this.name = certificate.getIssuer(); this.serialNumber = certificate.getSerialNumber(); } public IssuerAndSerialNumber( X500Name name, BigInteger serialNumber) { this.name = name; this.serialNumber = new ASN1Integer(serialNumber); } /** * @deprecated use X500Name constructor */ public IssuerAndSerialNumber( X509Name name, BigInteger serialNumber) { this.name = X500Name.getInstance(name); this.serialNumber = new ASN1Integer(serialNumber); } /** * @deprecated use X500Name constructor */ public IssuerAndSerialNumber( X509Name name, ASN1Integer serialNumber) { this.name = X500Name.getInstance(name); this.serialNumber = serialNumber; } public X500Name getName() { return name; } public ASN1Integer getSerialNumber() { return serialNumber; } public ASN1Primitive toASN1Primitive() { ASN1EncodableVector v = new ASN1EncodableVector(2); v.add(name); v.add(serialNumber); return new DERSequence(v); } }



© 2015 - 2024 Weber Informatics LLC | Privacy Policy