Как динамически создать зашифрованную кнопку PayPal в Google App Engine? - PullRequest
3 голосов
/ 25 февраля 2010

Пока что я нашел пример для Django, который использует M2Crypto , но поскольку M2Crypto основан на библиотеке C, он не может быть запущен в GAE. У кого-нибудь есть рабочий код для динамического создания зашифрованной кнопки PayPal в Google App Engine?

В двух словах, мне нужно перевести следующий код Ruby на Python. Он взят из стандартного набора инструментов PayPal для веб-сайтов для Ruby.

def self.encrypt_data(paypal_cert, my_business_cert, my_business_key,
                      my_business_key_password, myparams  )     
  paypal_cert      = OpenSSL::X509::Certificate.new(paypal_cert)     
  my_business_cert = OpenSSL::X509::Certificate.new(my_business_cert)      
  my_business_key  = OpenSSL::PKey::RSA.new(
    my_business_key,
    my_business_key_password)   
  info = ""
  myparams.each_pair {|key,value| info << "#{key}=#{value}\n"}    
  signedInfo       = OpenSSL::PKCS7::sign(
    my_business_cert,
    my_business_key,
    info,
    [],
    OpenSSL::PKCS7::BINARY)
  OpenSSL::PKCS7::encrypt(
    [paypal_cert],
    signedInfo.to_der,
    OpenSSL::Cipher::Cipher::new("DES3"),
    OpenSSL::PKCS7::BINARY)           
end

1 Ответ

0 голосов
/ 21 апреля 2011

Посмотрите библиотеку Keyczar , она должна работать в Google App Engine, позволяя вам подписывать с использованием RSA и шифровать с помощью DES3 .

Проверьте документацию здесь .

...