📄 keyrecrepcontent.java
字号:
package org.bouncycastle.asn1.cmp;import org.bouncycastle.asn1.ASN1Encodable;import org.bouncycastle.asn1.ASN1EncodableVector;import org.bouncycastle.asn1.ASN1Sequence;import org.bouncycastle.asn1.ASN1TaggedObject;import org.bouncycastle.asn1.DERObject;import org.bouncycastle.asn1.DERSequence;import org.bouncycastle.asn1.DERTaggedObject;import java.util.Enumeration;public class KeyRecRepContent extends ASN1Encodable{ private PKIStatusInfo status; private CMPCertificate newSigCert; private ASN1Sequence caCerts; private ASN1Sequence keyPairHist; private KeyRecRepContent(ASN1Sequence seq) { Enumeration en = seq.getObjects(); status = PKIStatusInfo.getInstance(en.nextElement()); while (en.hasMoreElements()) { ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(en.nextElement()); switch (tObj.getTagNo()) { case 0: newSigCert = CMPCertificate.getInstance(tObj.getObject()); break; case 1: caCerts = ASN1Sequence.getInstance(tObj.getObject()); break; case 2: keyPairHist = ASN1Sequence.getInstance(tObj.getObject()); break; default: throw new IllegalArgumentException("unknown tag number: " + tObj.getTagNo()); } } } public static KeyRecRepContent getInstance(Object o) { if (o instanceof KeyRecRepContent) { return (KeyRecRepContent)o; } if (o instanceof ASN1Sequence) { return new KeyRecRepContent((ASN1Sequence)o); } throw new IllegalArgumentException("Invalid object: " + o.getClass().getName()); } public PKIStatusInfo getStatus() { return status; } public CMPCertificate getNewSigCert() { return newSigCert; } public CMPCertificate[] getCaCerts() { if (caCerts == null) { return null; } CMPCertificate[] results = new CMPCertificate[caCerts.size()]; for (int i = 0; i != results.length; i++) { results[i] = CMPCertificate.getInstance(caCerts.getObjectAt(i)); } return results; } public CertifiedKeyPair[] getKeyPairHist() { if (keyPairHist == null) { return null; } CertifiedKeyPair[] results = new CertifiedKeyPair[keyPairHist.size()]; for (int i = 0; i != results.length; i++) { results[i] = CertifiedKeyPair.getInstance(keyPairHist.getObjectAt(i)); } return results; } /** * <pre> * KeyRecRepContent ::= SEQUENCE { * status PKIStatusInfo, * newSigCert [0] CMPCertificate OPTIONAL, * caCerts [1] SEQUENCE SIZE (1..MAX) OF * CMPCertificate OPTIONAL, * keyPairHist [2] SEQUENCE SIZE (1..MAX) OF * CertifiedKeyPair OPTIONAL * } * </pre> * @return a basic ASN.1 object representation. */ public DERObject toASN1Object() { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(status); addOptional(v, 0, newSigCert); addOptional(v, 1, caCerts); addOptional(v, 2, keyPairHist); return new DERSequence(v); } private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj) { if (obj != null) { v.add(new DERTaggedObject(true, tagNo, obj)); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -