2013-03-14 34 views
1

我試圖測試openssl在Ruby中用於一側和另一側的命令行時的互操作性。爲什麼我會在Ruby和命令行OpenSSL之間獲得不同的RSA加密文件?

我產生了RSA證書,並提取其公鑰是這樣的:

openssl req -x509 -nodes -days 1825 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem 
openssl rsa -in mycert.pem -pubout > mycert.pub 

我寫了一個Ruby腳本,做兩件事情:

  1. 它編碼/測試文件解碼與公衆然後使用私鑰(在RSA編碼之上使用Base64編碼以使網絡通信更容易)
  2. 它運行系統命令以使用openssl命令行工具加密相同的測試文件

你可以在下面的Gist中找到這個Ruby腳本的代碼:https://gist.github.com/dirtyhenry/4673331(cf. poc-openssl-rsa.rb文件)

我的問題是:我的Ruby生成的public-encrypted.txt文件是如何不同於public-encrypted-cl64.txt?它是由一些文件系統的副作用造成的嗎? (即一個是另一個文件或其他什麼時候的字符串?)

謝謝。

回答

相關問題