Commit c368898c authored by Matthew Hodgson's avatar Matthew Hodgson

Merge branch 'master' into markdown

parents 5b69a1a5 214908ac
This diff is collapsed.
......@@ -87,7 +87,7 @@ size_t olm_pk_encrypt(
void * ciphertext, size_t ciphertext_length,
void * mac, size_t mac_length,
void * ephemeral_key, size_t ephemeral_key_size,
void * random, size_t random_length
const void * random, size_t random_length
);
typedef struct OlmPkDecryption OlmPkDecryption;
......@@ -133,7 +133,7 @@ size_t olm_pk_generate_key_random_length(void);
size_t olm_pk_key_from_private(
OlmPkDecryption * decryption,
void * pubkey, size_t pubkey_length,
void * privkey, size_t privkey_length
const void * privkey, size_t privkey_length
);
/** DEPRECATED: Use olm_pk_key_from_private
......@@ -141,7 +141,7 @@ size_t olm_pk_key_from_private(
size_t olm_pk_generate_key(
OlmPkDecryption * decryption,
void * pubkey, size_t pubkey_length,
void * privkey, size_t privkey_length
const void * privkey, size_t privkey_length
);
/** Returns the number of bytes needed to store a decryption object. */
......@@ -230,19 +230,39 @@ size_t olm_clear_pk_signing(
);
/**
* Initialise the signing object with a public/private keypair from a seed
* Initialise the signing object with a public/private keypair from a seed. The
* associated public key will be written to the pubkey buffer. Returns
* olm_error() on failure. If the public key buffer is too small then
* olm_pk_signing_last_error() will be "OUTPUT_BUFFER_TOO_SMALL". If the seed
* buffer is too small then olm_pk_signing_last_error() will be
* "INPUT_BUFFER_TOO_SMALL".
*/
size_t olm_pk_signing_key_from_seed(
OlmPkSigning * sign,
void * pubkey, size_t pubkey_length,
void * seed, size_t seed_length
const void * seed, size_t seed_length
);
/**
* The size required for the seed for initialising a signing object.
*/
size_t olm_pk_signing_seed_length(void);
/**
* The size of the public key of a signing object.
*/
size_t olm_pk_signing_public_key_length(void);
size_t olm_pk_signature_length();
/**
* The size of a signature created by a signing object.
*/
size_t olm_pk_signature_length(void);
/**
* Sign a message. The signature will be written to the signature
* buffer. Returns olm_error() on failure. If the signature buffer is too
* small, olm_pk_signing_last_error() will be "OUTPUT_BUFFER_TOO_SMALL".
*/
size_t olm_pk_sign(
OlmPkSigning *sign,
uint8_t const * message, size_t message_length,
......
......@@ -108,7 +108,7 @@ size_t olm_pk_encrypt(
void * ciphertext, size_t ciphertext_length,
void * mac, size_t mac_length,
void * ephemeral_key, size_t ephemeral_key_size,
void * random, size_t random_length
const void * random, size_t random_length
) {
if (ciphertext_length
< olm_pk_ciphertext_length(encryption, plaintext_length)
......@@ -127,7 +127,7 @@ size_t olm_pk_encrypt(
}
_olm_curve25519_key_pair ephemeral_keypair;
_olm_crypto_curve25519_generate_key((uint8_t *) random, &ephemeral_keypair);
_olm_crypto_curve25519_generate_key((const uint8_t *) random, &ephemeral_keypair);
olm::encode_base64(
(const uint8_t *)ephemeral_keypair.public_key.public_key,
CURVE25519_KEY_LENGTH,
......@@ -202,7 +202,7 @@ size_t olm_pk_key_length(void) {
size_t olm_pk_key_from_private(
OlmPkDecryption * decryption,
void * pubkey, size_t pubkey_length,
void * privkey, size_t privkey_length
const void * privkey, size_t privkey_length
) {
if (pubkey_length < olm_pk_key_length()) {
decryption->last_error =
......@@ -215,7 +215,7 @@ size_t olm_pk_key_from_private(
return std::size_t(-1);
}
_olm_crypto_curve25519_generate_key((uint8_t *) privkey, &decryption->key_pair);
_olm_crypto_curve25519_generate_key((const uint8_t *) privkey, &decryption->key_pair);
olm::encode_base64(
(const uint8_t *)decryption->key_pair.public_key.public_key,
CURVE25519_KEY_LENGTH,
......@@ -227,7 +227,7 @@ size_t olm_pk_key_from_private(
size_t olm_pk_generate_key(
OlmPkDecryption * decryption,
void * pubkey, size_t pubkey_length,
void * privkey, size_t privkey_length
const void * privkey, size_t privkey_length
) {
return olm_pk_key_from_private(decryption, pubkey, pubkey_length, privkey, privkey_length);
}
......@@ -447,7 +447,7 @@ size_t olm_pk_signing_public_key_length(void) {
size_t olm_pk_signing_key_from_seed(
OlmPkSigning * signing,
void * pubkey, size_t pubkey_length,
void * seed, size_t seed_length
const void * seed, size_t seed_length
) {
if (pubkey_length < olm_pk_signing_public_key_length()) {
signing->last_error =
......@@ -460,7 +460,7 @@ size_t olm_pk_signing_key_from_seed(
return std::size_t(-1);
}
_olm_crypto_ed25519_generate_key((uint8_t *) seed, &signing->key_pair);
_olm_crypto_ed25519_generate_key((const uint8_t *) seed, &signing->key_pair);
olm::encode_base64(
(const uint8_t *)signing->key_pair.public_key.public_key,
ED25519_PUBLIC_KEY_LENGTH,
......@@ -469,7 +469,7 @@ size_t olm_pk_signing_key_from_seed(
return 0;
}
size_t olm_pk_signature_length() {
size_t olm_pk_signature_length(void) {
return olm::encode_base64_length(ED25519_SIGNATURE_LENGTH);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment