updates.
[silc.git] / lib / silccrypt / silcpkcs.h
index 97fc45c142ce1ffc6fba7e5c92b2919507e01205..8e9ad2e1688a816575b6e33b422a7e30109a4d1c 100644 (file)
@@ -97,7 +97,7 @@ typedef struct {
 #define SILC_ALL_PKCS ((SilcPKCSObject *)1)
 
 /* Static list of PKCS for silc_pkcs_register_default(). */
-extern DLLAPI SilcPKCSObject silc_default_pkcs[];
+extern DLLAPI const SilcPKCSObject silc_default_pkcs[];
 
 /* Default PKXS in the SILC protocol */
 #define SILC_DEFAULT_PKCS "rsa"
@@ -172,13 +172,15 @@ int silc_##pkcs##_verify(void *context, \
                         SilcUInt32 data_len)
 
 /* Prototypes */
-bool silc_pkcs_register(SilcPKCSObject *pkcs);
+bool silc_pkcs_register(const SilcPKCSObject *pkcs);
 bool silc_pkcs_unregister(SilcPKCSObject *pkcs);
 bool silc_pkcs_register_default(void);
 bool silc_pkcs_alloc(const unsigned char *name, SilcPKCS *new_pkcs);
 void silc_pkcs_free(SilcPKCS pkcs);
 int silc_pkcs_is_supported(const unsigned char *name);
 char *silc_pkcs_get_supported(void);
+int silc_pkcs_generate_key(SilcPKCS pkcs, SilcUInt32 bits_key_len,
+                          SilcRng rng);
 SilcUInt32 silc_pkcs_get_key_len(SilcPKCS self);
 unsigned char *silc_pkcs_get_public_key(SilcPKCS pkcs, SilcUInt32 *len);
 unsigned char *silc_pkcs_get_private_key(SilcPKCS pkcs, SilcUInt32 *len);