next up previous contents
Next: Creación e instalación de Up: Implementación de una autoridad Previous: Instalación de OpenSSL   Índice General

Creación y auto-firma de nuestro certificado

El primer paso que debemos dar es crear un certificado firmado por nosotros mismos. Será con este certificado que en el futuro nosotros podremos firmar los certificados que nos sean solicitados. Utilizaremos el script CA.pl localizado en /usr/local/ssl/misc para poder concentrarnos más en el procedimiento que en los detalles sintácticos.

El primer paso es crear la estructura necesaria para levantar sobre esta nuestra autoridad certificadora:

$ /usr/local/ssl/misc/CA.pl -newca

CA certificate filename (or enter to create)

Dejamos en blanco

Making CA certificate ...

Using configuration from /usr/local/ssl/openssl.cnf

Generating a 1024 bit RSA private key

...........................++++++

................................++++++

writing new private key to './demoCA/private/cakey.pem'

Enter PEM pass phrase: ejemplo

Verifying password - Enter PEM pass phrase: ejemplo

---

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

---

Country Name (2 letter code) [AU]:MX

State or Province Name (full name) [Some-State]:Distrito Federal

Locality Name (eg, city) []:Mexico

Organization Name (eg, company) [Internet Widgits Pty Ltd]:UNAM

Organizational Unit Name (eg, section) []:DGSCA

Common Name (eg, YOUR name) []:Area de Seguridad en Computo

Email Address []:asc@asc.unam.mx

La contraseña que dimos aquí arriba es de vital importancia - la utilizaremos siempre que queramos firmar un certificado. Sin esta, OpenSSL se quejará y abortará la operación.

Quedamos ahora con un directorio demoCA en el cual trabajaremos con nuestra autoridad certificadora. Ahora generamos una petición de certificado:

$ /usr/local/ssl/misc/CA.pl -newreq

Using configuration from /usr/local/ssl/openssl.cnf

Generating a 1024 bit RSA private key

.++++++

.......................++++++

writing new private key to 'newreq.pem'

Enter PEM pass phrase: otroejemplo

Verifying password - Enter PEM pass phrase: otroejemplo

---

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

---

Country Name (2 letter code) [AU]:MX

State or Province Name (full name) [Some-State]:Distrito Federal

Locality Name (eg, city) []:Mexico

Organization Name (eg, company) [Internet Widgits Pty Ltd]:UNAM

Organizational Unit Name (eg, section) []:DGSCA

Common Name (eg, YOUR name) []:Area de Seguridad en Computo

Email Address []:asc@asc.unam.mx

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:secreta

An optional company name []:UNAM

Request (and private key) is in newreq.pem

Queda entonces hecha la petición de certificado, así como nuestra llave privada, en el archivo newreq.pem - El siguiente paso es firmarlo:

$ /usr/local/ssl/misc/CA.pl -sign

Using configuration from /usr/local/ssl/openssl.cnf

Enter PEM pass phrase: ejemplo

Check that the request matches the signature

Signature ok

The Subjects Distinguished Name is as follows

countryName :PRINTABLE:'MX'

stateOrProvinceName :PRINTABLE:'Distrito Federal'

localityName :PRINTABLE:'Mexico'

organizationName :PRINTABLE:'UNAM'

organizationalUnitName:PRINTABLE:'DGSCA'

commonName :PRINTABLE:'Area de Seguridad en Computo'

emailAddress :IA5STRING:'asc@asc.unam.mx'

Certificate is to be certified until Jul 3 19:42:25 2001 GMT (365 days)

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

Signed certificate is in newcert.pem

Por último, toca poner nuestro certificado firmado por nosotros mismos en donde OpenSSL espera encontrarlo - en el directorio especificado en /usr/local/ssl/openssl.cnf.

$ su root

Password:

# cp newcert.pem /usr/local/ssl/private/

# cp demoCA/private/cakey.pem /usr/local/ssl/private/


next up previous contents
Next: Creación e instalación de Up: Implementación de una autoridad Previous: Instalación de OpenSSL   Índice General
Gunnar Wolf
2000-12-15