如何在python3中创建自签名的PKCS12证书

时间:2020-08-20 21:05:57

标签: python python-3.x scripting pkcs#12

我想使用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命令的方法(如果主机不具有它,脚本将失败,请避免这种情况)。

任何指针都将受到欢迎。谢谢!

0 个答案:

没有答案