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
@Internal public class OpenSSLSignature extends java.security.SignatureSpi
Implements the subset of the JDK Signature interface needed for signature verification using OpenSSL.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classOpenSSLSignature.EngineTypestatic classOpenSSLSignature.MD5RSA(package private) static classOpenSSLSignature.RSAPKCS1PaddingBase class forRSASSA-PKCS1-v1_5signatures.(package private) static classOpenSSLSignature.RSAPSSPaddingBase class forRSASSA-PSSsignatures.static classOpenSSLSignature.SHA1ECDSAstatic classOpenSSLSignature.SHA1RSAstatic classOpenSSLSignature.SHA1RSAPSSstatic classOpenSSLSignature.SHA224ECDSAstatic classOpenSSLSignature.SHA224RSAstatic classOpenSSLSignature.SHA224RSAPSSstatic classOpenSSLSignature.SHA256ECDSAstatic classOpenSSLSignature.SHA256RSAstatic classOpenSSLSignature.SHA256RSAPSSstatic classOpenSSLSignature.SHA384ECDSAstatic classOpenSSLSignature.SHA384RSAstatic classOpenSSLSignature.SHA384RSAPSSstatic classOpenSSLSignature.SHA512ECDSAstatic classOpenSSLSignature.SHA512RSAstatic classOpenSSLSignature.SHA512RSAPSS
-
Field Summary
Fields Modifier and Type Field Description private NativeRef.EVP_MD_CTXctxprivate OpenSSLSignature.EngineTypeengineTypeHolds the type of the Java algorithm.private longevpMdRefDigest algorithm (reference toEVP_MD).private longevpPkeyCtxPublic key algorithm context (reference toEVP_PKEY_CTX).private OpenSSLKeykeyThe current OpenSSL key we're operating on.private booleansigningTrue when engine is initialized to signing.private byte[]singleByteHolds a dummy buffer for writing single bytes to the digest.
-
Constructor Summary
Constructors Modifier Constructor Description privateOpenSSLSignature(long evpMdRef, OpenSSLSignature.EngineType engineType)Creates a new OpenSSLSignature instance for the given algorithm name.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private voidcheckEngineType(OpenSSLKey pkey)protected voidconfigureEVP_PKEY_CTX(long ctx)Configures the public key algorithm context (EVP_PKEY_CTX) associated with this operation.protected java.lang.ObjectengineGetParameter(java.lang.String param)Deprecated.protected voidengineInitSign(java.security.PrivateKey privateKey)protected voidengineInitVerify(java.security.PublicKey publicKey)protected voidengineSetParameter(java.lang.String param, java.lang.Object value)Deprecated.protected byte[]engineSign()protected voidengineUpdate(byte input)protected voidengineUpdate(byte[] input, int offset, int len)protected voidengineUpdate(java.nio.ByteBuffer input)protected booleanengineVerify(byte[] sigBytes)protected longgetEVP_PKEY_CTX()Returns 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 voidresetContext()
-
-
-
Field Detail
-
ctx
private NativeRef.EVP_MD_CTX ctx
-
key
private OpenSSLKey key
The current OpenSSL key we're operating on.
-
engineType
private final OpenSSLSignature.EngineType engineType
Holds the type of the Java algorithm.
-
evpMdRef
private final long evpMdRef
Digest algorithm (reference toEVP_MD).
-
singleByte
private final byte[] singleByte
Holds a dummy buffer for writing single bytes to the digest.
-
signing
private boolean signing
True when engine is initialized to signing.
-
evpPkeyCtx
private long evpPkeyCtx
Public key algorithm context (reference toEVP_PKEY_CTX).
-
-
Constructor Detail
-
OpenSSLSignature
private OpenSSLSignature(long evpMdRef, OpenSSLSignature.EngineType engineType)Creates a new OpenSSLSignature instance for the given algorithm name.- Parameters:
evpMdRef- digest algorithm (EVP_MDreference).
-
-
Method Detail
-
resetContext
private void resetContext() throws java.security.InvalidAlgorithmParameterException- Throws:
java.security.InvalidAlgorithmParameterException
-
configureEVP_PKEY_CTX
protected void configureEVP_PKEY_CTX(long ctx) throws java.security.InvalidAlgorithmParameterExceptionConfigures 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:
java.security.InvalidAlgorithmParameterException
-
engineUpdate
protected void engineUpdate(byte input)
- Specified by:
engineUpdatein classjava.security.SignatureSpi
-
engineUpdate
protected void engineUpdate(byte[] input, int offset, int len)- Specified by:
engineUpdatein classjava.security.SignatureSpi
-
engineUpdate
protected void engineUpdate(java.nio.ByteBuffer input)
- Overrides:
engineUpdatein classjava.security.SignatureSpi
-
engineGetParameter
@Deprecated protected java.lang.Object engineGetParameter(java.lang.String param) throws java.security.InvalidParameterExceptionDeprecated.- Specified by:
engineGetParameterin classjava.security.SignatureSpi- Throws:
java.security.InvalidParameterException
-
checkEngineType
private void checkEngineType(OpenSSLKey pkey) throws java.security.InvalidKeyException
- Throws:
java.security.InvalidKeyException
-
initInternal
private void initInternal(OpenSSLKey newKey, boolean signing) throws java.security.InvalidKeyException
- Throws:
java.security.InvalidKeyException
-
engineInitSign
protected void engineInitSign(java.security.PrivateKey privateKey) throws java.security.InvalidKeyException- Specified by:
engineInitSignin classjava.security.SignatureSpi- Throws:
java.security.InvalidKeyException
-
engineInitVerify
protected void engineInitVerify(java.security.PublicKey publicKey) throws java.security.InvalidKeyException- Specified by:
engineInitVerifyin classjava.security.SignatureSpi- Throws:
java.security.InvalidKeyException
-
engineSetParameter
@Deprecated protected void engineSetParameter(java.lang.String param, java.lang.Object value) throws java.security.InvalidParameterExceptionDeprecated.- Specified by:
engineSetParameterin classjava.security.SignatureSpi- Throws:
java.security.InvalidParameterException
-
engineSign
protected byte[] engineSign() throws java.security.SignatureException- Specified by:
engineSignin classjava.security.SignatureSpi- Throws:
java.security.SignatureException
-
engineVerify
protected boolean engineVerify(byte[] sigBytes) throws java.security.SignatureException- Specified by:
engineVerifyin classjava.security.SignatureSpi- Throws:
java.security.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.
-
-