如何安全地读取PKCS12并将其传递给红宝石中的对象?

Sen*_*jai 1 ruby ssl encoding openssl pkcs#12

我目前正在使用google api客户端gem与google api通信。它使用PKCS12对这些服务进行身份验证,并使用OpenSSL :: PKCS12.new

http://www.ruby-doc.org/stdlib-2.0/libdoc/openssl/rdoc/OpenSSL/PKCS12.html

但是,当我使用File.read读取文件并尝试传递字符串时,我得到String出现空字节错误。如何避免这种情况,并确保它仍然是PKCS12类的DER编码?

sbs*_*sbs 5

require 'openssl'

p12 = OpenSSL::PKCS12.new(File.read('/path/to/p12'), "pass_phrase")
key = p12.key
certificate = p12.certificate
Run Code Online (Sandbox Code Playgroud)