2013年8月17日 星期六

Python M2Crypto 常見的應用範例程式

Introduction

        M2Crypto 是一個讓Python開發人員能夠在透過API呼叫的方式來使用OpenSSL的套件。簡單來說,使用M2Crypto重新包裝過後的API,讓開發人員寫Python程式時,不再需要使用command line方式呼叫openssl來處理Encrypt/Decrypt/Sign/Verify...等等的功能。然而,M2Crypto對於一般不熟悉密碼學的開發人員而言,使用上會有一點點的進入門檻,特別是對於OpenSSL本身也不熟的開發人員,當然如果你已經是一個資深的開發人員也瞭解密碼學,則應該不會有這方面的困擾。

        M2Crypto在國外的論壇上或是網站上,都可找到一些針對不同應用的範例程式。我本身覺得這些應用在專案中是很常見,所以本文章會稍作整理,也當作自己工作上的學習紀錄。以下,我將會將整理一些之前專案中需要有用到M2Crypto的應用,但是不會深入探討各種密碼學的演算法細節,若你需要詳細的演算法請到 wikipedia 研讀。

本文章會談到以下這些應用:
  1. AES 的 Encrypt 與 Decrypt
  2. RSA 的 Encrypt, Decrypt, Sign and Verify
  3. 產生 Certificate Sign Request 與 Sign Certificate  
  4. SMIME Encrypt/Decrypt/Sign/Verify
  5. 完整的 RSA 與 AES 搭配的範例
針對以上這些M2Crypt的基本應用,每篇文章都會有基本知識的介紹以及範例程式。


沒有留言:

張貼留言

歡迎留言討論與指教