public class SignatureUtil
extends java.lang.Object
| Constructor and Description |
|---|
SignatureUtil() |
| Modifier and Type | Method and Description |
|---|---|
static void |
checkKeyAndSigAlgMatch(java.security.PrivateKey key,
java.lang.String sAlg)
Checks if a signature algorithm matches a key, i.e.
|
static java.lang.String |
extractDigestAlgFromDwithE(java.lang.String signatureAlgorithm)
Extracts the digest algorithm name from a signature
algorithm name in either the "DIGESTwithENCRYPTION" or the
"DIGESTwithENCRYPTIONandWHATEVER" format.
|
static java.lang.String |
extractKeyAlgFromDwithE(java.lang.String signatureAlgorithm)
Extracts the key algorithm name from a signature
algorithm name in either the "DIGESTwithENCRYPTION" or the
"DIGESTwithENCRYPTIONandWHATEVER" format.
|
static java.security.Signature |
fromKey(java.lang.String sigAlg,
java.security.PrivateKey key,
java.security.Provider provider)
Create a Signature that has been initialized with proper key and params.
|
static java.security.Signature |
fromKey(java.lang.String sigAlg,
java.security.PrivateKey key,
java.lang.String provider)
Create a Signature that has been initialized with proper key and params.
|
static com.tencent.kona.sun.security.x509.AlgorithmId |
fromSignature(java.security.Signature sigEngine,
java.security.PrivateKey key)
Derives AlgorithmId from a signature object and a key.
|
static java.security.spec.AlgorithmParameterSpec |
getDefaultParamSpec(java.lang.String sigAlg,
java.security.Key k)
Returns default AlgorithmParameterSpec for a key used in a signature.
|
static java.lang.String |
getDefaultSigAlgForKey(java.security.PrivateKey k)
Returns the default signature algorithm for a private key.
|
static com.tencent.kona.sun.security.x509.AlgorithmId |
getDigestAlgInPkcs7SignerInfo(java.security.Signature signer,
java.lang.String sigalg,
java.security.PrivateKey privateKey,
boolean directsign)
Determines the digestEncryptionAlgorithmId in PKCS7 SignerInfo.
|
static java.security.spec.AlgorithmParameterSpec |
getParamSpec(java.lang.String sigName,
java.security.AlgorithmParameters params)
Utility method for converting the specified AlgorithmParameters object
into an AlgorithmParameterSpec object.
|
static java.security.spec.AlgorithmParameterSpec |
getParamSpec(java.lang.String sigName,
byte[] paramBytes)
Utility method for converting the specified parameter bytes
into an AlgorithmParameterSpec object.
|
static void |
initSignWithParam(java.security.Signature s,
java.security.PrivateKey key,
java.security.spec.AlgorithmParameterSpec params,
java.security.SecureRandom sr) |
static void |
initVerifyWithParam(java.security.Signature s,
java.security.cert.Certificate cert,
java.security.spec.AlgorithmParameterSpec params) |
static void |
initVerifyWithParam(java.security.Signature s,
java.security.PublicKey key,
java.security.spec.AlgorithmParameterSpec params) |
public static java.security.spec.AlgorithmParameterSpec getParamSpec(java.lang.String sigName,
java.security.AlgorithmParameters params)
throws java.security.ProviderException
sigName - signature algorithmparams - (optional) parametersparams is nulljava.security.ProviderExceptionpublic static java.security.spec.AlgorithmParameterSpec getParamSpec(java.lang.String sigName,
byte[] paramBytes)
throws java.security.ProviderException
sigName - signature algorithmparamBytes - (optional) parameter bytesparamBytes is nulljava.security.ProviderExceptionpublic static void initVerifyWithParam(java.security.Signature s,
java.security.PublicKey key,
java.security.spec.AlgorithmParameterSpec params)
throws java.security.InvalidAlgorithmParameterException,
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterExceptionjava.security.InvalidKeyExceptionpublic static void initVerifyWithParam(java.security.Signature s,
java.security.cert.Certificate cert,
java.security.spec.AlgorithmParameterSpec params)
throws java.security.InvalidAlgorithmParameterException,
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterExceptionjava.security.InvalidKeyExceptionpublic static void initSignWithParam(java.security.Signature s,
java.security.PrivateKey key,
java.security.spec.AlgorithmParameterSpec params,
java.security.SecureRandom sr)
throws java.security.InvalidAlgorithmParameterException,
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterExceptionjava.security.InvalidKeyExceptionpublic static com.tencent.kona.sun.security.x509.AlgorithmId getDigestAlgInPkcs7SignerInfo(java.security.Signature signer,
java.lang.String sigalg,
java.security.PrivateKey privateKey,
boolean directsign)
throws java.security.NoSuchAlgorithmException
signer - Signature object that tells you RSASSA-PSS paramssigalg - Signature algorithmprivateKey - key tells you EdDSA paramsdirectsign - Ed448 uses different digest algs depending on thisjava.security.NoSuchAlgorithmExceptionpublic static java.lang.String extractDigestAlgFromDwithE(java.lang.String signatureAlgorithm)
public static java.lang.String extractKeyAlgFromDwithE(java.lang.String signatureAlgorithm)
public static java.security.spec.AlgorithmParameterSpec getDefaultParamSpec(java.lang.String sigAlg,
java.security.Key k)
public static java.security.Signature fromKey(java.lang.String sigAlg,
java.security.PrivateKey key,
java.lang.String provider)
throws java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException,
java.security.InvalidKeyException
sigAlg - signature algorithmskey - private keyprovider - (optional) providerjava.security.NoSuchAlgorithmExceptionjava.security.NoSuchProviderExceptionjava.security.InvalidKeyExceptionpublic static java.security.Signature fromKey(java.lang.String sigAlg,
java.security.PrivateKey key,
java.security.Provider provider)
throws java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException
sigAlg - signature algorithmskey - private keyprovider - (optional) providerjava.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionpublic static com.tencent.kona.sun.security.x509.AlgorithmId fromSignature(java.security.Signature sigEngine,
java.security.PrivateKey key)
throws java.security.SignatureException
sigEngine - the signature objectkey - the private keyjava.security.SignatureException - if cannot find onepublic static void checkKeyAndSigAlgMatch(java.security.PrivateKey key,
java.lang.String sAlg)
jdk.security.jarsigner.JarSigner to fail early.
Note: Unknown signature algorithms are allowed.key - must not be nullsAlg - must not be nulljava.lang.IllegalArgumentException - if they are known to not matchpublic static java.lang.String getDefaultSigAlgForKey(java.security.PrivateKey k)
k - cannot be null