我想使用python3脚本创建PKCS12(.p12)自签名证书。我已经准备好了执行此脚本的脚本:
以下是此特定情况下较大代码的摘录:
import os
import random
storetype = pkcs12
def generate_keystore(keypass,storetype):
global certFile
global fileExt
certAlias = 'IamMe'
certAlg = 'RSA'
certSigAlg = 'SHA1withRSA'
certExp = '365'
certKeySize = '2048'
certKeyType = storetype
certKeyPass = keypass
fileName = 'keystore'
dname = 'CN=santiago.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)
def generate_password(length):
global kspwd
letters_and_digits = string.ascii_letters + string.digits
kspwd = ''.join((random.choice(letters_and_digits) for i in range(length)))
generate_password(16)
generate_keystore(kspwd,storetype)
但是我想看看是否还有另一种不依赖于keytool命令的方法(如果主机不具有它,脚本将失败,请避免这种情况)。
任何指针都将受到欢迎。谢谢!