Package net.schmizz.sshj.common
Class SecurityUtils
- java.lang.Object
-
- net.schmizz.sshj.common.SecurityUtils
-
public class SecurityUtils extends java.lang.Object
Static utility method relating to security facilities.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BOUNCY_CASTLE
Identifier for the BouncyCastle JCE providerstatic java.lang.String
SPONGY_CASTLE
Identifier for the BouncyCastle JCE provider
-
Constructor Summary
Constructors Constructor Description SecurityUtils()
-
Method Summary
Modifier and Type Method Description static javax.crypto.Cipher
getCipher(java.lang.String transformation)
static java.lang.String
getFingerprint(java.security.PublicKey key)
Computes the fingerprint for a public key, in the standard SSH format, e.g.static javax.crypto.KeyAgreement
getKeyAgreement(java.lang.String algorithm)
Creates a new instance ofKeyAgreement
with the given algorithm.static java.security.KeyFactory
getKeyFactory(java.lang.String algorithm)
Creates a new instance ofKeyFactory
with the given algorithm.static java.security.KeyPairGenerator
getKeyPairGenerator(java.lang.String algorithm)
Creates a new instance ofKeyPairGenerator
with the given algorithm.static javax.crypto.Mac
getMAC(java.lang.String algorithm)
Create a new instance ofMac
with the given algorithm.static java.security.MessageDigest
getMessageDigest(java.lang.String algorithm)
Create a new instance ofMessageDigest
with the given algorithm.static java.lang.String
getSecurityProvider()
Get the identifier for the registered security provider.static java.security.Signature
getSignature(java.lang.String algorithm)
static boolean
isBouncyCastleRegistered()
Attempts registering BouncyCastle as security provider if it has not been previously attempted and returns whether the registration succeeded.static boolean
registerSecurityProvider(java.lang.String providerClassName)
static void
setRegisterBouncyCastle(boolean registerBouncyCastle)
Configure whether to register the Bouncy Castle Security Provider.static void
setSecurityProvider(java.lang.String securityProvider)
Specifies the JCE security provider that should be used.
-
-
-
Field Detail
-
BOUNCY_CASTLE
public static final java.lang.String BOUNCY_CASTLE
Identifier for the BouncyCastle JCE provider- See Also:
- Constant Field Values
-
SPONGY_CASTLE
public static final java.lang.String SPONGY_CASTLE
Identifier for the BouncyCastle JCE provider- See Also:
- Constant Field Values
-
-
Method Detail
-
registerSecurityProvider
public static boolean registerSecurityProvider(java.lang.String providerClassName)
-
getCipher
public static javax.crypto.Cipher getCipher(java.lang.String transformation) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.NoSuchProviderException
- Throws:
java.security.NoSuchAlgorithmException
javax.crypto.NoSuchPaddingException
java.security.NoSuchProviderException
-
getFingerprint
public static java.lang.String getFingerprint(java.security.PublicKey key)
Computes the fingerprint for a public key, in the standard SSH format, e.g. "4b:69:6c:72:6f:79:20:77:61:73:20:68:65:72:65:21"- Parameters:
key
- the public key- Returns:
- the fingerprint
- See Also:
- specification
-
getKeyAgreement
public static javax.crypto.KeyAgreement getKeyAgreement(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
Creates a new instance ofKeyAgreement
with the given algorithm.- Parameters:
algorithm
- key agreement algorithm- Returns:
- new instance
- Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
-
getKeyFactory
public static java.security.KeyFactory getKeyFactory(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
Creates a new instance ofKeyFactory
with the given algorithm.- Parameters:
algorithm
- key factory algorithm e.g. RSA, DSA- Returns:
- new instance
- Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
-
getKeyPairGenerator
public static java.security.KeyPairGenerator getKeyPairGenerator(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
Creates a new instance ofKeyPairGenerator
with the given algorithm.- Parameters:
algorithm
- key pair generator algorithm- Returns:
- new instance
- Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
-
getMAC
public static javax.crypto.Mac getMAC(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
Create a new instance ofMac
with the given algorithm.- Parameters:
algorithm
- MAC algorithm- Returns:
- new instance
- Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
-
getMessageDigest
public static java.security.MessageDigest getMessageDigest(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
Create a new instance ofMessageDigest
with the given algorithm.- Parameters:
algorithm
- MessageDigest algorithm name- Returns:
- new instance
- Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
-
getSecurityProvider
public static java.lang.String getSecurityProvider()
Get the identifier for the registered security provider.- Returns:
- JCE provider identifier
-
getSignature
public static java.security.Signature getSignature(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
- Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
-
isBouncyCastleRegistered
public static boolean isBouncyCastleRegistered()
Attempts registering BouncyCastle as security provider if it has not been previously attempted and returns whether the registration succeeded.- Returns:
- whether BC (or SC on Android) registered
-
setRegisterBouncyCastle
public static void setRegisterBouncyCastle(boolean registerBouncyCastle)
Configure whether to register the Bouncy Castle Security Provider. Must be called prior to other methods- Parameters:
registerBouncyCastle
- Enable or disable Bouncy Castle Provider registration on subsequent method invocation
-
setSecurityProvider
public static void setSecurityProvider(java.lang.String securityProvider)
Specifies the JCE security provider that should be used.- Parameters:
securityProvider
- identifier for the security provider
-
-