updates.
[silc.git] / lib / silccrypt / silcpkcs.c
index c25e99ec9329253eb2f535e862145253059b92bf..a5ebf6be46a697f26026bce93ec490b30c8f7ad2 100644 (file)
@@ -30,7 +30,6 @@
 SilcPKCSObject silc_pkcs_list[] =
 {
   /* RSA with PKCS #1 (Uses directly routines from Raw RSA operations) */
-  /*
   { "rsa", &silc_rsa_data_context, 
     silc_rsa_init, silc_rsa_clear_keys, silc_rsa_get_public_key,
     silc_rsa_get_private_key, silc_rsa_set_public_key,
@@ -38,10 +37,9 @@ SilcPKCSObject silc_pkcs_list[] =
     silc_rsa_data_context_len, silc_rsa_set_arg,
     silc_pkcs1_encrypt, silc_pkcs1_decrypt,
     silc_pkcs1_sign, silc_pkcs1_verify },
-  */
 
   /* Raw RSA operations */
-  { "rsa", &silc_rsa_data_context, 
+  { "rsa-raw", &silc_rsa_data_context, 
     silc_rsa_init, silc_rsa_clear_keys, silc_rsa_get_public_key,
     silc_rsa_get_private_key, silc_rsa_set_public_key,
     silc_rsa_set_private_key, silc_rsa_context_len,
@@ -98,6 +96,9 @@ int silc_pkcs_is_supported(const unsigned char *name)
 {
   int i;
 
+  if (!name)
+    return FALSE;
+
   for (i = 0; silc_pkcs_list[i].name; i++) {
     if (!strcmp(silc_pkcs_list[i].name, name))
       return TRUE;
@@ -229,6 +230,8 @@ int silc_pkcs_sign_with_hash(SilcPKCS pkcs, SilcHash hash,
   silc_hash_make(hash, src, src_len, hashr);
   hash_len = hash->hash->hash_len;
 
+  SILC_LOG_HEXDUMP(("Hash"), hashr, hash_len);
+
   ret = pkcs->pkcs->sign(pkcs->context, hashr, hash_len, dst, dst_len);
   memset(hashr, 0, sizeof(hashr));
 
@@ -251,6 +254,8 @@ int silc_pkcs_verify_with_hash(SilcPKCS pkcs, SilcHash hash,
   silc_hash_make(hash, data, data_len, hashr);
   hash_len = hash->hash->hash_len;
 
+  SILC_LOG_HEXDUMP(("Hash"), hashr, hash_len);
+
   ret = pkcs->pkcs->verify(pkcs->context, signature, signature_len, 
                           hashr, hash_len);
   memset(hashr, 0, sizeof(hashr));