KeyId is 0 for PgpPublicKeyEncryptedData



当我读取加密文件以了解它已被加密的公钥时,由于某种原因KeyId属性为0。

这是我到目前为止一直在使用的代码,它已经工作了,我不知道为什么现在当我给它提供一些加密文件时,它在该字段返回一个0:

using Stream decoderStream = PgpUtilities.GetDecoderStream(encryptedData);
var objectFactory = new PgpObjectFactory(decoderStream);
var encryptedList = (PgpEncryptedDataList)objectFactory.NextPgpObject();
string keyId;
byte[]? key;
foreach (PgpPublicKeyEncryptedData keyData in encryptedList.GetEncryptedDataObjects())
{
long keyId = keyData.KeyId // This is 0 for some reason?
}

什么线索吗?

密钥是通过使用GPG加密的,所以我决定检查一下我的GPG配置,看看我是否搞砸了什么。

事实证明,我做到了。通过在gpg.conf文件中指定以下命令,我加强了配置,使其在加密消息时不包括密钥id:

throw-keyids

当我把它移开后,一切都开始正常工作了。

相关内容

  • 没有找到相关文章

最新更新