Come leggo automaticamente le informazioni sul certificato utilizzando OpenSSL

Per generare un file di certificato SSL per Apache , sto usando il command sotto:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.cert 

E l'ho alimentato manualmente con questi parametri:

  • Come redirect prima di controllare per SSL?
  • Compilare un singolo module del kernel (Debian / Ubuntu)
  • Come posso aggiornare apache in Ubuntu 14.04 LTS
  • Haproxy 1.5.3 / OpenSSL - Creazione di PEM
  • Qualunque strumento open source basato su web X509 PKI?
  • nginx: Nessun certificato client i nomi di CA inviati
  • Nome del paese (codice a due lettere) [AU]: AU
    Stato o Provincia (nome completo): Myname
    [Alcuni Stati]: Alcuni Stati
    Nome della località (ad esempio, città) []: Città
    Nome dell'organizzazione (ad esempio, società) [Internet Widgits Pty Ltd]: Internet
    Nome dell'unità organizzativa (ad es. Sezione) []: Sezione
    Nome comune (ad es. Server FQDN o il tuo nome) []: il tuo nome
    Indirizzo e-mail []: email@gmail.com

    È ansible immetterli da un file o da una row di command OpenSSL utilizzando le opzioni?

    Non esiste alcun suggerimento dalle pagine dell'uomo di OpenSSL.

    3 Solutions collect form web for “Come leggo automaticamente le informazioni sul certificato utilizzando OpenSSL”

    È ansible creare un file di configuration e utilizzarlo nel command. Potresti per esempio creare un file di configuration denominato openssl.cnf e utilizzarlo come questo:

     openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.cert -config ./openssl.cnf 

    Nel tuo caso puoi impostare i seguenti parametri:

     [ req_distinguished_name ] # Variable name Prompt string #------------------------- ---------------------------------- 0.organizationName = Organization Name (company) organizationalUnitName = Organizational Unit Name (department, division) emailAddress = Email Address emailAddress_max = 40 localityName = Locality Name (city, district) stateOrProvinceName = State or Province Name (full name) countryName = Country Name (2 letter code) countryName_min = 2 countryName_max = 2 commonName = Common Name (hostname, IP, or your name) commonName_max = 64 

    Ulteriori informazioni possono essere trovate all'indirizzo http://www.flatmtn.com/article/setting-openssl-create-certificates#SSLCert-4

    Da qualche parte nel file di configuration hai bisogno di:

     [ req ] prompt = no distinguished_name = req_distinguished_name [ req_distinguished_name ] countryName = GB stateOrProvinceName = Provinceshire localityName = Locationsville organizationName = Example Ltd organizationalUnitName = PKI commonName = www.example.com 

    Il prompt = no nella sezione [ req ] interrompe i prompt visualizzati e cambia il formato previsto nella sezione distinguished_name . Se non si dispone di questa opzione, OpenSSL si aspetta il formato di richiesta che si dispone attualmente.

    Si noti che l'ordine dei campi è modificabile e detta l'ordine nel certificato.

    Potrebbe anche essere eseguito da uno script:

     #!/bin/bash country=WORLD state=mystate locality=Mycity organization=myorg organizationalunit=IT email=email@gmail.com openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.cert -subj "/C=$country/ST=$state/L=$locality/O=$organization/OU=$organizationalunit/CN=$commonname/emailAddress=$email" 

    Trovato a: http://www.jamescoyle.net/how-to/1073-bash-script-to-create-an-ssl-certificate-key-and-request-csr

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.