OpenSSL: Difference between revisions

From Lolly's Wiki
Jump to navigationJump to search
m (Text replacement - "</source" to "</syntaxhighlight")
No edit summary
Line 23: Line 23:
$ openssl req -text -noout -verify -in ${hosts[0]}-csr.pem
$ openssl req -text -noout -verify -in ${hosts[0]}-csr.pem
</syntaxhighlight>
</syntaxhighlight>
=Print validity for certificate file=
<SyntaxHighlight lang=bash>
#!/bin/bash
for i in ${*}
do
  certfile=${i}
  enddate="$(openssl x509 -enddate -noout -in ${certfile} | sed -e 's#^.*=##g')"
  declare -i valid_seconds=$(( $(date --date="${enddate}" '+%s') - $(date '+%s') ))
  declare -i seconds=${valid_seconds}
  declare -i days=$(( ${seconds} / ( 24 * 60 * 60 ) ))
  seconds=$(( ${seconds} % ( 24 * 60 * 60 ) ))
  declare -i hours=$(( ${seconds} / ( 60 * 60 ) ))
  seconds=$(( ${seconds} % ( 60 * 60 ) ))
  declare -i minutes=$(( ${seconds} / 60 ))
  seconds=$(( ${seconds} %  60 ))
 
  printf "%s: %s (%d days %d hours %d seconds left)\n" "${certfile}" "$(date --date "${enddate}")" ${days} ${hours} ${seconds}
done
</SyntaxHighlight>

Revision as of 15:48, 2 March 2023

Verify

# openssl verify -CAfile /srv/www/htdocs/pub/RHN-ORG-TRUSTED-SSL-CERT /etc/pki/spacewalk/jabberd/server.pem
# openssl crl2pkcs7 -nocrl -certfile /srv/www/htdocs/pub/RHN-ORG-TRUSTED-SSL-CERT | openssl pkcs7 -print_certs -noout -print_certs


CSR

Create key and CSR

$ subject_without_cn='/C=DE/ST=Hamburg/L=Hamburg/O=Organisation/OU=Team'
$ emailAddress='webadmin@server.de'
$ declare -a hosts=( "name1.server.de" "name2.server.de" )
$ openssl req -newkey rsa:4096 -sha256 -keyout ${hosts[0]}-key.pem -out ${hosts[0]}-csr.pem -batch -subj "${subject_without_cn}/CN=${hosts[0]}/emailAddress=${emailAddress}" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:${hosts[0]}${hosts[1]:+,DNS:${hosts[1]}}${hosts[2]:+,DNS:${hosts[2]}}${hosts[3]:+,DNS:${hosts[3]}}${hosts[4]:+,DNS:${hosts[4]}}"))

Verify your CSR

$ openssl req -text -noout -verify -in ${hosts[0]}-csr.pem

Print validity for certificate file

#!/bin/bash

for i in ${*}
do
  certfile=${i}
  enddate="$(openssl x509 -enddate -noout -in ${certfile} | sed -e 's#^.*=##g')"
  declare -i valid_seconds=$(( $(date --date="${enddate}" '+%s') - $(date '+%s') ))
  declare -i seconds=${valid_seconds}

  declare -i days=$(( ${seconds} / ( 24 * 60 * 60 ) ))
  seconds=$(( ${seconds} % ( 24 * 60 * 60 ) ))

  declare -i hours=$(( ${seconds} / ( 60 * 60 ) ))
  seconds=$(( ${seconds} % ( 60 * 60 ) ))

  declare -i minutes=$(( ${seconds} / 60 ))
  seconds=$(( ${seconds} %  60 ))
  
  printf "%s: %s (%d days %d hours %d seconds left)\n" "${certfile}" "$(date --date "${enddate}")" ${days} ${hours} ${seconds}
done