2012-04-28 239 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公鑰和導出它的人。