年齢別にANY MEANSによってファイルからECCキーをインポートする方法を探しています。 Windows証明書ストア、.p12ファイル、およびPKCS#8 OpenSSLキーファイルからECC証明書にアクセスしようとしましたが、成功しませんでした。私が試してみましたたくさんのCNGインポートECC Pub/Priv Keyfromファイル
ただ一つは次のとおりです。
StreamReader fs = new StreamReader("key.pem");
String key = fs.ReadToEnd();
byte[] tempkey = System.Text.Encoding.ASCII.GetBytes(key);
CngKey cngKey = CngKey.Import(tempkey, CngKeyBlobFormat.Pkcs8PrivateBlob);
しかし、誰discriptiveエラーメッセージが与えられていない、それだけで最後の行のいずれかinvalid parameters
を持っているか、An error occurred during encode or decode operation.
私はMSDNのECDHのsample programを使用しており、altered itはAESのGCMモードを使用しています。 Microsoftの例では、実行時にデフォルトで作成されたECCキーの代わりに、事前に生成されたECCキーを試してみるまで、これはうまく動作します。私は無作為にCngKeyBlobFormat
のすべてを試しましたが、正式には、それらの特定のフォーマットが生データにどのように見えるかわからないので、私はそれを非常にうまくデバッグできません。
私のキーは、しかし、私が動作する任意の形式を使用して喜んで、次の形式である(.P12を、マイクロソフトストア、PKCS#8など)
key.pem
-----BEGIN EC PARAMETERS-----
##############################
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
##############################
-----END EC PRIVATE KEY-----
リソース
MSDN API and Example: ECDiffieHellmanCng Class
残念ながら、CNGにこのような鍵をインポートさせるのはまだ難しいかもしれません。もしうまくいかない場合は、PEM形式(およびPKCS#8形式のキー部分)あなた自身。 –