| 68 | } |
| 69 | |
| 70 | void 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 | /* |
| 103 | Load a private key into the instance. |
nothing calls this directly
no test coverage detected