Estranhos bytes nulos no CN de openssl req

2

Eu preciso enviar o CSR (solicitação de assinatura de certificado) para a autoridade SSL do nosso certificado SSL de domínio curinga. Eu vejo valores estranhos no campo CN (nome comum), por exemplo CN=\x00*\x00.\x00e\x00x\x00a\x00m\x00p\x00l\x00e\x00.\x00c\x00o\x00m . Se eu gerar CSR não curinga, o valor CN é o esperado: CN=www.example.com .

Por que existem os caracteres \x00 no CN no CSR para o domínio curinga?

Tudo bem, tudo (HTTPS) funcionará corretamente?

Eu estou no Debian estável (Wheezy), a versão do pacote openssl é 1.0.1e-2 + deb7u11.

$ openssl version
OpenSSL 1.0.1e 11 Feb 2013

É assim que eu gero o CSR:

$ openssl req -new -newkey rsa:2048 -nodes -keyout wildcard.key -out wildcard.csr
Generating a 2048 bit RSA private key
.....................................+++
.......................................+++
writing new private key to 'wildcard.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) [AU]:CZ
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:*.example.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Esta é a informação sobre o certificado:

$ openssl req -text -noout -verify -in wildcard.csr
verify OK
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=CZ, ST=Some-State, O=Internet Widgits Pty Ltd, CN=\x00*\x00.\x00e\x00x\x00a\x00m\x00p\x00l\x00e\x00.\x00c\x00o\x00m
        Subject Public Key Info:
...
    
por Messa 16.07.2014 / 13:38

1 resposta

1

Em openssl.conf , a opção string_mask . Quando está definido para default . então o CN pode ser codificado usando o BMPString (se bem me lembro) e isso produz o \x00 s.

Hoje (openssl.conf diz "recomendação PKIX após 2004") o valor deve ser definido como utf8only : string_mask = utf8only . Então, o CN então parece "normalmente":

Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=*.example.com
    
por 28.08.2015 / 15:47