Tag: pkcs#7

在Ruby / Rails中,如何解密由PKCS7加密和签名的字符串

在PayPal上的这个RailsCast中,它向您展示了如何在将URL参数发送到PayPal之前对其进行加密。 PAYPAL_CERT_PEM = File.read(“#{Rails.root}/certs/paypal_cert.pem”) APP_CERT_PEM = File.read(“#{Rails.root}/certs/app_cert.pem”) APP_KEY_PEM = File.read(“#{Rails.root}/certs/app_key.pem”) def encrypt_for_paypal(values) signed = OpenSSL::PKCS7::sign(OpenSSL::X509::Certificate.new(APP_CERT_PEM), OpenSSL::PKey::RSA.new(APP_KEY_PEM, ”), values.map { |k, v| “#{k}=#{v}” }.join(“\n”), [], OpenSSL::PKCS7::BINARY) OpenSSL::PKCS7::encrypt([OpenSSL::X509::Certificate.new(PAYPAL_CERT_PEM)], signed.to_der, OpenSSL::Cipher::Cipher::new(“DES3”), OpenSSL::PKCS7::BINARY).to_s.gsub(“\n”, “”) end 假设我正在为PayPal的服务器编写代码。 我该如何解密这个字符串? 在我看来,这个代码公钥都签署了字符串(以validation真实性),然后加密字符串(以提供隐私)。 代码用于反向,解密和validation真实性是什么? 谢谢。