3

BounceCastle を使用すると、次のコードが機能します。キーペアを生成し、ASN.1 DER でエンコードされた形式を返します。

//Generate new key
var generator = new RsaKeyPairGenerator ();
generator.Init (new KeyGenerationParameters (new SecureRandom (), 1024));
var keyPair = generator.GenerateKeyPair ();

//Save private key for later use
keyParameters = (RsaKeyParameters)keyPair.Private;

//Export ASN.1 DER-encoded
SubjectPublicKeyInfo info = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(keyPair.Public);
return info.GetEncoded ();

テスト済みで、サードパーティのソフトウェアで動作します。

私の質問は、上記のエンコーディングを逆にする方法です。エンコードされた公開鍵を持っている場合、公開鍵を RsaKeyParameters に取得するにはどうすればよいですか。

私はこれに似たようなことをしようとしていると思います。

SubjectPublicKeyInfo s = new SubjectPublicKeyInfo(????, publicKeyBytes);
RsaKeyParameters key = (RsaKeyParameters)PublicKeyFactory.CreateKey(s);

したがって、これが近い場合、???? に何を入れるかを知る必要があります。AlgorithmIdentifier 型のオブジェクトが必要です。

4

1 に答える 1

4

この回答のおかげで、次のコードを取得しました。

        AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(req.PublicKey);
        RsaKeyParameters key = (RsaKeyParameters) asymmetricKeyParameter;
于 2012-06-09T20:06:39.037 に答える