Tag: der

在C#中加载ASN.1 / DER编码的RSA密钥对

我在Crypto ++中创建了DER编码的RSA密钥对,以及密码。 它们是Base64Encoded字符串。 我首先将数据从Base64解码为字节数组,但我不知道如何将它们加载到RSACryptoServiceProvider 。 static void Main() { string pbkeystr = “mypublickey”; string pvkeystr = “myprivatekey”; string cipherstr = “mycipher”; byte[] pbkey = Convert.FromBase64String(pbkeystr); byte[] pvkey = Convert.FromBase64String(pvkeystr); byte[] cipher = Convert.FromBase64String(cipherstr); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); //Set keys here.. //Decrypt the cipher using private key rsa.Decrypt(pvkey, false); } 没有设置键的function。 我发现唯一的东西是ImportParameters方法,它采用RSAParameters类,它包括p , q , […]

在.NET上使用RSA私钥签名字符串?

byte[] plaintext = System.Text.Encoding.UTF8.GetBytes(“AAAAAAAAAAAAA”); TextReader trCer = new StreamReader(@”AA.key”); //key in PEM format PemReader rdCer = new PemReader(trCer); AsymmetricCipherKeyPair o = rdCer.ReadObject() as AsymmetricCipherKeyPair; ISigner sig = SignerUtilities.GetSigner(“MD5WithRSAEncryption”); sig.Init(true, o.Private); sig.BlockUpdate(plaintext,0,plaintext.Length); Byte[] signature = sig.GenerateSignature(); string signatureHeader = Convert.ToBase64String(signature); Console.WriteLine(signatureHeader); 如何使用DER格式的密钥? 我正在使用库BouncyCastle.Crypto.dll `