Estoy intentando crear un csr en una imagen de Amazon Linux AMI 2017.03.0.
Ejecuto el siguiente comando para generar test.key
[root]# openssl genrsa -out test.key 2048
Generating RSA private key, 2048 bit long modulus
............+++
.........................+++
e is 65537 (0x10001)
[root]#
Luego ejecuto lo siguiente:
[root]# openssl req -new -sha256 -key test.key -out test.csr
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.
-----
No template, please set one up.
problems making Certificate Request
[root]#
El mensaje "Sin plantilla, configure una" parece estar relacionado con el archivo openssl.conf
Mi configuración de openssl es la siguiente:
[root]# pwd
/etc/ssl
[root]# ls -al
total 12
drwxr-xr-x 2 root root 4096 Apr 3 22:53 .
drwxr-xr-x 82 root root 4096 Apr 21 10:54 ..
lrwxrwxrwx 1 root root 16 Jan 20 23:25 certs -> ../pki/tls/certs
-rw-r--r-- 1 root root 138 Apr 3 22:53 openssl.cnf
[root]# cat openssl.cnf
[ ssl_client ]
basicConstraints = CA:FALSE
nsCertType = client
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth
[root]# rpm -q -a |grep openssl
openssl-1.0.1k-15.99.amzn1.x86_64
[root]#
No parece ser una gran cantidad de información sobre la creación de plantillas de OpenSSL, ¿alguien puede ayudarme o darme un enlace a ejemplos o tutoriales?
Respuesta aceptada:
Lo que tiene en la stanza ssl_client no se aplicará al hacer csr. En realidad, se trata de atributos extendidos x509v3 que la CA normalmente agrega al certificado al firmar la CSR y se hace referencia a ellos con el nombre de la sección:
openssl x509 ... -extensions ssl_client
Si necesita completar el campo de asunto, debe usar algo como:
openssl req -new -sha256 -key test.key -out test.csr -subj "/C=SM/ST=somecountry/L=someloc/O=someorg/OU=somedept/CN=example.com"
También hay formas de especificar valores predeterminados a través de req
y req_distinguished_name
estrofa. Especificando en el req
, configura los valores predeterminados para openssl req ...
dominio. Especificando req_distinguished_name
puede establecer limitaciones en los componentes de DN de asunto y también establecer valores predeterminados para la creación de CSR interactiva que normalmente invoca con openssl req -new ...
y tal.
Los valores predeterminados se pueden establecer de la siguiente manera:
[ req_distinguished_name ]
countryName_default = SM
stateOrProvinceName_default = somecountry
localityName_default = someloc
...
Hay dos páginas increíbles a las que suelo referirme cuando quiero hacer algo con la línea de comandos openssl:
Relacionado:Magento:¿productos configurables y conjunto de atributos?https://jamielinux.com/docs/openssl-certificate-authority/appendix/root-configuration-file.html
https://www.phildev.net/ssl/opensslconf.html