Я просматриваю эпизод RailsCasts о безопасности PayPal. Я пытаюсь перенести этот код на C# и использую OpenSSL.NET.
Также возможно ли это сделать без использования библиотеки-оболочки OpenSSL, поскольку в ней используется неуправляемый код?
Ruby-код, который я пытаюсь портировать, таков:
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
Кто-нибудь знает, как это сделать с помощью оболочки C # OpenSSL?