the JCE, there are new ways to generate keys. Since the existing key
engines only operate on public and private keys, the JCE introduces
two new engines that can operate on secret keys. Note also in Table 13.1 that the
provider implements a new algorithm to generate key pairs for
Diffie-Hellman key agreement; that algorithm uses the standard
KeyPairGenerator class we explored in Chapter 10.
The first engine we’ll look at is the
javax.crypto.Key-Generator); this class is used
to generate secret keys. This class is very similar to the
KeyPairGenerator class except that it generates
instances of secret keys instead of pairs of public and private keys:
Generate instances of secret keys for use by a symmetric encryption algorithm.
KeyGenerator class is an engine within the
JCE. As such, it has all the hallmarks of a cryptographic engine. It
has a complementary SPI and a set of public methods that are used to
operate upon it, and its implementation must be registered with the
Like other engine classes, the
class does not have any public constructors. An instance of a
KeyGenerator is obtained by calling one of these
Return an object capable of generating secret keys that ...