私は、BouncyCastleを使用して楕円曲線DSA署名のキーペアを作成し、RFC4050にXMLStringを使用して公開鍵をECDsaCngにインポートすることができました。今私も秘密鍵を移動し、解決策を見つけることができませんでした。私が持っている最も近いものはCngKey.Importを使用しています。EC秘密鍵をBouncyCastleからエクスポートし、CngKeyまたはECDsaCngにインポートしますか?
CngKey.ImportはPKCS#8形式をサポートしているため、有効なpkcs8にキーを取得できる場合は有効です。残念ながら、次のコードはうまくいきません。
System.Security.Cryptography.CryptographicException:満たさASN1悪いタグ値
var privatekey = (ECPrivateKeyParameters) keyPair.Private; var pkinfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privatekey); byte[] pkcs8Blob = pkinfo.GetDerEncoded(); var importedKey = CngKey.Import(pkcs8Blob, CngKeyBlobFormat.Pkcs8PrivateBlob);
は、これは例外をスローします。
GetDerEncodedは、私が知る限り、有効なPkcs8ブロブを返す必要があります。
ECDsaCngオブジェクトでBouncyCastleで作成した秘密鍵はどのように使用できますか?