Merge branch 'topic/mm-fixes' of git://208.110.73.182/silc into silc.1.1.branch
[silc.git] / lib / silccrypt / silcpk_i.h
index 38029658e5409d4fe8dc0e58c9ee0fd7275169b6..e027561001d0604825e47c4fe46f45c08ac1ddc1 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2005 Pekka Riikonen
+  Copyright (C) 2005, 2007 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -31,9 +31,9 @@ SilcBool silc_pkcs_silc_import_public_key_file(unsigned char *filedata,
                                               SilcUInt32 filedata_len,
                                               SilcPKCSFileEncoding encoding,
                                               void **ret_public_key);
-SilcBool silc_pkcs_silc_import_public_key(unsigned char *key,
-                                         SilcUInt32 key_len,
-                                         void **ret_public_key);
+int silc_pkcs_silc_import_public_key(unsigned char *key,
+                                    SilcUInt32 key_len,
+                                    void **ret_public_key);
 unsigned char *
 silc_pkcs_silc_export_public_key_file(void *public_key,
                                      SilcPKCSFileEncoding encoding,
@@ -50,9 +50,9 @@ SilcBool silc_pkcs_silc_import_private_key_file(unsigned char *filedata,
                                                SilcUInt32 passphrase_len,
                                                SilcPKCSFileEncoding encoding,
                                                void **ret_private_key);
-SilcBool silc_pkcs_silc_import_private_key(unsigned char *key,
-                                          SilcUInt32 key_len,
-                                          void **ret_private_key);
+int silc_pkcs_silc_import_private_key(unsigned char *key,
+                                     SilcUInt32 key_len,
+                                     void **ret_private_key);
 unsigned char *
 silc_pkcs_silc_export_private_key_file(void *private_key,
                                       const char *passphrase,
@@ -69,7 +69,8 @@ SilcBool silc_pkcs_silc_encrypt(void *public_key,
                                SilcUInt32 src_len,
                                unsigned char *dst,
                                SilcUInt32 dst_size,
-                               SilcUInt32 *ret_dst_len);
+                               SilcUInt32 *ret_dst_len,
+                               SilcRng rng);
 SilcBool silc_pkcs_silc_decrypt(void *private_key,
                                unsigned char *src,
                                SilcUInt32 src_len,
@@ -82,6 +83,7 @@ SilcBool silc_pkcs_silc_sign(void *private_key,
                             unsigned char *signature,
                             SilcUInt32 signature_size,
                             SilcUInt32 *ret_signature_len,
+                            SilcBool compute_hash,
                             SilcHash hash);
 SilcBool silc_pkcs_silc_verify(void *public_key,
                               unsigned char *signature,