Package io.jans.as.model.crypto
Class AuthCryptoProvider
- java.lang.Object
-
- io.jans.as.model.crypto.AbstractCryptoProvider
-
- io.jans.as.model.crypto.AuthCryptoProvider
-
public class AuthCryptoProvider extends AbstractCryptoProvider
- Version:
- November 22, 2021
- Author:
- Javier Rojas Blum, Yuriy Movchan, Sergey Manoylo
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.log4j.LoggerLOG
-
Constructor Summary
Constructors Constructor Description AuthCryptoProvider()AuthCryptoProvider(java.lang.String keyStoreFile, java.lang.String keyStoreSecret, java.lang.String dnName)AuthCryptoProvider(java.lang.String keyStoreFile, java.lang.String keyStoreSecret, java.lang.String dnName, boolean rejectNoneAlg)AuthCryptoProvider(java.lang.String keyStoreFile, java.lang.String keyStoreSecret, java.lang.String dnName, boolean rejectNoneAlg, KeySelectionStrategy keySelectionStrategy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsKey(java.lang.String keyId)booleandeleteKey(java.lang.String alias)org.json.JSONObjectgenerateKey(Algorithm algorithm, java.lang.Long expirationTime)org.json.JSONObjectgenerateKey(Algorithm algorithm, java.lang.Long expirationTime, int keyLength)java.security.cert.X509CertificategenerateV3Certificate(java.security.KeyPair keyPair, java.lang.String issuer, java.lang.String signatureAlgorithm, java.lang.Long expirationTime)java.lang.StringgetAliasByAlgorithmForDeletion(Algorithm algorithm, java.lang.String newAlias)java.lang.StringgetDnName()java.lang.StringgetKeyId(JSONWebKeySet jsonWebKeySet, Algorithm algorithm, Use use)java.util.List<java.lang.String>getKeys()java.security.KeyStoregetKeyStore()java.lang.StringgetKeyStoreFile()java.lang.StringgetKeyStoreSecret()java.security.PrivateKeygetPrivateKey(java.lang.String alias)java.security.PublicKeygetPublicKey(java.lang.String alias)SignatureAlgorithmgetSignatureAlgorithm(java.lang.String alias)voidload()java.lang.Stringsign(java.lang.String signingInput, java.lang.String alias, java.lang.String sharedSecret, SignatureAlgorithm signatureAlgorithm)booleanverifySignature(java.lang.String signingInput, java.lang.String encodedSignature, java.lang.String alias, org.json.JSONObject jwks, java.lang.String sharedSecret, SignatureAlgorithm signatureAlgorithm)-
Methods inherited from class io.jans.as.model.crypto.AbstractCryptoProvider
checkKeyExpiration, generateJwks, getJwksRequestParam, getKeyRegenerationIntervalInDays, getPublicKey, setKeyRegenerationIntervalInDays
-
-
-
-
Constructor Detail
-
AuthCryptoProvider
public AuthCryptoProvider() throws java.security.KeyStoreException- Throws:
java.security.KeyStoreException
-
AuthCryptoProvider
public AuthCryptoProvider(java.lang.String keyStoreFile, java.lang.String keyStoreSecret, java.lang.String dnName) throws java.security.KeyStoreException- Throws:
java.security.KeyStoreException
-
AuthCryptoProvider
public AuthCryptoProvider(java.lang.String keyStoreFile, java.lang.String keyStoreSecret, java.lang.String dnName, boolean rejectNoneAlg) throws java.security.KeyStoreException- Throws:
java.security.KeyStoreException
-
AuthCryptoProvider
public AuthCryptoProvider(java.lang.String keyStoreFile, java.lang.String keyStoreSecret, java.lang.String dnName, boolean rejectNoneAlg, KeySelectionStrategy keySelectionStrategy) throws java.security.KeyStoreException- Throws:
java.security.KeyStoreException
-
-
Method Detail
-
load
public void load() throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException- Throws:
java.io.IOExceptionjava.security.NoSuchAlgorithmExceptionjava.security.cert.CertificateException
-
getKeyStoreFile
public java.lang.String getKeyStoreFile()
-
getKeyStoreSecret
public java.lang.String getKeyStoreSecret()
-
getDnName
public java.lang.String getDnName()
-
generateKey
public org.json.JSONObject generateKey(Algorithm algorithm, java.lang.Long expirationTime) throws CryptoProviderException
- Specified by:
generateKeyin classAbstractCryptoProvider- Throws:
CryptoProviderException
-
generateKey
public org.json.JSONObject generateKey(Algorithm algorithm, java.lang.Long expirationTime, int keyLength) throws CryptoProviderException
- Specified by:
generateKeyin classAbstractCryptoProvider- Throws:
CryptoProviderException
-
getAliasByAlgorithmForDeletion
public java.lang.String getAliasByAlgorithmForDeletion(Algorithm algorithm, java.lang.String newAlias) throws java.security.KeyStoreException
- Throws:
java.security.KeyStoreException
-
containsKey
public boolean containsKey(java.lang.String keyId)
- Specified by:
containsKeyin classAbstractCryptoProvider
-
sign
public java.lang.String sign(java.lang.String signingInput, java.lang.String alias, java.lang.String sharedSecret, SignatureAlgorithm signatureAlgorithm) throws CryptoProviderException- Specified by:
signin classAbstractCryptoProvider- Throws:
CryptoProviderException
-
verifySignature
public boolean verifySignature(java.lang.String signingInput, java.lang.String encodedSignature, java.lang.String alias, org.json.JSONObject jwks, java.lang.String sharedSecret, SignatureAlgorithm signatureAlgorithm) throws CryptoProviderException- Specified by:
verifySignaturein classAbstractCryptoProvider- Throws:
CryptoProviderException
-
deleteKey
public boolean deleteKey(java.lang.String alias) throws CryptoProviderException- Specified by:
deleteKeyin classAbstractCryptoProvider- Throws:
CryptoProviderException
-
getPublicKey
public java.security.PublicKey getPublicKey(java.lang.String alias) throws CryptoProviderException- Specified by:
getPublicKeyin classAbstractCryptoProvider- Throws:
CryptoProviderException
-
getKeyId
public java.lang.String getKeyId(JSONWebKeySet jsonWebKeySet, Algorithm algorithm, Use use) throws CryptoProviderException
- Overrides:
getKeyIdin classAbstractCryptoProvider- Throws:
CryptoProviderException
-
getPrivateKey
public java.security.PrivateKey getPrivateKey(java.lang.String alias) throws CryptoProviderException- Specified by:
getPrivateKeyin classAbstractCryptoProvider- Throws:
CryptoProviderException
-
generateV3Certificate
public java.security.cert.X509Certificate generateV3Certificate(java.security.KeyPair keyPair, java.lang.String issuer, java.lang.String signatureAlgorithm, java.lang.Long expirationTime) throws org.bouncycastle.cert.CertIOException, org.bouncycastle.operator.OperatorCreationException, java.security.cert.CertificateException- Throws:
org.bouncycastle.cert.CertIOExceptionorg.bouncycastle.operator.OperatorCreationExceptionjava.security.cert.CertificateException
-
getKeys
public java.util.List<java.lang.String> getKeys()
- Overrides:
getKeysin classAbstractCryptoProvider
-
getSignatureAlgorithm
public SignatureAlgorithm getSignatureAlgorithm(java.lang.String alias) throws java.security.KeyStoreException
- Throws:
java.security.KeyStoreException
-
getKeyStore
public java.security.KeyStore getKeyStore()
-
-