x509certificatestructure.java
来自「《移动Agent技术》一书的所有章节源代码。」· Java 代码 · 共 111 行
JAVA
111 行
package org.bouncycastle.asn1.x509;import org.bouncycastle.asn1.*;import org.bouncycastle.asn1.pkcs.*;/** * an X509Certificate structure. * <pre> * Certificate ::= SEQUENCE { * tbsCertificate TBSCertificate, * signatureAlgorithm AlgorithmIdentifier, * signature BIT STRING * } * </pre> */public class X509CertificateStructure implements DEREncodable, X509ObjectIdentifiers, PKCSObjectIdentifiers{ DERConstructedSequence seq; TBSCertificateStructure tbsCert; AlgorithmIdentifier sigAlgId; DERBitString sig; public X509CertificateStructure( DERConstructedSequence seq) { this.seq = seq; // // correct x509 certficate // if (seq.getSize() == 3) { if (seq.getObjectAt(0) instanceof TBSCertificateStructure) { tbsCert = (TBSCertificateStructure)seq.getObjectAt(0); } else { tbsCert = new TBSCertificateStructure((DERConstructedSequence)seq.getObjectAt(0)); } if (seq.getObjectAt(1) instanceof AlgorithmIdentifier) { sigAlgId = (AlgorithmIdentifier)seq.getObjectAt(1); } else { sigAlgId = new AlgorithmIdentifier((DERConstructedSequence)seq.getObjectAt(1)); } sig = (DERBitString)seq.getObjectAt(2); } } public TBSCertificateStructure getTBSCertificate() { return tbsCert; } public int getVersion() { return tbsCert.getVersion(); } public DERInteger getSerialNumber() { return tbsCert.getSerialNumber(); } public X509Name getIssuer() { return tbsCert.getIssuer(); } public DERUTCTime getStartDate() { return tbsCert.getStartDate(); } public DERUTCTime getEndDate() { return tbsCert.getEndDate(); } public X509Name getSubject() { return tbsCert.getSubject(); } public SubjectPublicKeyInfo getSubjectPublicKeyInfo() { return tbsCert.getSubjectPublicKeyInfo(); } public AlgorithmIdentifier getSignatureAlgorithm() { return sigAlgId; } public DERBitString getSignature() { return sig; } public DERObject getDERObject() { return seq; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?