The Assimilation Project  based on Assimilation version
cma.AssimCclasses.pyCryptCurve25519 Class Reference
Inheritance diagram for cma.AssimCclasses.pyCryptCurve25519:
Collaboration diagram for cma.AssimCclasses.pyCryptCurve25519:

Public Member Functions

def __init__ (self, publickey_id=None, privatekey_id=None, Cstruct=None)
- Public Member Functions inherited from cma.AssimCclasses.pyCryptFrame
def __init__ (self, destaddr=None, Cstruct=None)
def receiver_id (self)
- Public Member Functions inherited from cma.AssimCclasses.pyFrame
def __init__ (self, initval, Cstruct=None)
def frametype (self)
def framelen (self)
def framevalue (self)
def frameend (self)
def dataspace (self)
def isvalid (self)
def setvalue (self, value)
def dump (self, prefix)
def __str__ (self)
- Public Member Functions inherited from cma.AssimCclasses.pyAssimObj
def __init__ (self, Cstruct=None)
def cclassname (self)
def __str__ (self)
def __del__ (self)
def refcount (self)

Static Public Member Functions

def key_id_to_filename (key_id, keytype)
def initkeys ()
- Static Public Member Functions inherited from cma.AssimCclasses.pyCryptFrame
def get_key_ids ()
def get_cma_key_ids ()
def associate_identity (identityname, key_id)
def get_identity (key_id)
def get_dest_identity (destaddr)
def get_dest_key_id (destaddr)
def dest_set_key_id (destaddr, key_id)
- Static Public Member Functions inherited from cma.AssimCclasses.pyFrame
def Cstruct2Frame (frameptr)

Additional Inherited Members

- Static Public Attributes inherited from cma.AssimCclasses.pyCryptFrame

Detailed Description

Encryption Frame based on Libsodium - Curve25519 public key encryption.
Strangely enough, we may not actually use objects of this class - because it's
effectively hidden by the C code from us having to know about it.

Instead we just manage public keys, and map IP addresses to public keys
and the C code under us takes care of the rest in terms of creating these objects.

Definition at line 1553 of file

Constructor & Destructor Documentation

def cma.AssimCclasses.pyCryptCurve25519.__init__ (   self,
  publickey_id = None,
  privatekey_id = None,
  Cstruct = None 

Definition at line 1561 of file

References cma.AssimCclasses.pyAssimObj._Cstruct, and cryptcurve25519_new().

Here is the call graph for this function:

Member Function Documentation

def cma.AssimCclasses.pyCryptCurve25519.initkeys ( )
Initialize our set of persistent public keys / keypairs and get ready to encrypt.
This involves several steps:
    1) Read in all available public and private keys
    2) If we have no CMA keys, then generate two keypairs and give instructions
on hiding the second one...
    2) Figure out which private keys are ours and select which one (oldest) to use
       as our preferred signing key
    3) set the default signing method

    Note that there are still two issues that this doesn't deal with:
Persisting the association between nanoprobe keys ids and (domain, hostname) pairs
Assigning default IP addresses with nanoprobe key ids.

Definition at line 1576 of file

References cryptcurve25519_cache_all_keypairs(), cryptcurve25519_gen_persistent_keypair(), cryptcurve25519_set_encryption_method(), cryptframe_private_key_by_id(), and cryptframe_set_signing_key_id().

Here is the call graph for this function:

def cma.AssimCclasses.pyCryptCurve25519.key_id_to_filename (   key_id,

Definition at line 1568 of file

References curve25519_key_id_to_filename().

Here is the call graph for this function:

The documentation for this class was generated from the following file: