Index Index for
Section 8
Index Alphabetical
listing for I
Bottom of page Bottom of
page

ipsec_certmake(8)

NAME

ipsec_certmake - Creates X.509 certificates, requests, and Certificate Revocation Lists (CRLs)

SYNOPSIS

/usr/sbin/ipsec_certmake [-h] file [file...]

OPTIONS

-h Displays a usage message and exits.

DESCRIPTION

The ipsec_certmake command enables you to create the following: · X.509 V3 public key certificates and hierarchies of public key certificates · Certificate revocation lists (CRLs) · PKCS10-formatted certificate requests This command and other related certificate commands provided in this IPsec implementation are intended for testing purposes only. They are not intended to provide a complete public-key certificate infrastructure. The ipsec_certmake command reads each definition input file and creates the specified certificate, CRL, and certificate request files. Blank lines are ignored. Everything after the percent character (%) on a line is treated as a comment. The encoding of private key and output files is specified by preceding the path name with a formatting character, delimited by colons as follows: :p: Privacy-Encoded-Mail (PEM) format The file is encoded as a Base64-encoded binary. :b: Binary (DER-encoded) format The file is encoded in accordance with the Distinguished Encoding Rules (DER) of ASN.1. :h: HEXL format The file is encoded as a hexadecimal string. Each line has the following form: xxxxxxxx: yyyy yyyy yyyy yyyy yyyy yyyy yyyy yyyy In this form, xxxxxxxx is the hexadecimal offset of the data at the beginning of the line and yyyy yyyy yyyy yyyy yyyy yyyy yyyy yyyy is up to 16 bytes of hexadecimal data. Certificate Requests The input to generate a PKCS10-formatted certificate request has the following form. The output is a file containing the certificate request that includes the new public key and a file containing the corresponding private key. % ----------------------------------------------- % Request to generate a certificate % CertificateRequest ::= { OutputFile ::= ":p:myhost-rsa-request.pem" SubjectName ::= <C=US, O=Compaq Computer Corporation, CN=myhost> PublicKeyInfo ::= { Size ::= 2048 Type ::= rsaEncryption PrivateKeyFile ::= ":p:myhost-rsa-private.pem" } Signature ::= { SignatureAlgorithm ::= sha1WithRSAEncryption } % % Extensions % Extensions ::= { SubjectAltNames ::= { IP ::= 10.1.2.3 } KeyUsage ::= { DigitalSignature KeyEncipherment } } } A description of the fields in the preceding form is as follows: SubjectName A standard, X.509 distinguished name. Fill in your own Country (C=), Organization (O=), and Common Name (CN=). PublicKeyInfo.Size Based on the size of the Certification Authority's (CA's) signing key. PublicKeyInfo.Type Either rsaEncryption for an RSA certificate or dsaEncryption for a DSA certificate. Signature.SignatureAlgorithm Either sha1WithRSAEncryption or md5WithRSAEncryption for an RSA certificate, or dsaWithSHA-1 for a DSA certificate. Extensions.SubjectAltNames Multiple values with the following formats: · IP ::= IP address (either IPv4 or IPv6). · DNS ::= fully.qualified.domain.name · EMAIL ::= user@fully.qualified.domain.name Extensions.KeyUsage Any or all of the following values: DigitalSignature, KeyEncipherment, DataEncipherment, KeyCertSign, CRLSign, EncipherOnly, ServerAuth, ClientAuth, and IkeIntermediate. Certificates The input to generate an X.509 certificate has the following form. The output is a file containing the X.509 certificate that includes the new public key and a file containing the corresponding private key. Note To generate a certificate, you must have already generated a Certification Authority (CA) certificate and have its private (issuer) key. Certificate ::= { OutputFile ::= ":b:myhost-rsa.bin" SerialNumber ::= 1 SubjectName ::= <C=US,O=Compaq Computer Corporation, CN=myhost> IssuerName ::= <C=US,O=Compaq Computer Corporation, CN=My Test CA> Validity ::= { NotBefore ::= "1999/07/30/19:30:00" NotAfter ::= "2003/12/01/12:00:00" } PublicKeyInfo ::= { Size ::= 1024 Type ::= rsaEncryption PrivateKeyFile ::= ":b:myhost-rsa-private.bin" } Signature ::= { SignatureAlgorithm ::= sha1WithRSAEncryption IssuerKeyFile ::= ":p:test-rsa-root-private.pem" } Extensions ::= { SubjectAltNames ::= { IP ::= 10.0.2.4 IP ::= 10.0.3.4 } ExtendedKeyUsage ::= { IkeIntermediate } KeyUsage ::= { DigitalSignature KeyEncipherment } } } A description of the fields in the preceding form is as follows: SubjectName A standard, X.509 distinguished name. Fill in your own Country (C=), Organization (O=), and Common Name (CN=). IssuerName Must match the X.509 name in the CA certificate. Validity Specifies a range of dates between which the certificate is considered valid. Signature.IssuerKeyFile Must specify the file name of the CA's private key file. PublicKeyInfo Same as the information in the certificate request. Extensions Same as the information in the certificate request. For a root CA certificate, you must set additional attributes. The input to create a CA certificate has the following form: % % Root CA certificate for a test RSA hierarchy % Certificate ::= { OutputFile ::= ":p:test-rsa-root.pem" SerialNumber ::= 2124 SubjectName ::= <C=US,O=Compaq Computer Corporation, CN=My Test CA> IssuerName ::= <C=US,O=Compaq Computer Corporation, CN=My Test CA> Validity ::= { NotBefore ::= "2000/01/01/19:30:00" % "2000 Jan 1st, 19:30:00" NotAfter ::= "2001/01/01/12:00:00" % "2001 Jan 1st, 12:00:00" } PublicKeyInfo ::= { Size ::= 1024 Type ::= rsaEncryption PrivateKeyFile ::= ":p:test-rsa-root-private.pem" } Signature ::= { SelfSigned SignatureAlgorithm ::= sha1WithRSAEncryption } Extensions ::= { BasicConstraints ::= { CA PathLength ::= 0 } KeyUsage ::= { DigitalSignature KeyCertSign } } } A description of the fields in the preceding form is as follows: SubjectName Same as IssuerName. IssuerName Same as SubjectName. Signature.SelfSigned Indicates that this is a root CA certificate. BasicConstraints Indicates that this is a root CA certificate. Certificate Revocation Lists The input to generate a Certificate Revocation List (CRL) has the following form. The output is a file containing an X.509 V2 CRL revoking the specified certificates. Note To generate a CRL, you must have already generated a CA certificate and have its private (issuer) key. % % Revoke two of our certificates % CRL ::= { OutputFile ::= ":p:test-rsa-crl.pem" ThisUpdate ::= "2000/10/19/12:00:00" IssuerName ::= <C=US, O=Compaq Computer Corporation, CN=My Test CA> RevokedCertificates ::= [ { SerialNumber ::= 1 RevocationDate ::= "2000/10/19/08:00:00" } { SerialNumber ::= 105 RevocationDate ::= "2000/09/30/08:00:00" } ] Signature ::= { SignatureAlgorithm ::= sha1WithRSAEncryption IssuerKeyFile ::= ":p:test-rsa-root-private.pem" } } A description of the fields in the preceding form is as follows: ThisUpdate Specifies the date and time when the CRL was issued. IssuerName Must match the IssuerName in the CA certificate for the certificates being revoked. Certificates are revoked by specifying their serial number and the revocation date. RevokedCertificates A list of revoked certificates, delimited by square brackets ([ ]). Signature.IssuerKeyFile Must specify the file name of the private key for the CA certificate of the certificates being revoked.

SEE ALSO

Commands: ipsec_certview(8), ipsec_convert(8), ipsec_keypaircheck(8), ipsec_keytool(8)

Index Index for
Section 8
Index Alphabetical
listing for I
Top of page Top of
page