编码RSA公钥DER格式(Encode a RSA public key to DER format

2019-09-16 20:48发布

我需要编码成DER格式的RSA公钥。

密钥对使用的RSACryptoServiceProvider生成。

我正在寻找的是C#等同于Java的:

PublicKey pubKey = myPair.getPublic();
byte[] keyBytes = pubKey.getEncoded();

我试图寻找到BouncyCastle的,但迷路了,所以如果该解决方案是没有任何指针是欢迎的。

Answer 1:

使用充气城堡:

using Org.BouncyCastle.X509;
using Org.BouncyCastle.Security;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.Generators;
using Org.BouncyCastle.Crypto.Parameters;

...

var generator = new RsaKeyPairGenerator ();
generator.Init (new KeyGenerationParameters (new SecureRandom (), 1024));
var keyPair = generator.GenerateKeyPair ();
RsaKeyParameters keyParam = (RsaKeyParameters)keyPair.Public;
var info = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo (keyParam);
RsaBytes = info.GetEncoded ();

最后三行是谁拿的RSA公钥和导出它的人。



文章来源: Encode a RSA public key to DER format