針對 CN=AndroidServer, OU=R&D, O=SDL, L=Taichung, ST=Taiwan, C=TW 產生有效期 3,650 天的 2,048 位元 RSA 金鑰組以及自我簽署憑證 (SHA256withRSA)
[儲存 server.keystore]
D:\SVN_Repository3\pi\Key>dir
磁碟區 D 中的磁碟是 新增磁碟區
磁碟區序號: 3AAA-91FF
D:\SVN_Repository3\pi\Key 的目錄
2017/08/31 13:27 <DIR> .
2017/08/31 13:27 <DIR> ..
2017/08/31 13:27 2,228 server.keystore
1 個檔案 2,228 位元組
2 個目錄 679,286,407,168 位元組可用
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -validity 3650 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore client.p12 -dname "CN=AndroidClient,OU=R&D,O=SDL,L=Taichung,ST=Taiwan,c=TW" -storepass client1234
針對 CN=AndroidClient, OU=R&D, O=SDL, L=Taichung, ST=Taiwan, C=TW 產生有效期 3,650 天的 2,048 位元 RSA 金鑰組以及自我簽署憑證 (SHA256withRSA)
[儲存 client.p12]
D:\SVN_Repository3\pi\Key>dir
磁碟區 D 中的磁碟是 新增磁碟區
磁碟區序號: 3AAA-91FF
D:\SVN_Repository3\pi\Key 的目錄
2017/08/31 13:32 <DIR> .
2017/08/31 13:32 <DIR> ..
2017/08/31 13:32 2,572 client.p12
2017/08/31 13:27 2,228 server.keystore
2 個檔案 4,800 位元組
2 個目錄 679,286,403,072 位元組可用
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -export -v -alias client -keystore client.p12 -storetype PKCS12 -storepass client1234 -rfc -file client.cer
憑證儲存在檔案 <client.cer>
D:\SVN_Repository3\pi\Key>dir
磁碟區 D 中的磁碟是 新增磁碟區
磁碟區序號: 3AAA-91FF
D:\SVN_Repository3\pi\Key 的目錄
2017/08/31 13:56 <DIR> .
2017/08/31 13:56 <DIR> ..
2017/08/31 13:57 1,260 client.cer
2017/08/31 13:55 2,572 client.p12
2017/08/31 13:54 2,230 server.keystore
3 個檔案 6,062 位元組
2 個目錄 679,286,390,784 位元組可用
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -export -v -alias server -keystore server.keystore -storepass store1234 -rfc -file server.cer
憑證儲存在檔案 <server.cer>
D:\SVN_Repository3\pi\Key>dir
磁碟區 D 中的磁碟是 新增磁碟區
磁碟區序號: 3AAA-91FF
D:\SVN_Repository3\pi\Key 的目錄
2017/08/31 13:58 <DIR> .
2017/08/31 13:58 <DIR> ..
2017/08/31 13:57 1,260 client.cer
2017/08/31 13:55 2,572 client.p12
2017/08/31 13:58 1,260 server.cer
2017/08/31 13:54 2,230 server.keystore
4 個檔案 7,322 位元組
2 個目錄 679,286,386,688 位元組可用
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -import -v -alias server -file server.cer -keystore client.truststore -storepass trust1234
擁有者: CN=AndroidServer, OU=R&D, O=SDL, L=Taichung, ST=Taiwan, C=TW
發出者: CN=AndroidServer, OU=R&D, O=SDL, L=Taichung, ST=Taiwan, C=TW
序號: 33fc9a74
有效期自: Thu Aug 31 13:54:47 CST 2017 到: Sun Aug 29 13:54:47 CST 2027
憑證指紋:
MD5: C7:7E:71:51:21:79:BF:BE:D9:42:E5:42:B7:0F:4D:19
SHA1: DD:3E:87:9E:92:67:6D:F4:18:70:E8:23:82:93:A6:A9:9D:0A:7A:F4
SHA256: 05:EE:F8:9F:DB:89:C2:D0:20:40:C5:77:DF:50:2D:3D:06:E4:FC:EE:15:4A:39:14:0E:F2:AF:29:23:65:A6:49
簽章演算法名稱: SHA256withRSA
版本: 3
擴充套件:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: CB 69 A6 E6 E4 06 5F 7C EF 14 38 37 88 F8 30 A7 .i...._...87..0.
0010: 1A 7F 7F 3A ...:
]
]
信任這個憑證? [否]: y
憑證已新增至金鑰儲存庫中
[儲存 client.truststore]
D:\SVN_Repository3\pi\Key>dir
磁碟區 D 中的磁碟是 新增磁碟區
磁碟區序號: 3AAA-91FF
D:\SVN_Repository3\pi\Key 的目錄
2017/08/31 14:02 <DIR> .
2017/08/31 14:02 <DIR> ..
2017/08/31 13:57 1,260 client.cer
2017/08/31 13:55 2,572 client.p12
2017/08/31 14:02 940 client.truststore
2017/08/31 13:58 1,260 server.cer
2017/08/31 13:54 2,230 server.keystore
5 個檔案 8,262 位元組
2 個目錄 679,286,382,592 位元組可用
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -import -v -alias client -file client.cer -keystore server.keystore -storepass store1234
擁有者: CN=AndroidClient, OU=R&D, O=SDL, L=Taichung, ST=Taiwan, C=TW
發出者: CN=AndroidClient, OU=R&D, O=SDL, L=Taichung, ST=Taiwan, C=TW
序號: 4a2adb9c
有效期自: Thu Aug 31 13:55:07 CST 2017 到: Sun Aug 29 13:55:07 CST 2027
憑證指紋:
MD5: A6:8C:FA:94:8C:F9:D5:09:54:DD:12:FE:75:51:19:86
SHA1: 10:7D:E3:DC:D8:42:43:FF:46:97:26:A2:8F:AA:B7:90:74:16:8D:24
SHA256: 3B:30:95:09:AE:1A:AC:AC:2D:3C:10:4B:7B:33:4B:E6:5B:51:AC:C7:C8:A0:99:EF:39:0F:64:DE:F5:56:6E:D8
簽章演算法名稱: SHA256withRSA
版本: 3
擴充套件:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 32 BA E6 02 8E A5 3D 02 77 01 21 29 B0 55 21 82 2.....=.w.!).U!.
0010: F6 8B 34 9B ..4.
]
]
信任這個憑證? [否]: y
憑證已新增至金鑰儲存庫中
[儲存 server.keystore]
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>dir
磁碟區 D 中的磁碟是 新增磁碟區
磁碟區序號: 3AAA-91FF
D:\SVN_Repository3\pi\Key 的目錄
2017/08/31 14:02 <DIR> .
2017/08/31 14:02 <DIR> ..
2017/08/31 13:57 1,260 client.cer
2017/08/31 13:55 2,572 client.p12
2017/08/31 14:02 940 client.truststore
2017/08/31 13:58 1,260 server.cer
2017/08/31 14:04 3,138 server.keystore
5 個檔案 9,170 位元組
2 個目錄 679,286,382,592 位元組可用
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -list -keystore server.keystore -storepass store1234
金鑰儲存庫類型: JKS
金鑰儲存庫提供者: SUN
您的金鑰儲存庫包含 2 項目
client, 2017/8/31, trustedCertEntry,
憑證指紋 (SHA1): 10:7D:E3:DC:D8:42:43:FF:46:97:26:A2:8F:AA:B7:90:74:16:8D:24
server, 2017/8/31, PrivateKeyEntry,
憑證指紋 (SHA1): DD:3E:87:9E:92:67:6D:F4:18:70:E8:23:82:93:A6:A9:9D:0A:7A:F4
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -list -keystore client.truststore -storepass trust1234
金鑰儲存庫類型: JKS
金鑰儲存庫提供者: SUN
您的金鑰儲存庫包含 1 項目
server, 2017/8/31, trustedCertEntry,
憑證指紋 (SHA1): DD:3E:87:9E:92:67:6D:F4:18:70:E8:23:82:93:A6:A9:9D:0A:7A:F4
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -import -v -alias server -file server.cer -keystore trust.bks -storepass trust1234 -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
擁有者: CN=AndroidServer, OU=R&D, O=SDL, L=Taichung, ST=Taiwan, C=TW
發出者: CN=AndroidServer, OU=R&D, O=SDL, L=Taichung, ST=Taiwan, C=TW
序號: 33fc9a74
有效期自: Thu Aug 31 13:54:47 CST 2017 到: Sun Aug 29 13:54:47 CST 2027
憑證指紋:
MD5: C7:7E:71:51:21:79:BF:BE:D9:42:E5:42:B7:0F:4D:19
SHA1: DD:3E:87:9E:92:67:6D:F4:18:70:E8:23:82:93:A6:A9:9D:0A:7A:F4
SHA256: 05:EE:F8:9F:DB:89:C2:D0:20:40:C5:77:DF:50:2D:3D:06:E4:FC:EE:15:4A:39:14:0E:F2:AF:29:23:65:A6:49
簽章演算法名稱: SHA256withRSA
版本: 3
擴充套件:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: CB 69 A6 E6 E4 06 5F 7C EF 14 38 37 88 F8 30 A7 .i...._...87..0.
0010: 1A 7F 7F 3A ...:
]
]
信任這個憑證? [否]: y
憑證已新增至金鑰儲存庫中
[儲存 trust.bks]
D:\SVN_Repository3\pi\Key>
D:\SVN_Repository3\pi\Key>dir
磁碟區 D 中的磁碟是 新增磁碟區
磁碟區序號: 3AAA-91FF
D:\SVN_Repository3\pi\Key 的目錄
2017/09/01 09:44 <DIR> .
2017/09/01 09:44 <DIR> ..
2017/08/31 13:57 1,260 client.cer
2017/08/31 13:55 2,572 client.p12
2017/08/31 14:02 940 client.truststore
2017/08/31 13:58 1,260 server.cer
2017/08/31 14:04 3,138 server.keystore
2017/09/01 09:44 962 trust.bks
6 個檔案 10,132 位元組
2 個目錄 679,233,712,128 位元組可用
D:\SVN_Repository3\pi\Key>
//下載 Bouncy Castle
// https://www.bouncycastle.org/latest_releases.html
// 拷貝 bcprov-ext-jdk15on-158.jar 到 C:\Program Files\Java\jdk1.7.0_67\jre\lib\ext
// 拷貝 bcprov-ext-jdk15on-158.jar 到 C:\Program Files\Java\jre7\lib\ext
// 將下一行加入 C:\Program Files\Java\jre7\lib\security\java.security 和 C:\Program Files\Java\jdk1.7.0_67\jre\lib\security\java.security
// security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
// 新增 CLASSPATH=C:\Program Files\Java\jdk1.7.0_67\jre\lib\ext\bcprov-ext-jdk15on-158.jar
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -importkeystore -srckeystore client.p12 -srcstoretype PKCS12 -srcstorepass client1234 -destkeystore client.bks -deststoretype BKS -deststorepass client1234 -provider org.bouncycastle.jce.provider.BouncyCastleProvider
匯入別名 client 的項目時出現問題: java.security.KeyStoreException: java.io.IOException: Error initialising store of key store: java.security.InvalidKeyException: Illegal key size。
未匯入別名 client 的項目。
Do you want to quit the import process? [no]: y
已完成匯入命令: 成功匯入 0 個項目,1 個項目失敗或已取消
D:\SVN_Repository3\pi\Key>
//下載 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download
//http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
//解壓縮 UnlimitedJCEPolicyJDK7.zip
//到 C:\Program Files\Java\jdk1.7.0_67\jre\lib\security
//備份舊的 local_policy.jar, US_export_policy.jar
//拷貝新的 local_policy.jar, US_export_policy.jar
D:\SVN_Repository3\pi\Key>"C:\Program Files\Java\jdk1.7.0_67\bin\keytool.exe" -importkeystore -srckeystore client.p12 -srcstoretype PKCS12 -srcstorepass client1234 -destkeystore client.bks -deststoretype BKS -deststorepass client1234 -provider org.bouncycastle.jce.provider.BouncyCastleProvider
已成功匯入別名 client 的項目。
已完成匯入命令: 成功匯入 1 個項目,0 個項目失敗或已取消
D:\SVN_Repository3\pi\Key>dir
磁碟區 D 中的磁碟是 新增磁碟區
磁碟區序號: 3AAA-91FF
D:\SVN_Repository3\pi\Key 的目錄
2017/09/01 10:26 <DIR> .
2017/09/01 10:26 <DIR> ..
2017/09/01 10:26 2,234 client.bks
2017/08/31 13:57 1,260 client.cer
2017/08/31 13:55 2,572 client.p12
2017/08/31 14:02 940 client.truststore
2017/08/31 13:58 1,260 server.cer
2017/08/31 14:04 3,138 server.keystore
2017/09/01 09:44 962 trust.bks
7 個檔案 12,366 位元組
2 個目錄 679,233,679,360 位元組可用
D:\SVN_Repository3\pi\Key>
沒有留言:
張貼留言