🌝

SSL Command

Posted at — Dec 07, 2020
#ssl

Common command of SSL & TLS

Certificate’s generation and publisher

RootCA作成(keytool):

1
keytool -genkeypair -alias {rootca_name} -keyalg RSA -keysize 2048 -validity 7300 -keystore ca.jks

RootCAで二級CA作成に関するコマンド(keytool):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#独自証明書作成:
keytool -genkeypair -alias {subca_name} -keyalg RSA -keysize 2048 -validity 7300 -keystore ca.jks

#独自証明書の請求書を作成:
keytool -certreq -alias {subca_name} -file {subca_name}.csr -keystore ca.jks

#RootCAで独自証明書をサイン:
keytool -gencert -alias {rootca_name} -keystore ca.jks -infile {subca_name}.csr -outfile {subca_name}.cer -validity 7300

#証明書の証明書チェーンをキーストアに入れる:
keytool -importcert -alias {subca_name} -file {subca_name}.cer -keystore ca.jks

#p12形式のモニタサーバ証明書をエクスポート:
keytool -importkeystore -srckeystore ca.jks -destkeystore jp.cps-iot.{your_filename}.P12 -srcalias {subca_name} -destalias pvk -srcstoretype JKS -deststoretype PKCS12 -noprompt

#p12からclient証明書を取り出す:
openssl pkcs12 -in .\PF.pfx -nokeys -clcerts -out PF-cert.pem

#キーペアを取り出す:
openssl pkcs12 -in .\PF.pfx -nocerts -nodes -out PF-keypair.pem

# keystoreから証明書をエクスポート:

keytool -exportcert -alias {rootca_name} -keystore ca.jks  -file {rootca_name}.cer
	
#cer⇒pem
openssl x509 -inform der -in {rootca_name}.cer -out {rootca_name}.pem

#pem⇒der
openssl x509 -inform PEM -in PF-cert.pem -outform der -out 0000.der

#証明書から公開鍵をエクスポート:
openssl x509 -outform pem -in 0000.pem -pubkey -out 000000.key

#P12からオリジナル証明書(秘密鍵入り):
openssl pkcs12 -in myssl.pfx -nodes -out server.pem

#秘密鍵をエクスポート:
openssl rsa -in server.pem -out server.key

#公開鍵をエクスポート:
openssl x509 -in server.pem -out server.crt

#P12から秘密鍵:
openssl pkcs12 -in test.p12 -nocerts -out key.pem

#キーベアから秘密鍵:
openssl rsa -in keypair.key -out private.key

#キーペアから公開鍵:
openssl rsa -in keypair.key -pubout -out public.key

keystore操作:

1
2
3
4
5
6
7
8
#export:
keytool -export -keystore ca.jks -file xxx.cer/pem -alias xxx

#import:
keytool -import -alias xxxx -file xxx.pem/cer -keystore xxxxx.truststore

#truststore作成:
keytool -import -alias selfca -file .\selfca.pem -keystore cacert.truststore

opensslで証明書作成:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#private key作成:
    #passwordなし
    openssl genrsa -out xxx_key.pem 2048

    #passwordあり(des3で暗号化)
    openssl genrsa -des3 -out xxx_key.pem 2048

#請求書を作成:
openssl req -new -key .\xxx_key.pem -out xxx_crt.csr -config C:\OpenSSL-Win64\bin\openssl.cfg

#証明書作成
    #rootca:
        >openssl x509 -req -in .\rootca.csr -signkey .\rootca-key.pem -out rootca.pem
    
    #二級CA:
        openssl x509 -req -in .\xxx_crt.csr -signkey .\xxx_key.pem -out xxx_crt.pem -CA .\rootca.pem -CAkey .\rootca-key.pem -CAcreateserial -days 7300