MCPcopy Create free account
hub / github.com/attermann/microReticulum / createKeys

Method createKeys

src/microReticulum/Identity.cpp:70–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68}
69
70void Identity::createKeys() {
71 assert(_object);
72
73 // CRYPTO: create encryption private keys
74 _object->_prv = Cryptography::X25519PrivateKey::generate();
75 assert(_object->_prv);
76 _object->_prv_bytes = _object->_prv->private_bytes();
77 //TRACEF("Identity::createKeys: prv bytes: %s", _object->_prv_bytes.toHex().c_str());
78
79 // CRYPTO: create signature private keys
80 _object->_sig_prv = Cryptography::Ed25519PrivateKey::generate();
81 assert(_object->_sig_prv);
82 _object->_sig_prv_bytes = _object->_sig_prv->private_bytes();
83 //TRACEF("Identity::createKeys: sig prv bytes: %s", _object->_sig_prv_bytes.toHex().c_str());
84
85 // CRYPTO: create encryption public keys
86 _object->_pub = _object->_prv->public_key();
87 assert(_object->_pub);
88 _object->_pub_bytes = _object->_pub->public_bytes();
89 //TRACEF("Identity::createKeys: pub bytes: %s", _object->_pub_bytes.toHex().c_str());
90
91 // CRYPTO: create signature public keys
92 _object->_sig_pub = _object->_sig_prv->public_key();
93 assert(_object->_sig_pub);
94 _object->_sig_pub_bytes = _object->_sig_pub->public_bytes();
95 //TRACEF("Identity::createKeys: sig pub bytes: %s", _object->_sig_pub_bytes.toHex().c_str());
96
97 update_hashes();
98
99 VERBOSEF("Identity keys created for %s", _object->_hash.toHex().c_str());
100}
101
102/*
103Load a private key into the instance.

Callers

nothing calls this directly

Calls 3

public_bytesMethod · 0.80
toHexMethod · 0.80
public_keyMethod · 0.45

Tested by

no test coverage detected