1

タイトルは基本的にすべてを言います。

私は秘密鍵を表す 16 進数の文字列を持っています。これを OpenSSL で使用できるようにするには、それを OpenSSL でサポートされている形式 (PEM など) に変換できる必要があります。

PEM 形式のキーを読み取って、次のような形式で出力できることはわかっています。

    Private-Key: (1024 bit)
modulus:
    01:02:03:04..
publicExponent: 65537 (0x10001)
privateExponent:
    01:02:03:04..
prime1:
    01:02:03:04..
prime2:
    01:02:03:04..
exponent1:
    01:02:03:04..
exponent2:
    01:02:03:04..
coefficient:
    01:02:03:04..

しかし、キーをこの形式から PEM 形式に変換する情報を見つけることができませんでした。私は本当にこれを RFC 戦士にして、独自のコンバーターを作成することを強いられるのでしょうか?

4

2 に答える 2

0

実際、私は自分で解決策を見つけました。

これを行うには、上で説明した形式を 16 進数の 8 つの文字列に分割します。

その後、ディスクなどからキーを読み取り、BN_hex2bn() 関数を使用して RSA 構造体を埋めるだけです。入力したら、PEM_write_RSAPrivateKey を使用してディスクに書き込むことができます。

答えがあまり詳細ではないことは知っていますが、機能を操作すれば(あなたはこれに遭遇する他の誰かです)、すべてが明確になります。

于 2010-08-03T16:24:23.403 に答える
0

この方法はまだ試していませんが、Bouncy Castle API を参照してください。

http://www.bouncycastle.org/docs/docs1.6/index.html

秘密鍵の一部を設定できるようで、API を使用して標準形式で保存できます。

Java および .NET API が利用可能です。

于 2010-07-31T22:37:44.090 に答える