Package io.netty.handler.ssl
Class JdkDelegatingPrivateKeyMethod
- java.lang.Object
-
- io.netty.handler.ssl.JdkDelegatingPrivateKeyMethod
-
- All Implemented Interfaces:
io.netty.internal.tcnative.SSLPrivateKeyMethod
final class JdkDelegatingPrivateKeyMethod extends java.lang.Object implements io.netty.internal.tcnative.SSLPrivateKeyMethodImplementation ofOpenSslAsyncPrivateKeyMethodthat delegates cryptographic operations to JDK signature providers for keys that cannot be accessed directly by OpenSSL.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classJdkDelegatingPrivateKeyMethod.CacheKey
-
Field Summary
Fields Modifier and Type Field Description private static InternalLoggerloggerprivate java.security.PrivateKeyprivateKeyprivate java.lang.StringprivateKeyTypeNameprivate static java.util.concurrent.ConcurrentMap<JdkDelegatingPrivateKeyMethod.CacheKey,java.lang.String>PROVIDER_CACHEprivate static IntObjectMap<java.lang.String>SSL_TO_JDK_SIGNATURE_ALGORITHM-
Fields inherited from interface io.netty.internal.tcnative.SSLPrivateKeyMethod
SSL_SIGN_ECDSA_SECP256R1_SHA256, SSL_SIGN_ECDSA_SECP384R1_SHA384, SSL_SIGN_ECDSA_SECP521R1_SHA512, SSL_SIGN_ECDSA_SHA1, SSL_SIGN_ED25519, SSL_SIGN_RSA_PKCS1_MD5_SHA1, SSL_SIGN_RSA_PKCS1_SHA1, SSL_SIGN_RSA_PKCS1_SHA256, SSL_SIGN_RSA_PKCS1_SHA384, SSL_SIGN_RSA_PKCS1_SHA512, SSL_SIGN_RSA_PSS_RSAE_SHA256, SSL_SIGN_RSA_PSS_RSAE_SHA384, SSL_SIGN_RSA_PSS_RSAE_SHA512
-
-
Constructor Summary
Constructors Constructor Description JdkDelegatingPrivateKeyMethod(java.security.PrivateKey privateKey)Creates a new JDK delegating async private key method.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidconfigureOpenSslAlgorithmParameters(java.security.Signature signature, int opensslAlgorithm)private static voidconfigurePssParameters(java.security.Signature signature, java.security.spec.MGF1ParameterSpec mgfSpec, int saltLength)private java.security.SignaturecreateSignature(int opensslAlgorithm)byte[]decrypt(long ssl, byte[] input)private java.security.SignaturefindCompatibleSignature(int opensslAlgorithm, java.lang.String jdkAlgorithm)byte[]sign(long ssl, int signatureAlgorithm, byte[] input)
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
-
SSL_TO_JDK_SIGNATURE_ALGORITHM
private static final IntObjectMap<java.lang.String> SSL_TO_JDK_SIGNATURE_ALGORITHM
-
PROVIDER_CACHE
private static final java.util.concurrent.ConcurrentMap<JdkDelegatingPrivateKeyMethod.CacheKey,java.lang.String> PROVIDER_CACHE
-
privateKey
private final java.security.PrivateKey privateKey
-
privateKeyTypeName
private final java.lang.String privateKeyTypeName
-
-
Method Detail
-
sign
public byte[] sign(long ssl, int signatureAlgorithm, byte[] input) throws java.lang.Exception- Specified by:
signin interfaceio.netty.internal.tcnative.SSLPrivateKeyMethod- Throws:
java.lang.Exception
-
decrypt
public byte[] decrypt(long ssl, byte[] input)- Specified by:
decryptin interfaceio.netty.internal.tcnative.SSLPrivateKeyMethod
-
createSignature
private java.security.Signature createSignature(int opensslAlgorithm) throws java.security.NoSuchAlgorithmException- Throws:
java.security.NoSuchAlgorithmException
-
findCompatibleSignature
private java.security.Signature findCompatibleSignature(int opensslAlgorithm, java.lang.String jdkAlgorithm) throws java.security.NoSuchAlgorithmException- Throws:
java.security.NoSuchAlgorithmException
-
configureOpenSslAlgorithmParameters
private static void configureOpenSslAlgorithmParameters(java.security.Signature signature, int opensslAlgorithm) throws java.security.InvalidAlgorithmParameterException- Throws:
java.security.InvalidAlgorithmParameterException
-
configurePssParameters
private static void configurePssParameters(java.security.Signature signature, java.security.spec.MGF1ParameterSpec mgfSpec, int saltLength) throws java.security.InvalidAlgorithmParameterException- Throws:
java.security.InvalidAlgorithmParameterException
-
-