com.ibm.crypto.fips.provider
Class CipherWithWrappingSpi
java.lang.Object
|
+--javax.crypto.CipherSpi
|
+--com.ibm.crypto.fips.provider.CipherWithWrappingSpi
- All Implemented Interfaces:
- AlgorithmStatus
- public abstract class CipherWithWrappingSpi
- extends javax.crypto.CipherSpi
- implements AlgorithmStatus
This class entends the javax.crypto.CipherSpi class with a concrete
implementation of the methods for wrapping and unwrapping
keys.
- Version:
- 1.1, 07/28/99
- Author:
- Sharon Liu
- See Also:
CipherSpi,
DESCipher
|
Method Summary |
protected java.security.Key |
engineUnwrap(byte[] wrappedKey,
java.lang.String wrappedKeyAlgorithm,
int wrappedKeyType)
Unwrap a previously wrapped key. |
protected byte[] |
engineWrap(java.security.Key key)
Wrap a key. |
protected java.security.Key |
internalUnwrap(byte[] wrappedKey,
java.lang.String wrappedKeyAlgorithm,
int wrappedKeyType)
Unwrap a previously wrapped key. |
protected byte[] |
internalWrap(java.security.Key key)
Wrap a key. |
boolean |
isFipsApproved()
Module identifies if the cryptographic operation (algorithm) is FIPS certified |
| Methods inherited from class javax.crypto.CipherSpi |
engineDoFinal, engineDoFinal, engineGetBlockSize, engineGetIV, engineGetKeySize, engineGetOutputSize, engineGetParameters, engineInit, engineInit, engineInit, engineSetMode, engineSetPadding, engineUpdate, engineUpdate |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CipherWithWrappingSpi
public CipherWithWrappingSpi()
isFipsApproved
public boolean isFipsApproved()
- Description copied from interface:
AlgorithmStatus
- Module identifies if the cryptographic operation (algorithm) is FIPS certified
- Specified by:
isFipsApproved in interface AlgorithmStatus
- See Also:
AlgorithmStatus.isFipsApproved()
engineWrap
protected final byte[] engineWrap(java.security.Key key)
throws javax.crypto.IllegalBlockSizeException,
java.security.InvalidKeyException
- Wrap a key.
- Overrides:
engineWrap in class javax.crypto.CipherSpi
- Parameters:
key - the key to be wrapped.- Returns:
- the wrapped key.
- Throws:
javax.crypto.IllegalBlockSizeException - if this cipher is a block
cipher, no padding has been requested, and the length of the
encoding of the key to be wrapped is not a
multiple of the block size.java.security.InvalidKeyException - if it is impossible or unsafe to
wrap the key with this cipher (e.g., a hardware protected key is
being passed to a software only cipher).FIPSRuntimeException - if SelfTest.isFipsRunnable returns false.
internalWrap
protected final byte[] internalWrap(java.security.Key key)
throws javax.crypto.IllegalBlockSizeException,
java.security.InvalidKeyException
- Wrap a key.
- Parameters:
key - the key to be wrapped.- Returns:
- the wrapped key.
- Throws:
javax.crypto.IllegalBlockSizeException - if this cipher is a block
cipher, no padding has been requested, and the length of the
encoding of the key to be wrapped is not a
multiple of the block size.java.security.InvalidKeyException - if it is impossible or unsafe to
wrap the key with this cipher (e.g., a hardware protected key is
being passed to a software only cipher).
engineUnwrap
protected final java.security.Key engineUnwrap(byte[] wrappedKey,
java.lang.String wrappedKeyAlgorithm,
int wrappedKeyType)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException
- Unwrap a previously wrapped key.
- Overrides:
engineUnwrap in class javax.crypto.CipherSpi
- Parameters:
wrappedKey - the key to be unwrapped.wrappedKeyAlgorithm - the algorithm the wrapped key is for.wrappedKeyType - the type of the wrapped key.
This is one of Cipher.SECRET_KEY,
Cipher.PRIVATE_KEY, or Cipher.PUBLIC_KEY.- Returns:
- the unwrapped key.
- Throws:
java.security.InvalidKeyException - if wrappedKey does not
represent a wrapped key, or if the algorithm associated with the
wrapped key is different from wrappedKeyAlgorithm
and/or its key type is different from wrappedKeyType.java.security.NoSuchAlgorithmException - if no installed providers
can create keys for the wrappedKeyAlgorithm.FIPSRuntimeException - if SelfTest.isFipsRunnable returns false.
internalUnwrap
protected final java.security.Key internalUnwrap(byte[] wrappedKey,
java.lang.String wrappedKeyAlgorithm,
int wrappedKeyType)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException
- Unwrap a previously wrapped key.
- Parameters:
wrappedKey - the key to be unwrapped.wrappedKeyAlgorithm - the algorithm the wrapped key is for.wrappedKeyType - the type of the wrapped key.
This is one of Cipher.SECRET_KEY,
Cipher.PRIVATE_KEY, or Cipher.PUBLIC_KEY.- Returns:
- the unwrapped key.
- Throws:
java.security.InvalidKeyException - if wrappedKey does not
represent a wrapped key, or if the algorithm associated with the
wrapped key is different from wrappedKeyAlgorithm
and/or its key type is different from wrappedKeyType.java.security.NoSuchAlgorithmException - if no installed providers
can create keys for the wrappedKeyAlgorithm.