Certificado SSL Nginx

1

Eu recebi dois arquivos do serviço de certificação: CSR.txt: Parece assim:

        -----BEGIN CERTIFICATE REQUEST-----
Code
-----END CERTIFICATE REQUEST-----

e Private_Key.txt com o mesmo formato Eu estou tentando configurá-los no Nginx mas estou sempre recebendo este erro quando eu reiniciar o Nginx

failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib)

Eu renomei CSR.txt para domain.crt e private_key.txt para domain_key.key minha configuração nginx:

server {
    listen 443;
    server_name domain.com;

    root html;
    index index.html index.htm;

    ssl on;
    ssl_certificate /etc/ssl/certs/domain.crt;
    ssl_certificate_key /usr/share/nginx/www/domain.com/domain_key.key;

    ssl_session_timeout 5m;

    ssl_protocols SSLv3 TLSv1;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
    ssl_prefer_server_ciphers on;

    location / {
        try_files $uri $uri/ =404;
    }
}
    
por Aymane Shuichi 14.10.2013 / 16:59

2 respostas

2

Como por ceejayoz. Na maioria dos casos, o processo funciona como:

Você gera:

cert.key
cert.csr (using cert.key)

Você envia cert.csr para o serviço de certificação (CA). A CA envia você:

cert.pem

cert.pem é o seu certificado assinado e deve ser parecido com:

-----BEGIN CERTIFICATE REQUEST-----
MIICpjCCAY4CAQAwYTEaMBgGA1UEAxMRZG9jcy4zY2JldGEuY28udWsxDzANBgNV
...
efqf6gYqezWiXs1s5aNh363F1j+o7TWi0D5ayEBv/lihAmLs4dsaJzSvZiWVxnIr
5hUED99Ne1WUbg==
-----END CERTIFICATE REQUEST-----

A chave cert.key deve se parecer com:

-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAqXpfLXr2oRPwP+Pt4Az+iHldiHrIDnVW/uWY3MPvAJN8BWLe
...
f2UKtbEUsSDQ2BWiQia/3VUzLOlDArYxqA7kZFKes2z9ji8vobPG27o=
-----END RSA PRIVATE KEY-----

O CSR cert.csr deve se parecer com:

-----BEGIN CERTIFICATE REQUEST-----
MIIEqjCCApICAQAwZTEeMBwGA1UEAxMVZGV2Y2lyY3MuM2NiZXRhLmNvLnVrMQ8w
...
MctmU41Owfq+sIOGZ7G4zZqezUYownWt13hbprLk4DtWWEENRmvNinl0uCjAUA==
-----END CERTIFICATE REQUEST-----

Algumas CAs geram a chave e o CSR para você como uma conveniência (o startssl pode fazer isso), mas de qualquer forma, para operar o site nginx, é necessário apenas os arquivos cert.pem e key.pem . Você pode obtê-los da fonte de certificado?

Quando você os obtiver, deverá ser capaz de fazer:

openssl rsa -in key.pem -modulus

openssl rsa -in cert.pem -modulus

Isso imprimirá o certificado e o módulo de chave. Eles devem combinar.

Você pode enviar uma solicitação com:

openssl req -in cert.csr

Espero que ajude.

    
por 14.10.2013 / 17:20
2

Um CSR é uma solicitação para um certificado, não um certificado. Na maioria dos casos, é algo que você gera, não outra pessoa.

É usado pelo seu provedor de SSL para criar um certificado, que eles fornecem a você (como um arquivo .crt, geralmente).

A propósito, é melhor para a segurança se você gerar a chave privada (como deveria ser privada ). Siga as instruções do @ davey para criar um e o CSR necessário.

    
por 14.10.2013 / 17:07

Tags