【问题标题】:Bouncycastle Decrypt PKCS8Bouncycastle 解密 PKCS8
【发布时间】:2018-12-24 21:55:36
【问题描述】:

我在使用 Bouncycastle 解密字符串时遇到了困难。我怀疑它的编码,但我找不到 bouncycastle 的任何 PKCS8 编码

var bytesToDecrypt = Convert.FromBase64String(base64Input);

            AsymmetricCipherKeyPair keyPair;
            var decryptEngine = new Pkcs1Encoding(new RsaEngine());

            using (var txtreader = new StringReader(privateKey))
            {
                keyPair = (AsymmetricCipherKeyPair)new PemReader(txtreader).ReadObject();

                decryptEngine.Init(false, keyPair.Private);
            }

            var decrypted = Encoding.UTF8.GetString(decryptEngine.ProcessBlock(bytesToDecrypt, 0, bytesToDecrypt.Length));
            return decrypted;

这是 PKCS8 格式的 RSA 密钥:

-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

This is the error code I receive

【问题讨论】:

    标签: c# encryption rsa bouncycastle


    【解决方案1】:

    使用 AsymmetricKeyParameter 代替 AsymmetricCipherKeyPair,如下所示:

        AsymmetricKeyParameter akp;
    
        var decryptEngine = new Pkcs1Encoding(new RsaEngine());
    
        using (var txtreader = new StringReader(privateKey))
        {
            akp = (AsymmetricKeyParameter)new PemReader(txtreader).ReadObject();
    
            decryptEngine.Init(false, akp);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 2015-04-11
      相关资源
      最近更新 更多