[Asterisk-cvs] asterisk/res res_crypto.c,1.12,1.13
markster at lists.digium.com
markster at lists.digium.com
Sat Aug 14 17:42:22 CDT 2004
Update of /usr/cvsroot/asterisk/res
In directory localhost.localdomain:/tmp/cvs-serv14537/res
Modified Files:
res_crypto.c
Log Message:
Oops, forgot message length
Index: res_crypto.c
===================================================================
RCS file: /usr/cvsroot/asterisk/res/res_crypto.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- res_crypto.c 14 Aug 2004 20:19:38 -0000 1.12
+++ res_crypto.c 14 Aug 2004 21:28:30 -0000 1.13
@@ -296,7 +296,7 @@
#endif
-int ast_sign_bin(struct ast_key *key, char *msg, unsigned char *dsig)
+int ast_sign_bin(struct ast_key *key, char *msg, int msglen, unsigned char *dsig)
{
unsigned char digest[20];
int siglen = sizeof(dsig);
@@ -308,7 +308,7 @@
}
/* Calculate digest of message */
- SHA1((unsigned char *)msg, strlen(msg), digest);
+ SHA1((unsigned char *)msg, msglen, digest);
/* Verify signature */
res = RSA_sign(NID_sha1, digest, sizeof(digest), dsig, &siglen, key->rsa);
@@ -332,7 +332,7 @@
unsigned char dsig[128];
int siglen = sizeof(dsig);
int res;
- res = ast_sign_bin(key, msg, dsig);
+ res = ast_sign_bin(key, msg, strlen(msg), dsig);
if (!res)
/* Success -- encode (256 bytes max as documented) */
ast_base64encode(sig, dsig, siglen, 256);
@@ -340,7 +340,7 @@
}
-int ast_check_signature_bin(struct ast_key *key, char *msg, unsigned char *dsig)
+int ast_check_signature_bin(struct ast_key *key, char *msg, int msglen, unsigned char *dsig)
{
unsigned char digest[20];
int res;
@@ -353,7 +353,7 @@
}
/* Calculate digest of message */
- SHA1((unsigned char *)msg, strlen(msg), digest);
+ SHA1((unsigned char *)msg, msglen, digest);
/* Verify signature */
res = RSA_verify(NID_sha1, digest, sizeof(digest), dsig, sizeof(dsig), key->rsa);
@@ -377,7 +377,7 @@
ast_log(LOG_WARNING, "Signature improper length (expect %d, got %d)\n", (int)sizeof(dsig), (int)res);
return -1;
}
- res = ast_check_signature_bin(key, msg, dsig);
+ res = ast_check_signature_bin(key, msg, strlen(msg), dsig);
return res;
}
More information about the svn-commits
mailing list