projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BIO_write and BIO_read could, in theory, return -2.
[openssl.git]
/
demos
/
sign
/
sign.c
diff --git
a/demos/sign/sign.c
b/demos/sign/sign.c
index 5cbce3cdc52317dcbca68cfceca813931a4f60a3..0fdf0de387d47a129a9f6753e4e32422ce2109f1 100644
(file)
--- a/
demos/sign/sign.c
+++ b/
demos/sign/sign.c
@@
-61,16
+61,20
@@
/* converted to C - eay :-) */
/* converted to C - eay :-) */
+/* reformated a bit and converted to use the more common functions: this was
+ * initially written at the dawn of time :-) - Steve.
+ */
+
#include <stdio.h>
#include <stdio.h>
-#include
"rsa.h"
-#include
"evp.h"
-#include
"objects.h"
-#include
"x509.h"
-#include
"err.h"
-#include
"pem.h"
-#include
"ssl.h"
+#include
<openssl/rsa.h>
+#include
<openssl/evp.h>
+#include
<openssl/objects.h>
+#include
<openssl/x509.h>
+#include
<openssl/err.h>
+#include
<openssl/pem.h>
+#include
<openssl/ssl.h>
-
void
main ()
+
int
main ()
{
int err;
int sig_len;
{
int err;
int sig_len;
@@
-90,48
+94,60
@@
void main ()
/* Read private key */
/* Read private key */
- fp = fopen (keyfile, "r"); if (fp == NULL) exit (1);
- pkey = (EVP_PKEY*)PEM_ASN1_read ((char *(*)())d2i_PrivateKey,
- PEM_STRING_EVP_PKEY,
- fp,
- NULL, NULL);
- if (pkey == NULL) { ERR_print_errors_fp (stderr); exit (1); }
+ fp = fopen (keyfile, "r");
+ if (fp == NULL) exit (1);
+ pkey = PEM_read_PrivateKey(fp, NULL, NULL);
fclose (fp);
fclose (fp);
+
+ if (pkey == NULL) {
+ ERR_print_errors_fp (stderr);
+ exit (1);
+ }
/* Do the signature */
/* Do the signature */
- EVP_SignInit (&md_ctx, EVP_
md5
());
+ EVP_SignInit (&md_ctx, EVP_
sha1
());
EVP_SignUpdate (&md_ctx, data, strlen(data));
sig_len = sizeof(sig_buf);
EVP_SignUpdate (&md_ctx, data, strlen(data));
sig_len = sizeof(sig_buf);
- err = EVP_SignFinal (&md_ctx,
- sig_buf,
- &sig_len,
- pkey);
- if (err != 1) { ERR_print_errors_fp (stderr); exit (1); }
+ err = EVP_SignFinal (&md_ctx, sig_buf, &sig_len, pkey);
+
+ if (err != 1) {
+ ERR_print_errors_fp(stderr);
+ exit (1);
+ }
+
EVP_PKEY_free (pkey);
/* Read public key */
EVP_PKEY_free (pkey);
/* Read public key */
- fp = fopen (certfile, "r"); if (fp == NULL) exit (1);
- x509 = (X509 *)PEM_ASN1_read ((char *(*)())d2i_X509,
- PEM_STRING_X509,
- fp, NULL, NULL);
- if (x509 == NULL) { ERR_print_errors_fp (stderr); exit (1); }
+ fp = fopen (certfile, "r");
+ if (fp == NULL) exit (1);
+ x509 = PEM_read_X509(fp, NULL, NULL);
fclose (fp);
fclose (fp);
+
+ if (x509 == NULL) {
+ ERR_print_errors_fp (stderr);
+ exit (1);
+ }
/* Get public key - eay */
/* Get public key - eay */
- pkey=X509_extract_key(x509);
- if (pkey == NULL) { ERR_print_errors_fp (stderr); exit (1); }
+ pkey=X509_get_pubkey(x509);
+ if (pkey == NULL) {
+ ERR_print_errors_fp (stderr);
+ exit (1);
+ }
/* Verify the signature */
/* Verify the signature */
- EVP_VerifyInit (&md_ctx, EVP_
md5
());
+ EVP_VerifyInit (&md_ctx, EVP_
sha1
());
EVP_VerifyUpdate (&md_ctx, data, strlen((char*)data));
EVP_VerifyUpdate (&md_ctx, data, strlen((char*)data));
- err = EVP_VerifyFinal (&md_ctx,
- sig_buf,
- sig_len,
- pkey);
- if (err != 1) { ERR_print_errors_fp (stderr); exit (1); }
+ err = EVP_VerifyFinal (&md_ctx, sig_buf, sig_len, pkey);
EVP_PKEY_free (pkey);
EVP_PKEY_free (pkey);
+
+ if (err != 1) {
+ ERR_print_errors_fp (stderr);
+ exit (1);
+ }
printf ("Signature Verified Ok.\n");
printf ("Signature Verified Ok.\n");
+ return(0);
}
}