GNU/Linux >> Znalost Linux >  >> Linux

Generovat otisky prstů Hpkp pro všechny řetězce certifikátů?

Příkaz zespodu schopný vygenerovat Base64 pin pouze pro první certifikát hloubky. Ale je potřeba vygenerovat pin pro celou hloubku certifikátu.

openssl s_client -servername example.com -connect example.com:443 -showcerts 
| openssl x509 -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

Poskytuje pouze jeden klíč namísto tří,

cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=

Jak tedy můžeme vygenerovat všechny tři úrovně kolíků?

Přijatá odpověď:

I když většinou souhlasím s Romeem, že byste už měli mít certifikační soubory na serveru, pokud máte potřeba zpracovat více certifikátů od jednoho s_client můžete udělat něco jako:

 openssl s_client ..... -showcerts 
   | awk '/-----BEGIN/{f="cert."(n++)} f{print>f} /-----END/{f=""}'
 # or input from bundle or chain file
 for c in cert.*; do
   openssl x509 <$c -noout -pubkey .....
 done
 rm cert.* 
 # use better temp name/location if you want

Linux
  1. Jak vygenerovat x509 SHA256 hash certifikát s vlastním podpisem pomocí OpenSSL

  2. Station – chytrá pracovní stanice pro všechny vaše aplikace

  3. Jak vygenerovat žádost o podpis certifikátu (CSR) s OpenSSL?

  1. Vygenerujte žádost o podpis certifikátu

  2. Jak vygenerovat klíč SSL, CSR a certifikát s vlastním podpisem pro Apache

  3. Seznam všech dostupných certifikátů ssl ca

  1. Generovat CSR z Cpanel

  2. Jak vygenerovat klíč a CSR v cPanel pro váš certifikát SSL

  3. Konfigurace řetězce certifikátů CA se nezdařila