X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccrypt%2Fsilcpkcs1.c;h=5db3f82a72e2795f26ac133d6d25de6de8846c89;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=b4ea51ca0e65790c02eab907b513e910132a4bfe;hpb=abfab56ac76372f17c2e509b2e2fdd4675ec7764;p=silc.git diff --git a/lib/silccrypt/silcpkcs1.c b/lib/silccrypt/silcpkcs1.c index b4ea51ca..5db3f82a 100644 --- a/lib/silccrypt/silcpkcs1.c +++ b/lib/silccrypt/silcpkcs1.c @@ -169,11 +169,7 @@ SilcBool silc_pkcs1_decode(SilcPkcs1BlockType bt, /* Generates RSA key pair. */ -SilcBool silc_pkcs1_generate_key(const struct SilcPKCSAlgorithmStruct *pkcs, - SilcUInt32 keylen, - SilcRng rng, - void **ret_public_key, - void **ret_private_key) +SILC_PKCS_ALG_GENERATE_KEY(silc_pkcs1_generate_key) { SilcUInt32 prime_bits = keylen / 2; SilcMPInt p, q; @@ -217,10 +213,7 @@ SilcBool silc_pkcs1_generate_key(const struct SilcPKCSAlgorithmStruct *pkcs, /* Import PKCS #1 compliant public key */ -int silc_pkcs1_import_public_key(const struct SilcPKCSAlgorithmStruct *pkcs, - void *key, - SilcUInt32 key_len, - void **ret_public_key) +SILC_PKCS_ALG_IMPORT_PUBLIC_KEY(silc_pkcs1_import_public_key) { SilcAsn1 asn1 = NULL; SilcBufferStruct alg_key; @@ -263,11 +256,7 @@ int silc_pkcs1_import_public_key(const struct SilcPKCSAlgorithmStruct *pkcs, /* Export PKCS #1 compliant public key */ -unsigned char * -silc_pkcs1_export_public_key(const struct SilcPKCSAlgorithmStruct *pkcs, - SilcStack stack, - void *public_key, - SilcUInt32 *ret_len) +SILC_PKCS_ALG_EXPORT_PUBLIC_KEY(silc_pkcs1_export_public_key) { RsaPublicKey *key = public_key; SilcAsn1 asn1 = NULL; @@ -301,9 +290,7 @@ silc_pkcs1_export_public_key(const struct SilcPKCSAlgorithmStruct *pkcs, /* Returns key length */ -SilcUInt32 -silc_pkcs1_public_key_bitlen(const struct SilcPKCSAlgorithmStruct *pkcs, - void *public_key) +SILC_PKCS_ALG_PUBLIC_KEY_BITLEN(silc_pkcs1_public_key_bitlen) { RsaPublicKey *key = public_key; return key->bits; @@ -311,8 +298,7 @@ silc_pkcs1_public_key_bitlen(const struct SilcPKCSAlgorithmStruct *pkcs, /* Copy public key */ -void *silc_pkcs1_public_key_copy(const struct SilcPKCSAlgorithmStruct *pkcs, - void *public_key) +SILC_PKCS_ALG_PUBLIC_KEY_COPY(silc_pkcs1_public_key_copy) { RsaPublicKey *key = public_key, *new_key; @@ -331,9 +317,7 @@ void *silc_pkcs1_public_key_copy(const struct SilcPKCSAlgorithmStruct *pkcs, /* Compare public keys */ -SilcBool -silc_pkcs1_public_key_compare(const struct SilcPKCSAlgorithmStruct *pkcs, - void *key1, void *key2) +SILC_PKCS_ALG_PUBLIC_KEY_COMPARE(silc_pkcs1_public_key_compare) { RsaPublicKey *k1 = key1, *k2 = key2; @@ -349,8 +333,7 @@ silc_pkcs1_public_key_compare(const struct SilcPKCSAlgorithmStruct *pkcs, /* Frees public key */ -void silc_pkcs1_public_key_free(const struct SilcPKCSAlgorithmStruct *pkcs, - void *public_key) +SILC_PKCS_ALG_PUBLIC_KEY_FREE(silc_pkcs1_public_key_free) { RsaPublicKey *key = public_key; @@ -361,10 +344,7 @@ void silc_pkcs1_public_key_free(const struct SilcPKCSAlgorithmStruct *pkcs, /* Import PKCS #1 compliant private key */ -int silc_pkcs1_import_private_key(const struct SilcPKCSAlgorithmStruct *pkcs, - void *key, - SilcUInt32 key_len, - void **ret_private_key) +SILC_PKCS_ALG_IMPORT_PRIVATE_KEY(silc_pkcs1_import_private_key) { SilcAsn1 asn1; SilcBufferStruct alg_key; @@ -418,11 +398,7 @@ int silc_pkcs1_import_private_key(const struct SilcPKCSAlgorithmStruct *pkcs, /* Export PKCS #1 compliant private key */ -unsigned char * -silc_pkcs1_export_private_key(const struct SilcPKCSAlgorithmStruct *pkcs, - SilcStack stack, - void *private_key, - SilcUInt32 *ret_len) +SILC_PKCS_ALG_EXPORT_PRIVATE_KEY(silc_pkcs1_export_private_key) { RsaPrivateKey *key = private_key; SilcAsn1 asn1; @@ -462,9 +438,7 @@ silc_pkcs1_export_private_key(const struct SilcPKCSAlgorithmStruct *pkcs, /* Returns key length */ -SilcUInt32 -silc_pkcs1_private_key_bitlen(const struct SilcPKCSAlgorithmStruct *pkcs, - void *private_key) +SILC_PKCS_ALG_PRIVATE_KEY_BITLEN(silc_pkcs1_private_key_bitlen) { RsaPrivateKey *key = private_key; return key->bits; @@ -472,8 +446,7 @@ silc_pkcs1_private_key_bitlen(const struct SilcPKCSAlgorithmStruct *pkcs, /* Frees private key */ -void silc_pkcs1_private_key_free(const struct SilcPKCSAlgorithmStruct *pkcs, - void *private_key) +SILC_PKCS_ALG_PRIVATE_KEY_FREE(silc_pkcs1_private_key_free) { RsaPrivateKey *key = private_key; @@ -490,14 +463,7 @@ void silc_pkcs1_private_key_free(const struct SilcPKCSAlgorithmStruct *pkcs, /* PKCS #1 RSA routines */ -SilcAsyncOperation -silc_pkcs1_encrypt(const struct SilcPKCSAlgorithmStruct *pkcs, - void *public_key, - unsigned char *src, - SilcUInt32 src_len, - SilcRng rng, - SilcPKCSEncryptCb encrypt_cb, - void *context) +SILC_PKCS_ALG_ENCRYPT(silc_pkcs1_encrypt) { RsaPublicKey *key = public_key; SilcMPInt mp_tmp; @@ -543,13 +509,7 @@ silc_pkcs1_encrypt(const struct SilcPKCSAlgorithmStruct *pkcs, return NULL; } -SilcAsyncOperation -silc_pkcs1_decrypt(const struct SilcPKCSAlgorithmStruct *pkcs, - void *private_key, - unsigned char *src, - SilcUInt32 src_len, - SilcPKCSDecryptCb decrypt_cb, - void *context) +SILC_PKCS_ALG_DECRYPT(silc_pkcs1_decrypt) { RsaPrivateKey *key = private_key; SilcMPInt mp_tmp; @@ -603,15 +563,7 @@ silc_pkcs1_decrypt(const struct SilcPKCSAlgorithmStruct *pkcs, /* PKCS #1 sign with appendix, hash OID included in the signature */ -SilcAsyncOperation -silc_pkcs1_sign(const struct SilcPKCSAlgorithmStruct *pkcs, - void *private_key, - unsigned char *src, - SilcUInt32 src_len, - SilcBool compute_hash, - SilcHash hash, - SilcPKCSSignCb sign_cb, - void *context) +SILC_PKCS_ALG_SIGN(silc_pkcs1_sign) { RsaPrivateKey *key = private_key; unsigned char padded[2048 + 1], hashr[SILC_HASH_MAXLEN]; @@ -707,16 +659,7 @@ silc_pkcs1_sign(const struct SilcPKCSAlgorithmStruct *pkcs, /* PKCS #1 verification with appendix. */ -SilcAsyncOperation -silc_pkcs1_verify(const struct SilcPKCSAlgorithmStruct *pkcs, - void *public_key, - unsigned char *signature, - SilcUInt32 signature_len, - unsigned char *data, - SilcUInt32 data_len, - SilcHash hash, - SilcPKCSVerifyCb verify_cb, - void *context) +SILC_PKCS_ALG_VERIFY(silc_pkcs1_verify) { RsaPublicKey *key = public_key; SilcBool ret = FALSE; @@ -845,15 +788,7 @@ silc_pkcs1_verify(const struct SilcPKCSAlgorithmStruct *pkcs, /* PKCS #1 sign without hash oid */ -SilcAsyncOperation -silc_pkcs1_sign_no_oid(const struct SilcPKCSAlgorithmStruct *pkcs, - void *private_key, - unsigned char *src, - SilcUInt32 src_len, - SilcBool compute_hash, - SilcHash hash, - SilcPKCSSignCb sign_cb, - void *context) +SILC_PKCS_ALG_SIGN(silc_pkcs1_sign_no_oid) { RsaPrivateKey *key = private_key; SilcMPInt mp_tmp; @@ -912,16 +847,7 @@ silc_pkcs1_sign_no_oid(const struct SilcPKCSAlgorithmStruct *pkcs, /* PKCS #1 verify without hash oid */ -SilcAsyncOperation -silc_pkcs1_verify_no_oid(const struct SilcPKCSAlgorithmStruct *pkcs, - void *public_key, - unsigned char *signature, - SilcUInt32 signature_len, - unsigned char *data, - SilcUInt32 data_len, - SilcHash hash, - SilcPKCSVerifyCb verify_cb, - void *context) +SILC_PKCS_ALG_VERIFY(silc_pkcs1_verify_no_oid) { RsaPublicKey *key = public_key; SilcBool ret = FALSE;