Package org.conscrypt
Class OpenSSLSignature
java.lang.Object
java.security.SignatureSpi
org.conscrypt.OpenSSLSignature
- Direct Known Subclasses:
OpenSSLSignature.RSAPKCS1Padding,OpenSSLSignature.RSAPSSPadding,OpenSSLSignature.SHA1ECDSA,OpenSSLSignature.SHA224ECDSA,OpenSSLSignature.SHA256ECDSA,OpenSSLSignature.SHA384ECDSA,OpenSSLSignature.SHA512ECDSA
Implements the subset of the JDK Signature interface needed for
signature verification using OpenSSL.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static enumstatic final class(package private) static classBase class forRSASSA-PKCS1-v1_5signatures.(package private) static classBase class forRSASSA-PSSsignatures.static final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate NativeRef.EVP_MD_CTXprivate final OpenSSLSignature.EngineTypeHolds the type of the Java algorithm.private final longDigest algorithm (reference toEVP_MD).private longPublic key algorithm context (reference toEVP_PKEY_CTX).private OpenSSLKeyThe current OpenSSL key we're operating on.private booleanTrue when engine is initialized to signing.private final byte[]Holds a dummy buffer for writing single bytes to the digest.Fields inherited from class java.security.SignatureSpi
appRandom -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateOpenSSLSignature(long evpMdRef, OpenSSLSignature.EngineType engineType) Creates a new OpenSSLSignature instance for the given algorithm name. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcheckEngineType(OpenSSLKey pkey) protected voidconfigureEVP_PKEY_CTX(long ctx) Configures the public key algorithm context (EVP_PKEY_CTX) associated with this operation.protected ObjectengineGetParameter(String param) Deprecated.protected voidengineInitSign(PrivateKey privateKey) protected voidengineInitVerify(PublicKey publicKey) protected voidengineSetParameter(String param, Object value) Deprecated.protected byte[]protected voidengineUpdate(byte input) protected voidengineUpdate(byte[] input, int offset, int len) protected voidengineUpdate(ByteBuffer input) protected booleanengineVerify(byte[] sigBytes) protected final longReturns the public key algorithm context (EVP_PKEY_CTXreference) associated with this operation or0if operation hasn't been initialized.private voidinitInternal(OpenSSLKey newKey, boolean signing) private voidMethods inherited from class java.security.SignatureSpi
clone, engineGetParameters, engineInitSign, engineSetParameter, engineSign, engineVerify
-
Field Details
-
ctx
-
key
The current OpenSSL key we're operating on. -
engineType
Holds the type of the Java algorithm. -
evpMdRef
private final long evpMdRefDigest algorithm (reference toEVP_MD). -
singleByte
private final byte[] singleByteHolds a dummy buffer for writing single bytes to the digest. -
signing
private boolean signingTrue when engine is initialized to signing. -
evpPkeyCtx
private long evpPkeyCtxPublic key algorithm context (reference toEVP_PKEY_CTX).
-
-
Constructor Details
-
OpenSSLSignature
Creates a new OpenSSLSignature instance for the given algorithm name.- Parameters:
evpMdRef- digest algorithm (EVP_MDreference).
-
-
Method Details
-
resetContext
-
configureEVP_PKEY_CTX
Configures the public key algorithm context (EVP_PKEY_CTX) associated with this operation.The default implementation does nothing.
- Parameters:
ctx- reference to the context (EVP_PKEY_CTX).- Throws:
InvalidAlgorithmParameterException
-
engineUpdate
protected void engineUpdate(byte input) - Specified by:
engineUpdatein classSignatureSpi
-
engineUpdate
protected void engineUpdate(byte[] input, int offset, int len) - Specified by:
engineUpdatein classSignatureSpi
-
engineUpdate
- Overrides:
engineUpdatein classSignatureSpi
-
engineGetParameter
Deprecated.- Specified by:
engineGetParameterin classSignatureSpi- Throws:
InvalidParameterException
-
checkEngineType
- Throws:
InvalidKeyException
-
initInternal
- Throws:
InvalidKeyException
-
engineInitSign
- Specified by:
engineInitSignin classSignatureSpi- Throws:
InvalidKeyException
-
engineInitVerify
- Specified by:
engineInitVerifyin classSignatureSpi- Throws:
InvalidKeyException
-
engineSetParameter
@Deprecated protected void engineSetParameter(String param, Object value) throws InvalidParameterException Deprecated.- Specified by:
engineSetParameterin classSignatureSpi- Throws:
InvalidParameterException
-
engineSign
- Specified by:
engineSignin classSignatureSpi- Throws:
SignatureException
-
engineVerify
- Specified by:
engineVerifyin classSignatureSpi- Throws:
SignatureException
-
getEVP_PKEY_CTX
protected final long getEVP_PKEY_CTX()Returns the public key algorithm context (EVP_PKEY_CTXreference) associated with this operation or0if operation hasn't been initialized.
-