制作自己的签名文件证书?

Gar*_*nes 4 code-signing certificate

有没有办法制作自己的签名证书,以便签署安装包等文件?

问题是证书供应商必须是Windows的可靠来源,否则您将收到警告消息?

ale*_*sko 15

如果您对PKI和X.509有基本了解,可以使用openssl进行操作.

Openssl已预先配置了CA.pl或CA.sh脚本,可用于设置CA并使用最少的配置生成证书.

主要命令是:

# generate CA (need to do it only once)
CA.sh -newca
# create certificate request
openssl req -new -keyout user.key -out user.req -config yourconf.cnf
# sign request by CA
openssl ca -policy policy_anything -config yourconf.cnf -out user.pem -infiles user.req
# convert it into PKCS#12 (pfx) container, that can be used from various soft
openssl pkcs12 -export -in user.pem -inkey user.key -out user.p12 -name user -caname your_ca_name -chain -CAfile ./demoCA/cacert.pem
Run Code Online (Sandbox Code Playgroud)

yourconf.cnf是一个主配置文件,基于openssl中包含的默认openssl.cnf.要使您的证书适合代码签名,您应该在允许的密钥用法字段中指定它(它将证书仅限于代码签名):

[ usr_cert ]
basicConstraints = CA:FALSE
keyUsage = digitalSignature
extendedKeyUsage = codeSigning  
[ v3_req ]
keyUsage = digitalSignature
extendedKeyUsage = codeSigning
Run Code Online (Sandbox Code Playgroud)

要在Windows中使用此证书,您应将CA证书作为CA权限安装到Windows证书库中.您必须在要验证文件标志的每个工作场所执行此操作.