gpt4 book ai didi

encryption - OpenSSL命令行问题

转载 作者:行者123 更新时间:2023-12-03 13:03:14 25 4
gpt4 key购买 nike

编辑:还没有解决我的问题,但是我已经转向了新的和更令人兴奋的问题。
万一有任何有见识的人将其留在这里,将有助于将来偶然发现此问题的人。

你好,
我正在尝试将加密的电子邮件从php发送到Outlook。因此,我需要生成一个证书以导入到Outlook中。我可以使用openssl和随附的CA.pl脚本生成一组 key 没有问题,但是当我尝试运行命令以生成PKCS12文件导入Outlook时,它提示缺少“demoCA”目录。看来此目录是openssl的一部分,并在openssl配置中引用了...但是我不知道它在哪里。从grep到Spotlight(在os x上,虽然我确实没想到Spotlight会找到任何东西),但我已经用多种方式搜索了该驱动器,但什么也没想出来。

我试图运行的命令是:

$ 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方面,我有点菜鸟,所以我可能会缺少一些愚蠢的东西(我确定是的,哈哈)。

最佳答案

您应该通过提供的脚本来创建新的CA,这比仅处理所有openssl选项容易。您可以通过Windows自身内部与Cygwin捆绑在一起的openssl来实现,也可以使用自己喜欢的Unix发行版。我将向您展示如何使用bash脚本(但perl脚本应该相同)。

$ ./CA.sh -newca

这将创建带有CA证书的demoCA目录。当您调用上述命令时,将提示您有关CA证书(CN,OU等)和CA私钥密码短语的字段。

现在,您可以创建证书申请,也可以根据证书申请创建证书。
$ ./CA.sh -newreq

这提示输入新的证书请求字段和密码短语以加密生成的私钥。默认情况下,该请求与CA.sh(newreq.pem)保留在同一目录中。将您拥有的电子邮件地址用作CN(通用名),这一点很重要。

现在,您只需要签名即可获得完整的证书。
$ ./CA.sh -sign

这将生成newcert.pem,它是签名的证书请求。您拥有证书,只需要将证书和私钥打包在Microsoft CSP可以识别的PFX或P12文件中。

然后将newreq.pem和newcert.pem的内容复制到一个文件中。
$ cat newreq.pem > keypair.pem
$ cat newcert.pem >> keypair.pem

现在通过openssl shell生成P12文件(这一次我们没有任何脚本的帮助)。它将提示您输入生成请求时使用的密码,然后提示导出密码(用于加密p12文件中的私钥)。
$ openssl pkcs12 -export -in keypair.pem  -out mykeypair.p12
Enter pass phrase for keypair.pem:
Enter Export Password:
Verifying - Enter Export Password:

等等您有一个PKCS#12文件,您可以在Windows中双击该文件并将其导入到 keystore 中,并将其用作邮件签名证书(我不记得默认选项是否足够,或者在创建文件时需要指定一些其他属性)。证书,以便Outlook识别为电子邮件签名证书)。您还需要将CA证书导入为受信任的CA(将demos目录中的cacert.pem复制到cacert.cer并双击以进行导入)。

关于encryption - OpenSSL命令行问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/440762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com