@Override protected Object getDecodedObject(BerInputStream in) { Object[] values = (Object[]) in.content; boolean[] issuerUniqueID = (values[7] == null) ? null : ((BitString) values[7]).toBooleanArray(); boolean[] subjectUniqueID = (values[8] == null) ? null : ((BitString) values[8]).toBooleanArray(); return new TBSCertificate( ASN1Integer.toIntValue(values[0]), new BigInteger((byte[]) values[1]), (AlgorithmIdentifier) values[2], (Name) values[3], (Validity) values[4], (Name) values[5], (SubjectPublicKeyInfo) values[6], issuerUniqueID, subjectUniqueID, (Extensions) values[9], in.getEncoded() ); }
@Override public String toString() { StringBuilder result = new StringBuilder(); result.append("X.509 Certificate:\n[\n"); tbsCertificate.dumpValue(result); result.append("\n Algorithm: ["); signatureAlgorithm.dumpValue(result); result.append(']'); result.append("\n Signature Value:\n"); result.append(Array.toString(signatureValue, "")); result.append(']'); return result.toString(); }
private byte[] getTbsCertificateInternal() { byte[] result = tbsCertificate; if (result == null) { tbsCertificate = result = tbsCert.getEncoded(); } return result; }
/** * Constructs the instance on the base of existing Certificate object to * be wrapped. */ public X509CertImpl(Certificate certificate) { this.certificate = certificate; // cache the values of TBSCertificate and Extensions this.tbsCert = certificate.getTbsCertificate(); this.extensions = tbsCert.getExtensions(); }
public String getSigAlgOID() { String result = sigAlgOID; if (result == null) { // if info was not retrieved (and cached), do it: sigAlgOID = result = tbsCert.getSignature().getAlgorithm(); } return result; }
@Override public PublicKey getPublicKey() { PublicKey result = publicKey; if (result == null) { publicKey = result = tbsCert.getSubjectPublicKeyInfo().getPublicKey(); } return result; }
public X500Principal getSubjectX500Principal() { X500Principal result = subject; if (result == null) { // retrieve the subject's principal subject = result = tbsCert.getSubject().getX500Principal(); } return result; }
public X500Principal getIssuerX500Principal() { X500Principal result = issuer; if (result == null) { // retrieve the issuer's principal issuer = result = tbsCert.getIssuer().getX500Principal(); } return result; }
public BigInteger getSerialNumber() { BigInteger result = serialNumber; if (result == null) { serialNumber = result = tbsCert.getSerialNumber(); } return result; }
public boolean[] getIssuerUniqueID() { return tbsCert.getIssuerUniqueID(); }
/** * Constructs the instance on the base of ASN.1 encoded * form of X.509 certificate provided via stream parameter. * @param in input stream containing ASN.1 encoded form of certificate. * @throws CertificateException if some decoding problems occur. */ public X509CertImpl(InputStream in) throws CertificateException { try { // decode the Certificate object this.certificate = (Certificate) Certificate.ASN1.decode(in); // cache the values of TBSCertificate and Extensions this.tbsCert = certificate.getTbsCertificate(); this.extensions = tbsCert.getExtensions(); } catch (IOException e) { throw new CertificateException(e); } }
public byte[] getSigAlgParams() { if (nullSigAlgParams) { return null; } byte[] result = sigAlgParams; if (result == null) { result = tbsCert.getSignature().getParameters(); if (result == null) { nullSigAlgParams = true; return null; } sigAlgParams = result; } return result; }
@Override public PublicKey getPublicKey() { PublicKey result = publicKey; if (result == null) { publicKey = result = tbsCert.getSubjectPublicKeyInfo().getPublicKey(); } return result; }
public X500Principal getSubjectX500Principal() { X500Principal result = subject; if (result == null) { // retrieve the subject's principal subject = result = tbsCert.getSubject().getX500Principal(); } return result; }
public X500Principal getIssuerX500Principal() { X500Principal result = issuer; if (result == null) { // retrieve the issuer's principal issuer = result = tbsCert.getIssuer().getX500Principal(); } return result; }
public BigInteger getSerialNumber() { BigInteger result = serialNumber; if (result == null) { serialNumber = result = tbsCert.getSerialNumber(); } return result; }
public boolean[] getIssuerUniqueID() { return tbsCert.getIssuerUniqueID(); }
/** * Constructs the instance on the base of existing Certificate object to * be wrapped. */ public X509CertImpl(Certificate certificate) { this.certificate = certificate; // cache the values of TBSCertificate and Extensions this.tbsCert = certificate.getTbsCertificate(); this.extensions = tbsCert.getExtensions(); }
public String getSigAlgOID() { String result = sigAlgOID; if (result == null) { // if info was not retrieved (and cached), do it: sigAlgOID = result = tbsCert.getSignature().getAlgorithm(); } return result; }
private byte[] getTbsCertificateInternal() { byte[] result = tbsCertificate; if (result == null) { tbsCertificate = result = tbsCert.getEncoded(); } return result; }