编辑:没有解决我的问题,但我已经转移到新的,更精彩的问题点击。 万一有人离开这里这有和有见地的那会帮助别人谁蹒跚而在未来这个问题。

您好,    我试图从PHP发送加密电子邮件到Outlook。因此,我需要生成一个证书导入到Outlook。我没有问题,生成一组使用OpenSSL和随之而来的CA.pl脚本键,但是当我尝试运行命令生成PKCS12文件导入到Outlook,报告说缺少“demoCA”目录。看来这个目录是OpenSSL的一部分,并在OpenSSL配置被引用...但我不知道它在哪里。我搜索从grep的许多方法来聚光灯驱动器(在OS X,但我真的没想到聚光灯发现了什么),而无法拿出任何东西。

我试图运行的命令是:

$ openssl ca -cert newcert.pem -ss_cert newcert.pem
Using configuration from /sw/etc/ssl/openssl.cnf
./demoCA/private/cakey.pem: No such file or directory trying to load CA private key
19918:error:02001002:system library:fopen:No such file or directory:bss_file.c:245:fopen('./demoCA/private/cakey.pem','r')
19918:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:247:

我有点小白的,当涉及到加密/ SSL,所以我可能会丢失一些愚蠢的事(我敢肯定,如果它,哈哈)。

有帮助吗?

解决方案

您应该创建提供的脚本,这是很容易,只是处理所有的OpenSSL选项意味着一个新的CA。你可以做捆绑了Cygwin的Windows内部本身的OpenSSL这是手段或使用您喜欢的Unix发行。我会告诉你如何使用的bash脚本做(但Perl脚本应该是相同的)。

$ ./CA.sh -newca

这创建了它里面的CA证书demoCA目录。作为调用上述命令你会提示关于CA证书的字段(CN,OU等)和CA私钥密码。

现在您可以创建证书requestes证书申请或证书。

$ ./CA.sh -newreq

这提示输入新的证书请求字段和加密生成的私钥的密码短语。默认情况下,请求在同一目录向左CA.sh(newreq.pem)。你作为普通名称(CN)你的电子邮件地址使用是非常重要的。

现在你只需要签署它,你有一个完全成熟的证书。

$ ./CA.sh -sign

这将产生newcert.pem这是签名的证书请求。你有你的证书,您只需要收拾证书和PFX或P12文件中的私钥,微软CSP识别。

然后newreq.pem和newcert.pem的内容复制到文件中。

$ cat newreq.pem > keypair.pem
$ cat newcert.pem >> keypair.pem

现在产生由OpenSSL的外壳(这一次我们没有任何脚本的帮助下)的手段P12文件。它会提示你您使用时生成请求口令,然后将出口密码(加密P12文件内私钥)。

$ openssl pkcs12 -export -in keypair.pem  -out mykeypair.p12
Enter pass phrase for keypair.pem:
Enter Export Password:
Verifying - Enter Export Password:

的Et瞧。你有一个PKCS#12文件,您可以双击Windows和其导入到您的密钥存储和使用它作为一个邮件签名证书(我不记得是否默认选项是不够或创建时需要指定一些附加的属性证书,以便Outlook可以识别的电子邮件签名证书)。您还需要导入CA证书作为信任的CA(复制到cacert.pem是cacert.cer是demoCA目录,然后双击它导入内部)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top