#ifndef SILCPKCS1_I_H
#define SILCPKCS1_I_H
-SilcBool silc_pkcs1_generate_key(const struct SilcPKCSAlgorithmStruct *pkcs,
- SilcUInt32 keylen,
- SilcRng rng,
- void **ret_public_key,
- void **ret_private_key);
-int silc_pkcs1_import_public_key(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *key,
- SilcUInt32 key_len,
- void **ret_public_key);
-unsigned char *
-silc_pkcs1_export_public_key(const struct SilcPKCSAlgorithmStruct *pkcs,
- SilcStack stack,
- void *public_key,
- SilcUInt32 *ret_len);
-SilcUInt32
-silc_pkcs1_public_key_bitlen(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *public_key);
-void *silc_pkcs1_public_key_copy(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *public_key);
-SilcBool
-silc_pkcs1_public_key_compare(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *key1, void *key2);
-void silc_pkcs1_public_key_free(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *public_key);
-int silc_pkcs1_import_private_key(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *key,
- SilcUInt32 key_len,
- void **ret_private_key);
-unsigned char *
-silc_pkcs1_export_private_key(const struct SilcPKCSAlgorithmStruct *pkcs,
- SilcStack stack,
- void *private_key,
- SilcUInt32 *ret_len);
-SilcUInt32
-silc_pkcs1_private_key_bitlen(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *private_key);
-void silc_pkcs1_private_key_free(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *private_key);
-SilcAsyncOperation
-silc_pkcs1_encrypt(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *public_key,
- unsigned char *src,
- SilcUInt32 src_len,
- SilcRng rng,
- SilcPKCSEncryptCb encrypt_cb,
- void *context);
-SilcAsyncOperation
-silc_pkcs1_decrypt(const struct SilcPKCSAlgorithmStruct *pkcs,
- void *private_key,
- unsigned char *src,
- SilcUInt32 src_len,
- SilcPKCSDecryptCb decrypt_cb,
- void *context);
-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);
-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);
-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);
-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_GENERATE_KEY(silc_pkcs1_generate_key);
+SILC_PKCS_ALG_IMPORT_PUBLIC_KEY(silc_pkcs1_import_public_key);
+SILC_PKCS_ALG_EXPORT_PUBLIC_KEY(silc_pkcs1_export_public_key);
+SILC_PKCS_ALG_PUBLIC_KEY_BITLEN(silc_pkcs1_public_key_bitlen);
+SILC_PKCS_ALG_PUBLIC_KEY_COPY(silc_pkcs1_public_key_copy);
+SILC_PKCS_ALG_PUBLIC_KEY_COMPARE(silc_pkcs1_public_key_compare);
+SILC_PKCS_ALG_PUBLIC_KEY_FREE(silc_pkcs1_public_key_free);
+SILC_PKCS_ALG_IMPORT_PRIVATE_KEY(silc_pkcs1_import_private_key);
+SILC_PKCS_ALG_EXPORT_PRIVATE_KEY(silc_pkcs1_export_private_key);
+SILC_PKCS_ALG_PRIVATE_KEY_BITLEN(silc_pkcs1_private_key_bitlen);
+SILC_PKCS_ALG_PRIVATE_KEY_FREE(silc_pkcs1_private_key_free);
+SILC_PKCS_ALG_ENCRYPT(silc_pkcs1_encrypt);
+SILC_PKCS_ALG_DECRYPT(silc_pkcs1_decrypt);
+SILC_PKCS_ALG_SIGN(silc_pkcs1_sign);
+SILC_PKCS_ALG_VERIFY(silc_pkcs1_verify);
+SILC_PKCS_ALG_SIGN(silc_pkcs1_sign_no_oid);
+SILC_PKCS_ALG_VERIFY(silc_pkcs1_verify_no_oid);
#endif /* SILCPKCS1_I_H */