dijous, 13 de desembre del 2012

Com generar claus SSL en format pem

  • Crear una nova clau privada ssl:

    • Generar una nova unencrypted  clau privada RSA en format PEM:
      openssl genrsa -out privkey.pem 1024
      
      Pots crear una clau de xifrat, afegint l'opció -des3.
  • Fer un certificat self-signed:

    • Crear un CSR utilitzant la teva clau privada RSA:
      openssl req -new -key privkey.pem -out certreq.csr
      
      (Aquest és també el tipus de CSR ha de crear per enviar a root CA perquè puguin signar per tu.)
    • Self-sign la teva CSR amb la seva pròpia clau privada:
      openssl x509 -req -days 3650 -in certreq.csr -signkey privkey.pem -out newcert.pem
      
  • Crear un certificat signat per la seva certificate authority (CA):

    • Configura /etc/ssl/openssl.cnf i usa CA.pl per crear la clau CA privada i certificat:
      vi /etc/ssl/openssl.cnf
      /usr/lib/ssl/misc/CA.pl -newca
      
      La seva còpia de openssl.cnf i CA.pl pot estar ubicat en un altre lloc.
    • Crea un certificat unsigned usant la seva clau rsa privada:
      openssl req -new -x509 -key privkey.pem -out cert.pem
      
    • Usa la teva clau privada i el teu certificat per crear CSR:
      cat cert.pem privkey.pem | openssl x509 -x509toreq -signkey privkey.pem -out certreq.csr
      
    • Sign the certificate with the CA private key using the CSR you just made:
      openssl ca -in certreq.csr -out newcert.pem
      rm -f certreq.csr
      
  • Instal·la el certificat signat i la clau privada per utilitzar per ssl server:

    • newcert.pem el el certificat signat per la seva CA local que podrà utilitzar en un servidor SSL:
      (openssl x509 -in newcert.pem; cat privkey.pem) > server.pem
      ln -s server.pem `openssl x509 -hash -noout -in server.pem`.0   
      # dot-zero
      
      ( El server.pem és un arxiu PEM que pot ser utilitzat per Apache juntament amb el hash d'arxiu.)


Pots veure el contingut CSR amb:
openssl req -noout -text -in certreq.csr

Pots veure el contingut del certificat amb:
openssl x509 -noout -text -in newcert.pem

Pots mostrar MD5 fingerprint del certificat amb:
openssl x509 -fingerprint -noout -in newcert.pem

Pots verificar que la seva clau privada, CSR i certificat signat coincideixen:
openssl rsa -noout -modulus -in privkey.pem |openssl md5
openssl req -noout -modulus -in certreq.csr |openssl md5
openssl x509 -noout -modulus -in newcert.pem |openssl md5

Cap comentari:

Publica un comentari a l'entrada