Mik*_*key 8 openssl public-key gnupg
我正在编写使用 opessl 库来验证 DSA 签名的软件。我有来自发件人的 gpg 格式的公钥。如何将它们转换为 .pem 以便 openssl 可以读取它们?
我从另一个线程找到了这个:
gpgsm -o secret-key.p12 --export-secret-key-p12 0xXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
要进行导出,我需要将密钥放在 gpgsm 钥匙圈中,不是吗?我只是不知道如何将我的密钥导入 gpgsm 正在使用的密钥环。我最终遇到错误:
gpgsm --import public.asc
gpgsm: total number processed: 0
gpgsm: error importing certificate: End of file
Run Code Online (Sandbox Code Playgroud)
可以gpgsm
以某种方式使用 gpg:s 密钥环并从那里进行导出吗?
您的导出命令是正确的,但正如您所想, 的gpgsm
密钥环是空的。您可以通过以下方式检查:
gpgsm --list-keys
Run Code Online (Sandbox Code Playgroud)
输出将是什么也没有。
对于你的最后一个问题:不。gpg
并gpgsm
使用不同的数据库。更多信息请参见此处。您必须创建或获取 OpenSSL 密钥/证书对并将其(以 PKCS#12 格式)导入 gpgsm 密钥环(通常~/.gnupg/pubring.kbx
),因此导入命令必须是:
gpgsm --import mycert.p12
Run Code Online (Sandbox Code Playgroud)
您可以从一个系统导出密钥,将其转换并导入到另一个系统,但所谓的转换仅提供元信息(在大多数情况下),并且正在使用该元信息创建一个全新的证书/密钥。您可以在此处查看转换示例。
归档时间: |
|
查看次数: |
4323 次 |
最近记录: |