2011-07-14 52 views
0

你好,我正在嘗試編寫一個php函數/類,它將連接到遠程(java)服務器併發送一條消息給它,並使用256字節的RSA使用公鑰來阻止。從公共密鑰創建一個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

檢查[這裏](http://php.net/manual/en/function.openssl-public-encrypt.php)如果你發現一些解決方案與PHP – Rush

回答

0

公鑰是base64編碼的DER編碼SubjectPublicKey結構:詳見RFC5280。有一個PHP方法來做bas64解碼,當然還有一些解碼結果的東西。例如,您可以使用openssl rsa將密鑰轉換爲phpseclib可以使用的密鑰。