com.ibm.crypto.fips.provider
Class CipherWithWrappingSpi
- java.lang.Object
javax.crypto.CipherSpi
com.ibm.crypto.fips.provider.CipherWithWrappingSpi
All implemented interfaces:
- public abstract class CipherWithWrappingSpi
- extends javax.crypto.CipherSpi
- implements AlgorithmStatus
Version:
1.1, 07/28/99
Author:
Sharon Liu
See Also:
CipherSpi
,
DESCipher
Constructor Summary
Constructor and Description |
---|
CipherWithWrappingSpi()
|
Method Summary
Modifier and Type | Method and Description |
---|---|
|
engineUnwrap(byte[] wrappedKey,java.lang.String wrappedKeyAlgorithm,int wrappedKeyType)
Unwrap a previously wrapped key.
|
|
engineWrap(java.security.Key key)
Wrap a key.
|
|
internalUnwrap(byte[] wrappedKey,java.lang.String wrappedKeyAlgorithm,int wrappedKeyType)
Unwrap a previously wrapped key.
|
|
internalWrap(java.security.Key key)
Wrap a key.
|
|
isFipsApproved()
|
Methods inherited from class javax.crypto.CipherSpi |
---|
engineDoFinal, engineDoFinal, engineDoFinal, engineGetBlockSize, engineGetIV, engineGetKeySize, engineGetOutputSize, engineGetParameters, engineInit, engineInit, engineInit, engineSetMode, engineSetPadding, engineUpdate, engineUpdate, engineUpdate |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail
CipherWithWrappingSpi
- public CipherWithWrappingSpi()
Method Detail
isFipsApproved
- public boolean isFipsApproved()
Module identifies if the cryptographic operation (algorithm) is FIPS certified
Specified by:
isFipsApproved
in interface AlgorithmStatus
See Also:
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
.
AlgorithmStatus