r1 - 07 Mar 2006 - 21:12:22 - HeikkiToivonenYou are here: OSAF >  Journal Web  >  ContributorNotes > HeikkiToivonenNotes > PyNSSThoughts20060307

PyNSS? Thoughts

PyNSS? would be a project to wrap Mozilla's Network Security Services (NSS) with Python. The purpose and clients would be the same as with M2Crypto, which wraps OpenSSL.

I am aware of one other "PyNSS" implementation, which is part of PyAuthD?:

PyAuthD? is very limited in scope at the moment, though, and as such the NSS wrapping there is so small that it wouldn't even be a suitable starting point.

Now that I got that out of the way, here are some requirements and design thoughts I have on this, based on my experiences with M2Crypto:

  • Package name: nss (unless someone already has taken that)
    • All file names all lowercase
  • NSS functions that are available in Python are named the same in Python as in C
    • There are probably cases where some change makes sense to Python, and these would start with '??' prefix.
  • Functions that are totally new in PyNSS? would start with prefix '??'
  • Rest of the naming would follow Python conventions
  • Classes etc. would possibly start out by mimicing what Mozilla uses to wrap NSS with IDL (PSM etc.).
  • First proof-of-concept release should be similar in functionality what Python's socket.ssl provides, i.e. SSL with no real security.
  • First implementation probably using SWIG, but possibility of going pure C/C++.
  • Source layout such that it would be possible to do python setup.py test for example
  • Plan source code and modules so that the roadmap to wrap more NSS is clear
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r1 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.