因為 Google Chrome 39 出來的關係,一些以前簽出來只包含 SHA-1 的 SSL certificate 因此導致了綠色 icon 變成黃色 icon,所以都要重簽一次產生 SHA-2 資訊。
有人說可以只要在簽名產生 crt 的部份做就好,不過這邊還是都提出來,並且給驗證的方式。
如果本來就已經有寫好 script,那麼只要在產生 csr 與簽名產生 crt 的步驟都加上 -sha256
就可以解決了。
這是產生 csr 的:(${HOST}
以及 subj 的內容自己代換)
openssl req -new -key ${HOST}.key -subj "/C=TW/ST=Taiwan/L=Taipei/O=MyOrganization/OU=MyUnit/CN=${HOST}" -sha256 -out ${HOST}.csr
而 csr 檢查的方式是:
openssl req -in ${HOST}.csr -text
看 Signature Algorithm 是不是 sha256WithRSAEncryption。
簽名產生 crt 也要加上 -sha256
:
openssl x509 -req -days 365 -in ${HOST}.csr -CA ca/ca.crt -CAkey ca/ca.key -sha256 -out ${HOST}.crt
而 crt 檢查的方式是:
openssl x509 -in ${HOST}.crt -text
一樣是看 Signature Algorithm 這邊是不是 sha256WithRSAEncryption。