OpenSSL'yi openssl req -new
, yeni bir sertifika imzalama isteği oluşturmaya çalışırken , CSR'ye alternatif konu adları girmem istenecek şekilde yapılandırmak istiyorum .
Ben bu hat ekledik [req_attributes]
Sesimin bölümünde openssl.cnf
:
subjectAltName = Alternative subject names
Bu şimdi bir CSR oluştururken SAN'lar için istendi istenen etkiye sahiptir:
$ openssl req -new -out test.csr -key ./test.key <<<
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) [US]:
State or Province Name (full name) [New York]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Example Co]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:test.example.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Alternative subject names []:DNS:alt1.example.com
Yukarıdaki örnekte DNS:alt1.example.com
SAN'lar istendiğinde girdim .
Sorun, ortaya çıkan CSR'nin iyi biçimlendirilmiş görünmemesi:
$ openssl req -text -in ./test.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=US, ST=New York, O=The Banes, CN=test.thebanes.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
[...]
Exponent: 65537 (0x10001)
Attributes:
X509v3 Subject Alternative Name:unable to print attribute
OpenSSL, Konu Alternatif Adı özniteliğinin değerini yazdıramadığından şikayet ediyor. Çevrimiçi örneklerden (insanların SAN'ları istediğim gibi etkileşimli olarak sormak yerine kendi openssl.cnf kodları sabit kodlama), bunun yerine görmeyi bekliyorum:
Attributes:
X509v3 Subject Alternative Name:
DNS:alt1.example.com
Peki, etkileşimli olarak yönlendirilen SAN'larla iyi biçimlendirilmiş bir CSR'yi nasıl oluşturabilirim?
openssl
- bunun için onun yapılandırma dosyasını mangle olacak bir komut dosyası gerekir. :( PS Bunu etkileşimli olmayan bir şekilde yapmak için kanıtlanmış bir çözüm burada: stackoverflow.com/a/9158662/2693875