2013-03-14 35 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?它是由一些文件系统的副作用造成的吗? (即一个是另一个文件或其他什么时候的字符串?)

谢谢。

回答

相关问题