1b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampackage org.bouncycastle.asn1.pkcs; 2b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 3b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport java.math.BigInteger; 4b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 5b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.ASN1EncodableVector; 64c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Integer; 74c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Object; 84c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Primitive; 9b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.ASN1Sequence; 10b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.DERSequence; 114c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.x500.X500Name; 12b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.x509.X509Name; 13b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 14b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampublic class IssuerAndSerialNumber 154c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom extends ASN1Object 16b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam{ 174c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom X500Name name; 184c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ASN1Integer certSerialNumber; 19b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 20b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public static IssuerAndSerialNumber getInstance( 21b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam Object obj) 22b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 23b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam if (obj instanceof IssuerAndSerialNumber) 24b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 25b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam return (IssuerAndSerialNumber)obj; 26b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 2770c8287138e69a98c2f950036f9f703ee37228c8Brian Carlstrom else if (obj != null) 28b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 2970c8287138e69a98c2f950036f9f703ee37228c8Brian Carlstrom return new IssuerAndSerialNumber(ASN1Sequence.getInstance(obj)); 30b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 31b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 3270c8287138e69a98c2f950036f9f703ee37228c8Brian Carlstrom return null; 33b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 34b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 3570c8287138e69a98c2f950036f9f703ee37228c8Brian Carlstrom private IssuerAndSerialNumber( 36b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam ASN1Sequence seq) 37b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 384c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.name = X500Name.getInstance(seq.getObjectAt(0)); 394c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.certSerialNumber = (ASN1Integer)seq.getObjectAt(1); 40b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 41b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 42b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public IssuerAndSerialNumber( 43b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam X509Name name, 44b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam BigInteger certSerialNumber) 45b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 464c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.name = X500Name.getInstance(name.toASN1Primitive()); 474c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.certSerialNumber = new ASN1Integer(certSerialNumber); 48b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 49b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 50b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public IssuerAndSerialNumber( 51b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam X509Name name, 524c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ASN1Integer certSerialNumber) 53b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 544c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.name = X500Name.getInstance(name.toASN1Primitive()); 55b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam this.certSerialNumber = certSerialNumber; 56b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 57b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 584c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public IssuerAndSerialNumber( 594c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom X500Name name, 604c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom BigInteger certSerialNumber) 614c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 624c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.name = name; 634c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.certSerialNumber = new ASN1Integer(certSerialNumber); 644c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 654c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 664c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public X500Name getName() 67b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 68b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam return name; 69b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 70b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 714c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ASN1Integer getCertificateSerialNumber() 72b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 73b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam return certSerialNumber; 74b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 75b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 764c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ASN1Primitive toASN1Primitive() 77b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 78b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam ASN1EncodableVector v = new ASN1EncodableVector(); 79b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 80b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam v.add(name); 81b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam v.add(certSerialNumber); 82b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 83b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam return new DERSequence(v); 84b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 85b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam} 86