Generazione di una richiesta di firma del certificato per un server web Apache su un sottodominio?

1

Sto leggendo le istruzioni per che genera una CSR , e si legge che:

"Replace yourdomain with the domain name you're securing. For example, if your domain name is coolexample.com, you would type coolexample.key and coolexample.csr."

Mi rendo conto che si tratta solo di nomi di file che verranno letti dal mio server, ma per rispettare la convinzione, se sto proteggendo un singolo server e non un intero dominio, dovrei includere il nome host nel nome di la chiave privata e la CSR?

    
posta leeand00 20.11.2015 - 21:56
fonte

2 risposte

1

Per quello che vale:

Ecco cosa faccio:

La catena di fiducia per il collegamento incluso il certificato dell'entità finale e il certificato della CA radice ha 3 certificati. E li chiamerei così:

  • 0.example.com.cer
  • 1.intermediate.cer
  • 2.root.cer

Perché? Perché poi un elenco di directory li dà nell'ordine corretto immediatamente. E .cer è l'estensione file di Windows predefinita.

E per la chiave:

  • 0.example.com.key

E per la richiesta:

  • 0.example.com.req

Ora perché non .csr ? Perché CA di Windows vuole .req e Unix / Linux CA non si preoccupano in entrambi i casi. Quindi REQ lo è.

Sottodominio nel nome o no?

Includi cosa ti rende più facile ricordare. "esempio.com" non è in realtà il CommonName per quel certificato. Sarebbe stato www.example.org . E ho scelto ancora di andare con il nome example.com, perché è quello che ricordo meglio di quel sito.

Quindi se è importante per te, se questo ti aiuta a mantenere le cose a parte, quindi includilo.

    
risposta data 20.11.2015 - 22:19
fonte
0

Il nome e l'estensione non sono molto importanti. Ciò che importa firmare il tuo server web è Nome comune e Nome alternativo soggetto (SAN) . È possibile specificare nome host, FQDN, alias (www.hostname) e indirizzo IP pubblico (non consigliato) del server Web.

La SAN può essere specificata utilizzando un metodo diverso, su Microsoft CA, è possibile specificarlo mentre si incolla il contenuto CSR nell'interfaccia web.

In"attributi aggiuntivi", digita:

san:dns=dns.name[&dns=dns.name]

e.q. san: dns = yourwebserv & dns = www.yourwebserv & dns = yourwebserv.domain.tld

Personalmente utilizzo un file di configurazione, specifica "subjectAltName" e generi il mio CSR usando questo comando:

openssl req -new -nodes -out certificate_b64.cer -keyout private.key -config <Config file>

File di configurazione:

[ req ]
default_md = sha512
default_bits = 2048
default_keyfile = private.key
distinguished_name = req_distinguished_name
encrypt_key = no
prompt = no
string_mask = nombstr
req_extensions = v3_req
input_password = <password>
output_password = <password>

[ v3_req ]
basicConstraints = CA:false
keyUsage = digitalSignature, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = DNS:<hostname>, IP:<OptionalIP>, DNS:<serverFQDN>

[ req_distinguished_name ]
countryName = <AU>
stateOrProvinceName = <ServerCounty>
localityName = <ServerTown>
0.organizationName = <organizationName >
organizationalUnitName = <organizationalUnitName >
commonName = <ServerFQDN>

È un po 'confuso dato che puoi trovare tutti i tipi di formati diversi per il materiale SSL (CSR, Certificato, Chiave privata)

La base comune è la seguente, per ottenere un certificato firmato, che è il tuo obiettivo, da utilizzare sul tuo server web, devi:

  • Genera o importa una CSR. Durante la generazione di una CSR, viene creata una chiave privata (utilizzata per decrittografare)

  • Invia questo CSR (testo normale) a un'autorità di certificazione (CA)

Il file può avere qualsiasi estensione e qualsiasi nome, puoi inviare il file alla CA o aprirlo con un editor di testo, copiare e incollare il suo contenuto nell'interfaccia Web di CA.

  • Recupera il certificato dalla CA e implementalo per il tuo server web. (utilizzato per crittografare)

Una volta inviato il CSR, è possibile eliminare il file perché non serve e tutto ciò di cui il server Web ha bisogno sono i certificati (il certificato + CA intermedio + CA root, chiamato catena di certificati) e una chiave privata.

Il tuo server web deve sapere quale / dove è la chiave privata e cosa / dove è il certificato in modo che possa fare affidamento sulle estensioni e deve essere salvato in una posizione specifica, in un formato specifico. Ti farei riferimento alla documentazione del tuo server Web (Nginx, Apache, IIS?) Per scoprirlo.

Infine GoDaddy ti spiega come generare una CSR e una chiave privata, ma a volte il tuo server o appliance web può farlo per te tramite una GUI, e tutto ciò che devi fare è scaricare una CSR (Importazione) e inviarla a il tuo CA.

Qui sotto trovi un link che spiega il diverso formato SSL e come controllare / convertire il materiale SSL: link

    
risposta data 20.11.2015 - 23:27
fonte

Leggi altre domande sui tag