Package org.conscrypt
Class OpenSSLX509Certificate
java.lang.Object
java.security.cert.Certificate
java.security.cert.X509Certificate
org.conscrypt.OpenSSLX509Certificate
- All Implemented Interfaces:
Serializable,X509Extension
An implementation of
X509Certificate based on BoringSSL.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.security.cert.Certificate
Certificate.CertificateRep -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescription(package private)OpenSSLX509Certificate(long ctx) privateOpenSSLX509Certificate(long ctx, Date notBefore, Date notAfter) -
Method Summary
Modifier and TypeMethodDescriptionprivate static Collection<List<?>> alternativeNameArrayToList(Object[][] altNameArray) voidvoidcheckValidity(Date date) booleanprotected voidfinalize()static OpenSSLX509CertificatefromCertificate(Certificate cert) static List<OpenSSLX509Certificate> static List<OpenSSLX509Certificate> static OpenSSLX509CertificatefromX509Der(byte[] encoded) static OpenSSLX509Certificatestatic OpenSSLX509CertificateintlongReturns the raw pointer to the X509 context for use in JNI calls.byte[]byte[]getExtensionValue(String oid) Collection<List<?>> boolean[]boolean[]byte[]byte[]Collection<List<?>> boolean[]byte[]intinthashCode()booleanprivate static DatetoDate(long asn1time) toString()voidvoidvoidprivate voidverifyInternal(PublicKey key, String sigProvider) private voidverifyOpenSSL(OpenSSLKey pkey) Delete an extension.Methods inherited from class java.security.cert.Certificate
getType, writeReplace
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
mContext
private final transient long mContext -
mHashCode
-
notBefore
-
notAfter
-
-
Constructor Details
-
OpenSSLX509Certificate
OpenSSLX509Certificate(long ctx) throws OpenSSLX509CertificateFactory.ParsingException -
OpenSSLX509Certificate
-
-
Method Details
-
toDate
-
fromX509DerInputStream
public static OpenSSLX509Certificate fromX509DerInputStream(InputStream is) throws OpenSSLX509CertificateFactory.ParsingException -
fromX509Der
public static OpenSSLX509Certificate fromX509Der(byte[] encoded) throws CertificateEncodingException - Throws:
CertificateEncodingException
-
fromPkcs7DerInputStream
public static List<OpenSSLX509Certificate> fromPkcs7DerInputStream(InputStream is) throws OpenSSLX509CertificateFactory.ParsingException -
fromX509PemInputStream
public static OpenSSLX509Certificate fromX509PemInputStream(InputStream is) throws OpenSSLX509CertificateFactory.ParsingException -
fromPkcs7PemInputStream
public static List<OpenSSLX509Certificate> fromPkcs7PemInputStream(InputStream is) throws OpenSSLX509CertificateFactory.ParsingException -
fromCertificate
public static OpenSSLX509Certificate fromCertificate(Certificate cert) throws CertificateEncodingException - Throws:
CertificateEncodingException
-
getCriticalExtensionOIDs
-
getExtensionValue
-
getNonCriticalExtensionOIDs
-
hasUnsupportedCriticalExtension
public boolean hasUnsupportedCriticalExtension() -
checkValidity
- Specified by:
checkValidityin classX509Certificate- Throws:
CertificateExpiredExceptionCertificateNotYetValidException
-
checkValidity
public void checkValidity(Date date) throws CertificateExpiredException, CertificateNotYetValidException - Specified by:
checkValidityin classX509Certificate- Throws:
CertificateExpiredExceptionCertificateNotYetValidException
-
getVersion
public int getVersion()- Specified by:
getVersionin classX509Certificate
-
getSerialNumber
- Specified by:
getSerialNumberin classX509Certificate
-
getIssuerDN
- Specified by:
getIssuerDNin classX509Certificate
-
getSubjectDN
- Specified by:
getSubjectDNin classX509Certificate
-
getNotBefore
- Specified by:
getNotBeforein classX509Certificate
-
getNotAfter
- Specified by:
getNotAfterin classX509Certificate
-
getTBSCertificate
- Specified by:
getTBSCertificatein classX509Certificate- Throws:
CertificateEncodingException
-
getSignature
public byte[] getSignature()- Specified by:
getSignaturein classX509Certificate
-
getSigAlgName
- Specified by:
getSigAlgNamein classX509Certificate
-
getSigAlgOID
- Specified by:
getSigAlgOIDin classX509Certificate
-
getSigAlgParams
public byte[] getSigAlgParams()- Specified by:
getSigAlgParamsin classX509Certificate
-
getIssuerUniqueID
public boolean[] getIssuerUniqueID()- Specified by:
getIssuerUniqueIDin classX509Certificate
-
getSubjectUniqueID
public boolean[] getSubjectUniqueID()- Specified by:
getSubjectUniqueIDin classX509Certificate
-
getKeyUsage
public boolean[] getKeyUsage()- Specified by:
getKeyUsagein classX509Certificate
-
getBasicConstraints
public int getBasicConstraints()- Specified by:
getBasicConstraintsin classX509Certificate
-
getEncoded
- Specified by:
getEncodedin classCertificate- Throws:
CertificateEncodingException
-
verifyOpenSSL
private void verifyOpenSSL(OpenSSLKey pkey) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException -
verifyInternal
private void verifyInternal(PublicKey key, String sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException -
verify
public void verify(PublicKey key) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException - Specified by:
verifyin classCertificate- Throws:
CertificateExceptionNoSuchAlgorithmExceptionInvalidKeyExceptionNoSuchProviderExceptionSignatureException
-
verify
public void verify(PublicKey key, String sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException - Specified by:
verifyin classCertificate- Throws:
CertificateExceptionNoSuchAlgorithmExceptionInvalidKeyExceptionNoSuchProviderExceptionSignatureException
-
verify
public void verify(PublicKey key, Provider sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException - Overrides:
verifyin classX509Certificate- Throws:
CertificateExceptionNoSuchAlgorithmExceptionInvalidKeyExceptionSignatureException
-
toString
- Specified by:
toStringin classCertificate
-
getPublicKey
- Specified by:
getPublicKeyin classCertificate
-
getIssuerX500Principal
- Overrides:
getIssuerX500Principalin classX509Certificate
-
getSubjectX500Principal
- Overrides:
getSubjectX500Principalin classX509Certificate
-
getExtendedKeyUsage
- Overrides:
getExtendedKeyUsagein classX509Certificate- Throws:
CertificateParsingException
-
alternativeNameArrayToList
-
getSubjectAlternativeNames
- Overrides:
getSubjectAlternativeNamesin classX509Certificate- Throws:
CertificateParsingException
-
getIssuerAlternativeNames
- Overrides:
getIssuerAlternativeNamesin classX509Certificate- Throws:
CertificateParsingException
-
equals
- Overrides:
equalsin classCertificate
-
hashCode
public int hashCode()- Overrides:
hashCodein classCertificate
-
getContext
public long getContext()Returns the raw pointer to the X509 context for use in JNI calls. The life cycle of this native pointer is managed by theOpenSSLX509Certificateinstance and must not be destroyed or freed by users of this API. -
withDeletedExtension
Delete an extension. A modified copy of the certificate is returned. The original object is unchanged. If the extension is not present, an unmodified copy is returned. -
finalize
-