Class JdkDelegatingPrivateKeyMethod
java.lang.Object
io.netty.handler.ssl.JdkDelegatingPrivateKeyMethod
- All Implemented Interfaces:
io.netty.internal.tcnative.SSLPrivateKeyMethod
final class JdkDelegatingPrivateKeyMethod
extends Object
implements io.netty.internal.tcnative.SSLPrivateKeyMethod
Implementation of
OpenSslAsyncPrivateKeyMethod that delegates cryptographic operations
to JDK signature providers for keys that cannot be accessed directly by OpenSSL.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final InternalLoggerprivate final PrivateKeyprivate final Stringprivate static final ConcurrentMap<JdkDelegatingPrivateKeyMethod.CacheKey, String> private static final IntObjectMap<String> 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
ConstructorsConstructorDescriptionJdkDelegatingPrivateKeyMethod(PrivateKey privateKey) Creates a new JDK delegating async private key method. -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidconfigureOpenSslAlgorithmParameters(Signature signature, int opensslAlgorithm) private static voidconfigurePssParameters(Signature signature, MGF1ParameterSpec mgfSpec, int saltLength) private SignaturecreateSignature(int opensslAlgorithm) byte[]decrypt(long ssl, byte[] input) private SignaturefindCompatibleSignature(int opensslAlgorithm, String jdkAlgorithm) byte[]sign(long ssl, int signatureAlgorithm, byte[] input)
-
Field Details
-
logger
-
SSL_TO_JDK_SIGNATURE_ALGORITHM
-
PROVIDER_CACHE
-
privateKey
-
privateKeyTypeName
-
-
Constructor Details
-
JdkDelegatingPrivateKeyMethod
JdkDelegatingPrivateKeyMethod(PrivateKey privateKey) Creates a new JDK delegating async private key method.- Parameters:
privateKey- the private key to use for cryptographic operations
-
-
Method Details
-
sign
-
decrypt
public byte[] decrypt(long ssl, byte[] input) - Specified by:
decryptin interfaceio.netty.internal.tcnative.SSLPrivateKeyMethod
-
createSignature
- Throws:
NoSuchAlgorithmException
-
findCompatibleSignature
private Signature findCompatibleSignature(int opensslAlgorithm, String jdkAlgorithm) throws NoSuchAlgorithmException - Throws:
NoSuchAlgorithmException
-
configureOpenSslAlgorithmParameters
private static void configureOpenSslAlgorithmParameters(Signature signature, int opensslAlgorithm) throws InvalidAlgorithmParameterException -
configurePssParameters
private static void configurePssParameters(Signature signature, MGF1ParameterSpec mgfSpec, int saltLength) throws InvalidAlgorithmParameterException
-