Package com.nimbusds.jose.util
Class X509CertUtils
- java.lang.Object
-
- com.nimbusds.jose.util.X509CertUtils
-
public class X509CertUtils extends java.lang.ObjectX.509 certificate utilities.- Version:
- 2022-01-24
- Author:
- Vladimir Dzhuvinov, Simon Kissane
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPEM_BEGIN_MARKERThe PEM start marker.static java.lang.StringPEM_END_MARKERThe PEM end marker.
-
Constructor Summary
Constructors Constructor Description X509CertUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Base64URLcomputeSHA256Thumbprint(java.security.cert.X509Certificate cert)Computes the X.509 certificate SHA-256 thumbprint (x5t#S256).static java.security.ProvidergetProvider()Returns the JCA provider to use for certification operations.static java.security.cert.X509Certificateparse(byte[] derEncodedCert)Parses a DER-encoded X.509 certificate.static java.security.cert.X509Certificateparse(java.lang.String pemEncodedCert)Parses a PEM-encoded X.509 certificate.static java.security.cert.X509CertificateparseWithException(byte[] derEncodedCert)Parses a DER-encoded X.509 certificate with exception handling.static java.security.cert.X509CertificateparseWithException(java.lang.String pemEncodedCert)Parses a PEM-encoded X.509 certificate with exception handling.static voidsetProvider(java.security.Provider provider)Sets the JCA provider to use for certification operations.static java.util.UUIDstore(java.security.KeyStore keyStore, java.security.PrivateKey privateKey, char[] keyPassword, java.security.cert.X509Certificate cert)Stores a private key with its associated X.509 certificate in a Java key store.static java.lang.StringtoPEMString(java.security.cert.X509Certificate cert)Returns the specified X.509 certificate as PEM-encoded string.static java.lang.StringtoPEMString(java.security.cert.X509Certificate cert, boolean withLineBreaks)Returns the specified X.509 certificate as PEM-encoded string.
-
-
-
Field Detail
-
PEM_BEGIN_MARKER
public static final java.lang.String PEM_BEGIN_MARKER
The PEM start marker.- See Also:
- Constant Field Values
-
PEM_END_MARKER
public static final java.lang.String PEM_END_MARKER
The PEM end marker.- See Also:
- Constant Field Values
-
-
Method Detail
-
getProvider
public static java.security.Provider getProvider()
Returns the JCA provider to use for certification operations.- Returns:
- The JCA provider to use for certificate operations,
nullimplies the default provider.
-
setProvider
public static void setProvider(java.security.Provider provider)
Sets the JCA provider to use for certification operations.- Parameters:
provider- The JCA provider to use for certificate operations,nullimplies the default provider.
-
parse
public static java.security.cert.X509Certificate parse(byte[] derEncodedCert)
Parses a DER-encoded X.509 certificate.- Parameters:
derEncodedCert- The DER-encoded X.509 certificate, as a byte array. May benull.- Returns:
- The X.509 certificate,
nullif not specified or parsing failed.
-
parseWithException
public static java.security.cert.X509Certificate parseWithException(byte[] derEncodedCert) throws java.security.cert.CertificateExceptionParses a DER-encoded X.509 certificate with exception handling.- Parameters:
derEncodedCert- The DER-encoded X.509 certificate, as a byte array. Empty ornullif not specified.- Returns:
- The X.509 certificate,
nullif not specified. - Throws:
java.security.cert.CertificateException- If parsing failed.
-
parse
public static java.security.cert.X509Certificate parse(java.lang.String pemEncodedCert)
Parses a PEM-encoded X.509 certificate.- Parameters:
pemEncodedCert- The PEM-encoded X.509 certificate, as a string. Empty ornullif not specified.- Returns:
- The X.509 certificate,
nullif parsing failed.
-
parseWithException
public static java.security.cert.X509Certificate parseWithException(java.lang.String pemEncodedCert) throws java.security.cert.CertificateExceptionParses a PEM-encoded X.509 certificate with exception handling.- Parameters:
pemEncodedCert- The PEM-encoded X.509 certificate, as a string. Empty ornullif not specified.- Returns:
- The X.509 certificate,
nullif parsing failed. - Throws:
java.security.cert.CertificateException
-
toPEMString
public static java.lang.String toPEMString(java.security.cert.X509Certificate cert)
Returns the specified X.509 certificate as PEM-encoded string.- Parameters:
cert- The X.509 certificate. Must not benull.- Returns:
- The PEM-encoded X.509 certificate,
nullif encoding failed.
-
toPEMString
public static java.lang.String toPEMString(java.security.cert.X509Certificate cert, boolean withLineBreaks)Returns the specified X.509 certificate as PEM-encoded string.- Parameters:
cert- The X.509 certificate. Must not benull.withLineBreaks-falseto suppress line breaks.- Returns:
- The PEM-encoded X.509 certificate,
nullif encoding failed.
-
computeSHA256Thumbprint
public static Base64URL computeSHA256Thumbprint(java.security.cert.X509Certificate cert)
Computes the X.509 certificate SHA-256 thumbprint (x5t#S256).- Parameters:
cert- The X.509 certificate. Must not benull.- Returns:
- The SHA-256 thumbprint, BASE64URL-encoded,
nullif a certificate encoding exception is encountered.
-
store
public static java.util.UUID store(java.security.KeyStore keyStore, java.security.PrivateKey privateKey, char[] keyPassword, java.security.cert.X509Certificate cert) throws java.security.KeyStoreExceptionStores a private key with its associated X.509 certificate in a Java key store. The name (alias) for the stored entry is a given a random UUID.- Parameters:
keyStore- The key store. Must be initialised and notnull.privateKey- The private key. Must not benull.keyPassword- The password to protect the private key, empty array for none. Must not benull.cert- The X.509 certificate, its public key and the private key should form a pair. Must not benull.- Returns:
- The UUID for the stored entry.
- Throws:
java.security.KeyStoreException
-
-