2

OAuth リクエストの署名に使用する秘密鍵を含む p12 ファイルがあります。ただし、OAuth NodeJS ライブラリ ( ciaranj/node-oauth ) は、この形式を入力として取りません。

PKCS#12 キーストアから秘密鍵を抽出するために多くの OpenSsl オプション (PKCS#8 または従来の PEM 形式) を試しましたが、OAuth ヘッダー署名が受け入れられません。

次のように使用可能な PEM ファイルを作成するために使用する OpenSsl オプションは次のとおりです。

var privateKey = fs.readFileSync("privateKey.pem").toString('ascii');
var oauth= new OAuth(null, null, consumerKey, privateKey, "1.0", null, "RSA-SHA1"); 

私は OpenSsl の専門家ではないので、どんなヒントでも大歓迎です。

PS: あるいは、OAuth lib は NodeJS 暗号の署名 API を使用するため、署名に PKCS#12 ファイルを使用する方法を知っていれば、これで救われるかもしれません。

4

1 に答える 1

0

何度も試みた後、解決策を見つけました。したがって、他の人に役立つ場合は、ここでコマンドを共有すると思いました。これにより、PKCS#12 ファイルから秘密鍵が抽出されます。

openssl pkcs12 -in myKeystore.p12 -nocerts -out privateKeyPkcs8.pem

しかし、結果は PKCS#8 でエンコードされ、NodeJS 暗号化パッケージが期待するものではありません。したがって、従来の PEM エンコーディングを取得するには、次のコマンドを実行する必要がありました。

openssl pkcs8 -in privateKeyPkcs8.pem -out privateKey.pem
于 2013-05-10T21:35:59.120 に答える