2011-12-29 15 views
0

BouncyCastle apisを使用して、 "foo.key"ファイルと文字列パスワードを使用してprivateKeyオブジェクトを生成するアプレットがあります。次に、このprivateKeyオブジェクトと "MYNAMEHERE"のような文字列を使用して署名が作成されます。私が知っているのは、この署名を生成するために使用されたalgorythmはRSAだということです。pvk.keyとBouncyCastle暗号apisで生成された署名の検証と復号化

私がしたいことは、このシグネチャをPHPで復号化(または検証)することです。私は、publicKey(file.cer)とprivateKey(file.key)の両方のファイルを持ち、JavaでprivateKeyオブジェクトを生成するために使用されています。

値を渡して、PHPでopenssl_verify機能を使用しようとしてイム:$署名がJavaで生成された署名オブジェクトの文字列表現が含まれてい
openssl_verify(「MYNAMEHERE」、$署名、「ファイル.cer」)を、:新しい文字列(署名)。

このプロセスが署名を検証するのが正しいかどうか、またはこの機能を使用する前にどのようなエンコード/デコード処理が必要かはわかりません。

誰かが私に正しい方向を指してくれることを願っています!

ありがとうございます!

+0

1 ... –

+0

@DigitalPrecisionは、可能 –

+0

せずにしてみてくださいジョークの男、リラックスしてください。 –

答えて

0

実際の署名やエンコード方法など、十分な情報が提供されていません。通常、RSAは今日使用されているデフォルトの署名生成/検証アルゴリズムであるSHA-1(Google it)を使用して、PKCS#1 1.5モードでRSAを意味します。その場合は、説明したように検証を進める必要があります。パスワードはもはや必要ではなく、秘密鍵を解読するためだけに使用されるかもしれません。秘密鍵を使用して、PHP/opensslのサインが同じデータを作成するかどうかを確認することができます。そうでない場合は、別のハッシュまたはPKCS#1 v2.1署名が使用されている可能性があります。ちょうどだった。非常に建設的なコメントはありません

タイトルに快活なお城を取得するための
+0

@owlsteadに返信してくれてありがとう PHPでいくつかの異なる機能を試した後、私はその領域にこだまれてしまったので、Javaでの検証も選択しましたが、依然として署名がどのように作成されたかを知るための問題があります誰がキーを生成したか)。私は.keyと.cerの両方のファイルを持っています。 "HELLOWORLD"とprivateKeyのような単純な文字列に署名する最良の方法は何でしょうか。 私はあなたに前もって感謝してくれることを願っています! – user1121637