Назад | Перейти на главную страницу

Подпрограммы кодирования SSL .csr asn1: ASN1_CHECK_TLEN: неправильный тег

Я создал файлы .csr и .key в / etc / apache2 / ssl / domain / как

openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

как сказал GoDaddy, а затем связал эти файлы с директивами apache:

<VirtualHost *:443>

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/domain/domain.com.csr
SSLCertificateKeyFile /etc/apache2/ssl/domain/domain.com.key
DocumentRoot /clients/domain.com/www/
ScriptAlias /cgi-bin/ /clients/domain.com/cgi/
ServerAlias domain.com www.domain.com *.domain.com
ServerName www.domain.com
ErrorLog /clients/domain.com/logs/error_log
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog "|/usr/bin/cronolog /clients/domain.com/logs/%Y/%m/%d/access_log" combined
AddType application/x-httpd-php .html
    <Directory />
            Options -Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order deny,allow
            Allow from all
    </Directory>

и когда я это сделаю

apachectl configtest

он говорит, что синтаксис ОК, но запуск не выполняется с:

[error] Init: Unable to read server certificate from file /etc/apache2/ssl/domain/domain.csr
[error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error

который, кажется, предполагает либо недопустимую команду openssl cert, либо несоответствие в директиве apache2, я думаю, но я не могу найти ничего очевидного. У меня есть еще один сертификат SSL GoDaddy, работающий в другом виртуальном домене в этом ящике. Я упустил что-то очевидное? Мой csr выглядит так:

-----BEGIN CERTIFICATE REQUEST-----
MIICiTCCAXECAQAwRDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMREwDwYDVQQH
EwhTYW5EaWVnbzEVMBMGA1UEChMMRmxpeXByb2R1Y3RzMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA0ZxcveaAefauZvSMiEAJZjhAKRqgym++IeIHEZ2D
PZ5vgp8vB4/UXUBtXQoEKrviCqJDkgzXUAviR3RLpbEMtS3RQdNjBnsVAe7GuAJ9
...
R5Bi9PaKwVOchbnKICZHWSiaDqIv3TOfT+KBcMDsnUzJbdhteUnIfk5VLdgJEuyS
IZiPnEHSh8aVhtfKzrnWYcY9ce3PEQZKfyF+o1lf7vEw80PTUfTD0PysOp20MmJK
5TaF8Zu0waKyilEhWyo7uKX8AsX/mjkl1QljPyHb+uGa7wIDAQABoAAwDQYJKoZI
hvcNAQEFBQADggEBAIVHReg+
-----END CERTIFICATE REQUEST-----

CSR! = CER

Вы путаете запросы сертификатов и собственно сертификаты.

Вам необходимо отправить CSR в центр сертификации (CA).

Затем они превратят вашу CSR (и ваши деньги) в настоящую CER.

(Вы можете посмотреть https://letsencrypt.org если вы хотите пропустить шаг "деньги".)

Примечание: сообщения об ошибках OpenSSL в целом ужасны.