|
@@ -182,34 +182,3 @@ curve25519_handshake(uint8_t *output,
|
|
curve25519_impl(output, skey->secret_key, pkey->public_key);
|
|
curve25519_impl(output, skey->secret_key, pkey->public_key);
|
|
}
|
|
}
|
|
|
|
|
|
-int
|
|
|
|
-curve25519_public_to_base64(char *output,
|
|
|
|
- const curve25519_public_key_t *pkey)
|
|
|
|
-{
|
|
|
|
- char buf[128];
|
|
|
|
- base64_encode(buf, sizeof(buf),
|
|
|
|
- (const char*)pkey->public_key, CURVE25519_PUBKEY_LEN);
|
|
|
|
- buf[CURVE25519_BASE64_PADDED_LEN] = '\0';
|
|
|
|
- memcpy(output, buf, CURVE25519_BASE64_PADDED_LEN+1);
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-int
|
|
|
|
-curve25519_public_from_base64(curve25519_public_key_t *pkey,
|
|
|
|
- const char *input)
|
|
|
|
-{
|
|
|
|
- size_t len = strlen(input);
|
|
|
|
- if (len == CURVE25519_BASE64_PADDED_LEN - 1) {
|
|
|
|
- /* not padded */
|
|
|
|
- return digest256_from_base64((char*)pkey->public_key, input);
|
|
|
|
- } else if (len == CURVE25519_BASE64_PADDED_LEN) {
|
|
|
|
- char buf[128];
|
|
|
|
- if (base64_decode(buf, sizeof(buf), input, len) != CURVE25519_PUBKEY_LEN)
|
|
|
|
- return -1;
|
|
|
|
- memcpy(pkey->public_key, buf, CURVE25519_PUBKEY_LEN);
|
|
|
|
- return 0;
|
|
|
|
- } else {
|
|
|
|
- return -1;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|