代码之家  ›  专栏  ›  技术社区  ›  Reza

WindowsCryptographicException:“从.NET Standard 2项目中的字节数组创建X509Certificate2时找不到请求的对象”

  •  1
  • Reza  · 技术社区  · 6 年前

    我有一个 pem 只包含以下公钥的文件

    -----开始公钥----- Miibijanbgkqhkig9w0baqefaocaq8amiibcgkcaqeal1bku0ko3gsavjs+dzxk DTEWQ7GNXZSXCOMZQECVNNIZ8RFL+WMXBU4IU49GXJZAWF2ETCAQR6XE3L+2H8/5型 7OmtYXttTFTJl+8ZSG0Jk+i8Pz51a6LZtN9oBv/coX+TL3yIPTrjm4TXC+MLexhx 维达卡布 ----结束公钥---

    然后我试着创造 X509Certificate2 从中,我浓缩了键并将其转换为字节数组,然后将其传递给 X509证书2 构造器,但我得到 WindowsCryptographicException: 'Cannot find the requested object' 例外

    我尝试了不同的重载 new X509Certificate2 但结果是一样的。

    var rsaKey = Convert.FromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl1bkU0KO3GavjS+DzxkdTewQ7GNXzsXComZQECvNNiZ8RFL+wmXBu4iu49gXjzAWF2EtcAqr6Xe3L+2H8/57OmtYXtTFTJl+8ZSG0Jk+i8Pz51a6LZtN9oBv/coX+TL3yIPTrjm4TXC+MLexhxvwIDAQAB");
    
                var cert = new X509Certificate2(rsaKey);
    
                var cert = new X509Certificate2(rsaKey, "");
    
                var cert = new X509Certificate2(rsaKey, "", X509KeyStorageFlags.MachineKeySet);
    

    我在stackoverflow上发现了一些帖子,但没有一个在工作(所以请不要将其标记为副本)

    我的项目是 .net standard 2.0.3

    0 回复  |  直到 6 年前