差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:openssl_caserver [2021/01/17 16:46] – [- 產生效期兩年的伺服器憑證檔 ServerCA.crt] jonathan | tech:openssl_caserver [2025/04/13 00:50] (目前版本) – 移除了 -des3 參數, 將 -sha1 替換為 -sha256 jonathan | ||
---|---|---|---|
行 5: | 行 5: | ||
==== - 建立根憑證 Private Key 檔 RootCA.key ==== | ==== - 建立根憑證 Private Key 檔 RootCA.key ==== | ||
<code sh> | <code sh> | ||
- | openssl genrsa | + | openssl genrsa -out RootCA.key 2048 |
chmod og-rwx RootCA.key | chmod og-rwx RootCA.key | ||
</ | </ | ||
- | ++++看產生結果| | ||
- | <cli> | ||
- | [jonathan@pd920 ca]$ openssl genrsa -des3 -out RootCA.key 2048 | ||
- | Generating RSA private key, 2048 bit long modulus | ||
- | ..............................................+++ | ||
- | .+++ | ||
- | e is 65537 (0x10001) | ||
- | Enter pass phrase for RootCA.key: | ||
- | Verifying - Enter pass phrase for RootCA.key: <-- 再次輸入 RootCA 密鑰的密碼 | ||
- | [jonathan@pd920 ca]$ chmod og-rwx RootCA.key | ||
- | </ | ||
- | ++++ | ||
==== - 產生根憑證的申請檔 RootCA.req ==== | ==== - 產生根憑證的申請檔 RootCA.req ==== | ||
行 27: | 行 15: | ||
++++看產生結果| | ++++看產生結果| | ||
<cli> | <cli> | ||
- | [jonathan@pd920 ca]$ openssl req -new -key RootCA.key -out RootCA.req | + | $ openssl req -new -key RootCA.key -out RootCA.req |
- | Enter pass phrase for RootCA.key: <-- 輸入 RootCA 密鑰的密碼 | + | |
You are about to be asked to enter information that will be incorporated | You are about to be asked to enter information that will be incorporated | ||
into your certificate request. | into your certificate request. | ||
行 36: | 行 23: | ||
If you enter ' | If you enter ' | ||
----- | ----- | ||
- | Country Name (2 letter code) [GB]:TW | + | Country Name (2 letter code) [AU]:TW |
- | State or Province Name (full name) [Berkshire]:Taiwan | + | State or Province Name (full name) [Some-State]:Taiwan |
- | Locality Name (eg, city) [Newbury]:Taipei | + | Locality Name (eg, city) []:Taipei |
- | Organization Name (eg, company) [My Company | + | Organization Name (eg, company) [Internet Widgits Pty Ltd]: |
- | Organizational Unit Name (eg, section) []: <-- 可以不輸入 | + | Organizational Unit Name (eg, section) []: |
- | Common Name (eg, your name or your server' | + | Common Name (e.g. server FQDN or YOUR name) []: |
Email Address []: | Email Address []: | ||
Please enter the following ' | Please enter the following ' | ||
to be sent with your certificate request | to be sent with your certificate request | ||
- | A challenge password []: <-- 可以不輸入 | + | A challenge password []: |
- | An optional company name []: <-- 可以不輸入 | + | An optional company name []: |
- | [jonathan@pd920 ca]$ | + | $ |
</ | </ | ||
++++ | ++++ | ||
==== - 產生效期十年的根憑證檔 RootCA.crt ==== | ==== - 產生效期十年的根憑證檔 RootCA.crt ==== | ||
<code sh> | <code sh> | ||
- | openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey RootCA.key -in RootCA.req -out RootCA.crt | + | openssl x509 -req -days 3650 -sha256 |
- | rm -f RootCA.req | + | |
</ | </ | ||
++++看產生結果| | ++++看產生結果| | ||
<cli> | <cli> | ||
- | [jonathan@pd920 ca]$ openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey RootCA.key -in RootCA.req -out RootCA.crt | + | $ openssl x509 -req -days 3650 -sha256 |
- | Signature | + | Warning: ignoring -extensions option without -extfile |
- | subject=/C=TW/ST=Taiwan/L=Taipei/O=Trysoft Corp./[email protected] | + | Certificate request self-signature |
- | Getting Private key | + | subject=C = TW, ST = Taiwan, L = Taipei, O = Trysoft Corp., emailAddress = [email protected] |
- | Enter pass phrase for RootCA.key: <-- 輸入 RootCA 密鑰的密碼 | + | $ |
- | [jonathan@pd920 ca]$ rm -f RootCA.req | + | |
</ | </ | ||
++++ | ++++ | ||
行 74: | 行 59: | ||
chmod og-rwx ServerCA.key | chmod og-rwx ServerCA.key | ||
</ | </ | ||
- | ++++看產生結果| | ||
- | <cli> | ||
- | [jonathan@pd920 ca]$ openssl genrsa -out ServerCA.key 2048 | ||
- | Generating RSA private key, 2048 bit long modulus | ||
- | .............................................+++ | ||
- | ...........................................................................................................+++ | ||
- | e is 65537 (0x10001) | ||
- | 不會出現輸入密碼的訊息,因為 Server CA 不需要輸入密碼,否則啟動 Service 時會需要輸入密碼後,才可繼續執行服務 | ||
- | </ | ||
- | ++++ | ||
==== - 產生伺服器憑證的申請檔 ServerCA.req ==== | ==== - 產生伺服器憑證的申請檔 ServerCA.req ==== | ||
行 91: | 行 66: | ||
++++看產生結果| | ++++看產生結果| | ||
<cli> | <cli> | ||
- | [jonathan@pd920 ca]$ openssl req -new -key ServerCA.key -out ServerCA.req | + | $ openssl req -new -key ServerCA.key -out ServerCA.req |
You are about to be asked to enter information that will be incorporated | You are about to be asked to enter information that will be incorporated | ||
into your certificate request. | into your certificate request. | ||
行 99: | 行 74: | ||
If you enter ' | If you enter ' | ||
----- | ----- | ||
- | Country Name (2 letter code) [GB]:TW | + | Country Name (2 letter code) [AU]:TW |
- | State or Province Name (full name) [Berkshire]:Taiwan | + | State or Province Name (full name) [Some-State]:Taiwan |
- | Locality Name (eg, city) [Newbury]:Taipei | + | Locality Name (eg, city) []:Taipei |
- | Organization Name (eg, company) [My Company | + | Organization Name (eg, company) [Internet Widgits Pty Ltd]: |
- | Organizational Unit Name (eg, section) []: <-- 可以不輸入 | + | Organizational Unit Name (eg, section) []: |
- | Common Name (eg, your name or your server's hostname) []: | + | Common Name (e.g. server |
Email Address []: | Email Address []: | ||
Please enter the following ' | Please enter the following ' | ||
to be sent with your certificate request | to be sent with your certificate request | ||
- | A challenge password []: <-- 可以不輸入 | + | A challenge password []: |
- | An optional company name []: <-- 可以不輸入 | + | An optional company name []: |
+ | $ | ||
</ | </ | ||
++++ | ++++ | ||
行 116: | 行 92: | ||
==== - 產生效期兩年的伺服器憑證檔 ServerCA.crt ==== | ==== - 產生效期兩年的伺服器憑證檔 ServerCA.crt ==== | ||
<code sh> | <code sh> | ||
- | openssl x509 -req -days 730 -sha1 -extensions v3_req -CA RootCA.crt -CAkey RootCA.key | + | openssl x509 -req -days 730 -sha256 |
rm -f ServerCA.req | rm -f ServerCA.req | ||
</ | </ | ||
++++看產生結果| | ++++看產生結果| | ||
<cli> | <cli> | ||
- | [jonathan@pd920 ca]$ openssl x509 -req -days 730 -sha1 -extensions v3_req -CA RootCA.crt -CAkey RootCA.key | + | $ openssl x509 -req -days 730 -sha256 |
- | Signature | + | Warning: ignoring -extensions option without -extfile |
- | subject=/C=TW/ST=Taiwan/L=Taipei/O=Trysoft Corp./CN=mail.ichiayi.com/[email protected] | + | Certificate request self-signature |
- | Getting CA Private Key | + | subject=C = TW, ST = Taiwan, L = Taipei, O = Trysoft Corp., CN = mail.ichiayi.com, emailAddress = [email protected] |
- | Enter pass phrase for RootCA.key: <-- 輸入 RootCA 密鑰的密碼 | + | $ |
- | [jonathan@pd920 ca]$ rm -f ServerCA.req | + | |
</ | </ | ||
++++ | ++++ | ||
行 135: | 行 110: | ||
==== - 建立用戶憑證 Private Key 檔 ClientCA.key ==== | ==== - 建立用戶憑證 Private Key 檔 ClientCA.key ==== | ||
<code sh> | <code sh> | ||
- | openssl genrsa | + | openssl genrsa -out ClientCA.key 2048 |
chmod og-rwx ClientCA.key | chmod og-rwx ClientCA.key | ||
</ | </ | ||
- | ++++看產生結果| | ||
- | <cli> | ||
- | [jonathan@pd920 ca]$ openssl genrsa -des3 -out ClientCA.key 2048 | ||
- | Generating RSA private key, 2048 bit long modulus | ||
- | ...........+++ | ||
- | ................................................+++ | ||
- | e is 65537 (0x10001) | ||
- | Enter pass phrase for ClientCA.key: | ||
- | Verifying - Enter pass phrase for ClientCA.key: | ||
- | [jonathan@pd920 ca]$ chmod og-rwx ClientCA.key | ||
- | </ | ||
- | ++++ | ||
==== - 產生用戶憑證的申請檔 ClientCA.req ==== | ==== - 產生用戶憑證的申請檔 ClientCA.req ==== | ||
行 183: | 行 146: | ||
==== - 產生效期兩年的用戶憑證檔 ClientCA.crt ==== | ==== - 產生效期兩年的用戶憑證檔 ClientCA.crt ==== | ||
<code sh> | <code sh> | ||
- | openssl x509 -req -days 730 -sha1 -extensions v3_req -CA RootCA.crt -CAkey RootCA.key | + | openssl x509 -req -days 730 -sha256 |
rm -f ClientCA.req | rm -f ClientCA.req | ||
</ | </ | ||
++++看產生結果| | ++++看產生結果| | ||
<cli> | <cli> | ||
- | [jonathan@pd920 ca]$ openssl x509 -req -days 730 -sha1 -extensions v3_req -CA RootCA.crt -CAkey RootCA.key | + | [jonathan@pd920 ca]$ openssl x509 -req -days 730 -sha256 |
Signature ok | Signature ok | ||
subject=/ | subject=/ |