38 lines
1.3 KiB
C
38 lines
1.3 KiB
C
$NetBSD: patch-examples_createkey.c,v 1.2 2020/10/26 10:04:12 schmonz Exp $
|
|
|
|
Fix build with OpenSSL 1.1.
|
|
|
|
--- examples/createkey.c.orig 2020-03-27 18:50:53.384965280 +0000
|
|
+++ examples/createkey.c
|
|
@@ -21,7 +21,7 @@ int main(int argc, char *argv[])
|
|
keydata q; /* keydata structure for resulting key */
|
|
RSA *rsa; /* OpenSSL format Public Key */
|
|
FILE *keyfile; /* output file for public key */
|
|
- EVP_PKEY pkey; /* OpenSSL public key */
|
|
+ EVP_PKEY *pkey; /* OpenSSL public key */
|
|
unsigned char pkeyname[256]; /* file name string of public key file */
|
|
|
|
if (argc < 5) {
|
|
@@ -77,18 +77,20 @@ int main(int argc, char *argv[])
|
|
}
|
|
OpenSSL_add_all_algorithms();
|
|
snprintf(pkeyname,sizeof(pkeyname),"%s.pem", argv[3]);
|
|
- EVP_PKEY_assign_RSA(&pkey, rsa);
|
|
+ pkey = EVP_PKEY_new();
|
|
+ EVP_PKEY_assign_RSA(pkey, rsa);
|
|
keyfile = fopen(pkeyname, "w");
|
|
if (keyfile == NULL) {
|
|
fprintf(stderr, "Unable to create public key file\n");
|
|
exit(-1);
|
|
}
|
|
- ret = PEM_write_PUBKEY(keyfile, &pkey);
|
|
+ ret = PEM_write_PUBKEY(keyfile, pkey);
|
|
if (ret == 0) {
|
|
fprintf(stderr, "Unable to write public key file\n");
|
|
exit(-1);
|
|
}
|
|
fclose(keyfile);
|
|
RSA_free(rsa);
|
|
+ EVP_PKEY_free(pkey);
|
|
exit(0);
|
|
}
|