簡體   English   中英

如何使用 Python 創建 JKS 或 P12 密鑰庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM