2012-04-28 233 views
2

我需要一个编码为DER格式的RSA公钥。将RSA公钥编码为DER格式

使用RSACryptoServiceProvider生成密钥对。

什么我要找的是C#相当于到java:

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

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

回答

4

使用充气城堡:

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公钥和导出它的人。