====== Nützliche openssl Befehle ====== ==== Bestehenden CSR (Certificate Signing Request) anschauen ==== openssl req -noout -text -in server.csr ==== CSR erstellen ==== openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr ==== CSR ansehen ==== openssl req -noout -text -in server.csr ==== Client Zertifikat ansehen ==== openssl x509 -in client.crt -noout -text ==== Zertifikatskette überprüfen ==== openssl verify -CAfile /etc/pki/tls/certs/ca-bundle.crt ./file.crt ./file.crt: OU = Go to https://www.thawte.com/repository/index.html, OU = Thawte SSL123 certificate, OU = Domain Validated, CN = domain.de error 20 at 0 depth lookup:unable to get local issuer certificate openssl verify -CAfile /etc/pki/tls/certs/ca-bundle.crt -untrusted ./domain_ca.crt ./file.crt ./file.crt: OK ==== Passt ein Zertifikat zu einem Key? ==== openssl x509 -noout -modulus -in diskette.debian-hell.org.crt | openssl md5 baa75012877490f93f114130c0a01547 openssl rsa -noout -modulus -in diskette.debian-hell.org.key | openssl md5 baa75012877490f93f114130c0a01547 ==== Ablaufdatum eines Zertifikats per CLI ermitteln ==== user@box:~$ openssl s_client -connect home.debian-hell.org:443 | openssl x509 -noout -enddate depth=1 /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Class 1 Primary Intermediate Server CA verify error:num=20:unable to get local issuer certificate verify return:0 notAfter=Mar 21 10:41:36 2014 GMT ===== Von der CA bis zum self signed Zertifikat ===== Anlegen der CA: # -des3 versieht den Key mit einem Passwort openssl genrsa -des3 -out ca.key 4096 # 10 Jahre Laufzeit (3650 Tage) openssl req -new -x509 -days 3650 -key ca.key -out ca.crt CSR erstellen: # -des3 versieht den Key mit einem Passwort openssl genrsa -des3 -out fu.debian-hell.org.key 4096 openssl req -new -key fu.debian-hell.org.key -out fu.debian-hell.org.csr Zertifikat mit der CA signieren: openssl x509 -req -days 3650 -in fu.debian-hell.org.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out fu.debian-hell.org.crt