5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C); 2006 Pekka Riikonen
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; version 2 of the License.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
23 SilcBool silc_pkcs1_generate_key(const struct SilcPKCSAlgorithmStruct *pkcs,
26 void **ret_public_key,
27 void **ret_private_key);
28 int silc_pkcs1_import_public_key(const struct SilcPKCSAlgorithmStruct *pkcs,
31 void **ret_public_key);
33 silc_pkcs1_export_public_key(const struct SilcPKCSAlgorithmStruct *pkcs,
38 silc_pkcs1_public_key_bitlen(const struct SilcPKCSAlgorithmStruct *pkcs,
40 void *silc_pkcs1_public_key_copy(const struct SilcPKCSAlgorithmStruct *pkcs,
43 silc_pkcs1_public_key_compare(const struct SilcPKCSAlgorithmStruct *pkcs,
44 void *key1, void *key2);
45 void silc_pkcs1_public_key_free(const struct SilcPKCSAlgorithmStruct *pkcs,
47 int silc_pkcs1_import_private_key(const struct SilcPKCSAlgorithmStruct *pkcs,
50 void **ret_private_key);
52 silc_pkcs1_export_private_key(const struct SilcPKCSAlgorithmStruct *pkcs,
57 silc_pkcs1_private_key_bitlen(const struct SilcPKCSAlgorithmStruct *pkcs,
59 void silc_pkcs1_private_key_free(const struct SilcPKCSAlgorithmStruct *pkcs,
62 silc_pkcs1_encrypt(const struct SilcPKCSAlgorithmStruct *pkcs,
67 SilcPKCSEncryptCb encrypt_cb,
70 silc_pkcs1_decrypt(const struct SilcPKCSAlgorithmStruct *pkcs,
74 SilcPKCSDecryptCb decrypt_cb,
76 SilcAsyncOperation silc_pkcs1_sign(const struct SilcPKCSAlgorithmStruct *pkcs,
80 SilcBool compute_hash,
82 SilcPKCSSignCb sign_cb,
84 SilcAsyncOperation silc_pkcs1_verify(const struct SilcPKCSAlgorithmStruct *pkcs,
86 unsigned char *signature,
87 SilcUInt32 signature_len,
91 SilcPKCSVerifyCb verify_cb,
94 silc_pkcs1_sign_no_oid(const struct SilcPKCSAlgorithmStruct *pkcs,
98 SilcBool compute_hash,
100 SilcPKCSSignCb sign_cb,
103 silc_pkcs1_verify_no_oid(const struct SilcPKCSAlgorithmStruct *pkcs,
105 unsigned char *signature,
106 SilcUInt32 signature_len,
110 SilcPKCSVerifyCb verify_cb,
113 #endif /* SILCPKCS1_I_H */