IKE Public Key Databases and Commands
The ikecert command manipulates the local system's public key databases. You use this
command when the ike/config file requires public key certificates. Because IKE uses these
databases to authenticate the Phase 1 exchange, the databases must be populated before
activating the in.iked daemon. Three subcommands handle each of the three databases:
certlocal, certdb, and certrldb.
The ikecert command also handles key storage. Keys can be stored on disk,
on an attached Sun Crypto Accelerator 4000 board, or in a softtoken keystore.
The softtoken keystore is available when the metaslot in the Solaris cryptographic framework
is used to communicate with the hardware device. The ikecert command uses
the PKCS #11 library to locate key storage.
Solaris 10 1/06: In this release, the library does not have to be specified. By default, the PKCS #11 library is /usr/lib/libpkcs11.so.
Solaris 10: In this release, the PKCS #11 entry must be specified. Otherwise, the -T option to the ikecert command cannot work. The entry appears similar to the following:
pkcs11_path "/opt/SUNWconn/cryptov2/lib/libvpkcs11.so"
For more information, see the ikecert(1M) man page. For information about metaslot and
the softtoken keystore, see the cryptoadm(1M) man page.
ikecert tokens Command
The tokens argument lists the token IDs that are available. Token IDs enable
the ikecert certlocal and ikecert certdb commands to generate public key certificates and certificate requests.
The certificates and certificate requests can also be stored by the cryptographic framework
in the softtoken keystore, or on an attached Sun Crypto Accelerator 4000 board.
The ikecert command uses the PKCS #11 library to locate certificate storage.
ikecert certlocal Command
The certlocal subcommand manages the private key database. Options to this subcommand enable
you to add, view, and remove private keys. This subcommand also creates either
a self-signed certificate or a certificate request. The -ks option creates a self-signed certificate.
The -kc option creates a certificate request. Keys are stored on the system
in the /etc/inet/secret/ike.privatekeys directory, or on attached hardware with the -T option.
When you create a private key, the options to the ikecert certlocal command
must have related entries in the ike/config file. The correspondences between ikecert
options and ike/config entries are shown in the following table.
Table 24-1 Correspondences Between ikecert Options and ike/config Entries
ikecert Option |
ike/config Entry |
Description |
-A subject-alternate-name |
cert_trust subject-alternate-name |
A
nickname that uniquely identifies the certificate. Possible values are an IP address, an
email address, or a domain name. |
-D X.509-distinguished-name |
X.509-distinguished-name |
The full name of the certificate
authority that includes the country (C), organization name (ON), organizational unit (OU), and
common name (CN). |
-t dsa-sha1 |
auth_method dss_sig |
An authentication method that is slightly slower than RSA. |
-t rsa-md5 and -t rsa-sha1 |
auth_method rsa_sig |
An
authentication method that is slightly faster than DSA. The RSA public key must
be large enough to encrypt the biggest payload. Typically, an identity payload, such
as the X.509 distinguished name, is the biggest payload. |
-t rsa-md5 and -t rsa-sha1 |
auth_method rsa_encrypt |
RSA encryption hides
identities in IKE from eavesdroppers, but requires that the IKE peers know each
other's public keys. |
-T |
pkcs11_path |
The PKCS #11 library handles key acceleration on the Sun Crypto
Accelerator 1000 board and the Sun Crypto Accelerator 4000 board. The library also
provides the tokens that handle key storage on the Sun Crypto Accelerator 4000
board. |
If you issue a certificate request with the ikecert certlocal -kc command, you send
the output of the command to a PKI organization or to a certificate
authority (CA). If your company runs its own PKI, you send the output
to your PKI administrator. The PKI organization, the CA, or your PKI administrator
then creates certificates. The certificates that the PKI or CA returns to you
are input to the certdb subcommand. The certificate revocation list (CRL) that the
PKI returns to you is input for the certrldb subcommand.
ikecert certdb Command
The certdb subcommand manages the public key database. Options to this subcommand enable
you to add, view, and remove certificates and public keys. The command accepts,
as input, certificates that were generated by the ikecert certlocal -ks command on a remote
system. For the procedure, see How to Configure IKE With Self-Signed Public Key Certificates. This command also accepts the certificate that you
receive from a PKI or CA as input. For the procedure, see
How to Configure IKE With Certificates Signed by a CA.
The certificates and public keys are stored on the system in the
/etc/inet/ike/publickeys directory. The -T option stores the certificates, private keys, and public keys
on attached hardware.
ikecert certrldb Command
The certrldb subcommand manages the certificate revocation list (CRL) database, /etc/inet/ike/crls. The CRL database
maintains the revocation lists for public keys. Certificates that are no longer valid
are on this list. When PKIs provide you with a CRL, you can
install the CRL in the CRL database with the ikecert certrldb command. For
the procedure, see How to Handle a Certificate Revocation List.
/etc/inet/ike/publickeys Directory
The /etc/inet/ike/publickeys directory contains the public part of a public-private key pair and
its certificate in files, or slots. The directory is protected at 0755. The
ikecert certdb command populates the directory. The -T option stores the keys on the
Sun Crypto Accelerator 4000 board rather than in the publickeys directory.
The slots contain, in encoded form, the X.509 distinguished name of a certificate
that was generated on another system. If you are using self-signed certificates, you
use the certificate that you receive from the administrator of the remote system
as input to the command. If you are using certificates from a PKI,
you install two pieces of keying material from the PKI into this database.
You install a certificate that is based on material that you sent to
the PKI. You also install a CA from the PKI.
/etc/inet/secret/ike.privatekeys Directory
The /etc/inet/secret/ike.privatekeys directory holds private key files that are part of a public-private
key pair, which is keying material for ISAKMP SAs. The directory is protected
at 0700. The ikecert certlocal command populates the ike.privatekeys directory. Private keys are not effective
until their public key counterparts, self-signed certificates or CAs, are installed. The public
key counterparts are stored in the /etc/inet/ike/publickeys directory or on a Sun
Crypto Accelerator 4000 board.
/etc/inet/ike/crls Directory
The /etc/inet/ike/crls directory contains certificate revocation list (CRL) files. Each file corresponds to a
public certificate file in the /etc/inet/ike/publickeys directory. PKI organizations provide the CRLs
for their certificates. You can use the ikecert certrldb command to populate the database.