[英]How to create a JKS or P12 keystore with Python
我正在研究 Python 3 腳本,除此之外,它有時需要創建一個.JKS 或.P12 密鑰庫。 我曾經有一個使用 keytool 的 bash 腳本:
keytool -genkey -keyalg RSA -alias certAlias \
-keystore keystore.jks -storepass $keyPass \
-validity 360 -keysize 2048 \
-noprompt -dname "CN=com.myCompany, OU=ID, O=AwesomeSoft, L=SF, S=CA, C=US" \
-keypass $keyPass
mv ./keystore.jks src/main/resources/
現在我將相同的功能從 bash 腳本移動到 python 並且我有一些問題需要解決,任何指針都會非常受歡迎..您可能會注意到上面的示例適用於 jks,而不是 p12...較新的版本必須能夠,這取決於在調用 certType 之前創建一個或另一個的變量...或創建一個 jks 並稍后將其轉換為 p12 ...我對選項持開放態度..
提前致謝!!
找到了我的答案:
import os
certAlias = 'cert'
certAlg = 'RSA'
certSigAlg = 'SHA1withRSA'
certExp = '365'
certKeySize = '2048'
certKeyType = 'PKCS12' # Select PKCS12 or JKS
certKeyPass = 'password123'
fileName = 'keystore'
dname = 'CN=mySite.com'
#
if certKeyType == "PKCS12":
fileExt = 'p12'
elif certKeyType == "JKS":
fileExt = 'jks'
certFile = fileName + '.' + fileExt
keytool = 'keytool -genkey -noprompt \
-alias ' + certAlias + ' \
-keypass ' + certKeyPass + ' \
-keyalg ' + certAlg + ' \
-sigalg ' + certSigAlg + '\
-validity ' + certExp + ' \
-dname ' + dname + ' \
-keysize ' + certKeySize + ' \
-keystore ' + certFile + ' \
-storepass '+ certKeyPass +' \
-storetype ' + certKeyType
os.system(keytool)
我這樣做並且有效,但我會玩添加更多邏輯......希望它可以幫助任何人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.