2011-07-14 23 views
0

こんにちは、リモート(java)サーバに接続し、256バイトのRSAでエンコードされたメッセージを送信するPHP関数/クラスを作成しようとしています公開鍵を使用してブロックします。公開鍵から256バイトのRSA暗号化ブロックを作成する

Javaサーバのgithubのはここにある:https://github.com/vexsoftware/votifier

(を検索:プロトコルドキュメント)。

これはデータを送信する方法です。今私の問題は:

a)公開鍵は連続した文字列です。

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsdG2qEpV74TQOwJEXU6BCBoXTLPXEG/Q5P3pkhpn433bStahMbqHROda7QgInfqMHvkAoFm84mNzckH+YsBRIiCRw3c7vYArWfGmmqIdr/NiLdS/pmNm2PnPDRpk/VadCwcOlSoCP6/RjUncMKqv0LW89DtCum5MrptDCkSrAgRP5ZOAHoBJehk6YW2jfpD2CfBpQsu9v7UNLkZ3ZnNxWNCKnkxiB6mqA7aDFh9J4XA+9amBC5oj/ZVfwHNiXq3IB4tMdgZsx/+DesS2mZ0ML78fCKXSOfT4xbfSlGGIyI7QsfqzB4Fh8d9WUuxADeFznTVfy185pGinOpbjDuH8+wIDAQAB 

インターネット上で見つかったすべての機能は、私が必要とすることをしません。

b)間違ったデータを送信した場合、またはすべてが良好な場合に(ここでは推測している)OKメッセージが表示された場合、サーバーはデフォルトのメッセージで応答します。

誰もこのRSAブロックを作成する方法を知っていますか?私はそれが256バイトでなければならないことを意味し、私はPHPでバイトを数える方法を知らない(それは問題ではない?rsa関数は私にとってそれをするだろうか?)

+0

PHPでいくつかの解決策が見つかった場合は、[こちら](http://php.net/manual/en/function.openssl-public-encrypt.php)をチェックしてください – Rush

答えて

0

公開鍵はbase64でエンコードされたDERエンコードSubjectPublicKey構造体:詳細はRFC5280を参照してください。 Bas64のデコードを行うPHPメソッドがありますが、結果をデコードするための何かがあります。 openssl rsaを使用して鍵をphpseclibなどで使用できるものに変換することができます。

関連する問題