summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509/x509spki.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/x509/x509spki.c')
-rw-r--r--src/lib/libcrypto/x509/x509spki.c33
1 files changed, 20 insertions, 13 deletions
diff --git a/src/lib/libcrypto/x509/x509spki.c b/src/lib/libcrypto/x509/x509spki.c
index 9f0fbd39e3..b5f67b5a97 100644
--- a/src/lib/libcrypto/x509/x509spki.c
+++ b/src/lib/libcrypto/x509/x509spki.c
@@ -10,7 +10,7 @@
10 * are met: 10 * are met:
11 * 11 *
12 * 1. Redistributions of source code must retain the above copyright 12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer. 13 * notice, this list of conditions and the following disclaimer.
14 * 14 *
15 * 2. Redistributions in binary form must reproduce the above copyright 15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in 16 * notice, this list of conditions and the following disclaimer in
@@ -60,36 +60,42 @@
60#include "cryptlib.h" 60#include "cryptlib.h"
61#include <openssl/x509.h> 61#include <openssl/x509.h>
62 62
63int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey) 63int
64NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey)
64{ 65{
65 if ((x == NULL) || (x->spkac == NULL)) return(0); 66 if ((x == NULL) || (x->spkac == NULL))
66 return(X509_PUBKEY_set(&(x->spkac->pubkey),pkey)); 67 return (0);
68 return (X509_PUBKEY_set(&(x->spkac->pubkey), pkey));
67} 69}
68 70
69EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x) 71EVP_PKEY *
72NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x)
70{ 73{
71 if ((x == NULL) || (x->spkac == NULL)) 74 if ((x == NULL) || (x->spkac == NULL))
72 return(NULL); 75 return (NULL);
73 return(X509_PUBKEY_get(x->spkac->pubkey)); 76 return (X509_PUBKEY_get(x->spkac->pubkey));
74} 77}
75 78
76/* Load a Netscape SPKI from a base64 encoded string */ 79/* Load a Netscape SPKI from a base64 encoded string */
77 80
78NETSCAPE_SPKI * NETSCAPE_SPKI_b64_decode(const char *str, int len) 81NETSCAPE_SPKI *
82NETSCAPE_SPKI_b64_decode(const char *str, int len)
79{ 83{
80 unsigned char *spki_der; 84 unsigned char *spki_der;
81 const unsigned char *p; 85 const unsigned char *p;
82 int spki_len; 86 int spki_len;
83 NETSCAPE_SPKI *spki; 87 NETSCAPE_SPKI *spki;
84 if(len <= 0) len = strlen(str); 88
89 if (len <= 0)
90 len = strlen(str);
85 if (!(spki_der = malloc(len + 1))) { 91 if (!(spki_der = malloc(len + 1))) {
86 X509err(X509_F_NETSCAPE_SPKI_B64_DECODE, ERR_R_MALLOC_FAILURE); 92 X509err(X509_F_NETSCAPE_SPKI_B64_DECODE, ERR_R_MALLOC_FAILURE);
87 return NULL; 93 return NULL;
88 } 94 }
89 spki_len = EVP_DecodeBlock(spki_der, (const unsigned char *)str, len); 95 spki_len = EVP_DecodeBlock(spki_der, (const unsigned char *)str, len);
90 if(spki_len < 0) { 96 if (spki_len < 0) {
91 X509err(X509_F_NETSCAPE_SPKI_B64_DECODE, 97 X509err(X509_F_NETSCAPE_SPKI_B64_DECODE,
92 X509_R_BASE64_DECODE_ERROR); 98 X509_R_BASE64_DECODE_ERROR);
93 free(spki_der); 99 free(spki_der);
94 return NULL; 100 return NULL;
95 } 101 }
@@ -101,7 +107,8 @@ NETSCAPE_SPKI * NETSCAPE_SPKI_b64_decode(const char *str, int len)
101 107
102/* Generate a base64 encoded string from an SPKI */ 108/* Generate a base64 encoded string from an SPKI */
103 109
104char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki) 110char *
111NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki)
105{ 112{
106 unsigned char *der_spki, *p; 113 unsigned char *der_spki, *p;
107 char *b64_str; 114 char *b64_str;
@@ -109,7 +116,7 @@ char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki)
109 der_len = i2d_NETSCAPE_SPKI(spki, NULL); 116 der_len = i2d_NETSCAPE_SPKI(spki, NULL);
110 der_spki = malloc(der_len); 117 der_spki = malloc(der_len);
111 b64_str = malloc(der_len * 2); 118 b64_str = malloc(der_len * 2);
112 if(!der_spki || !b64_str) { 119 if (!der_spki || !b64_str) {
113 X509err(X509_F_NETSCAPE_SPKI_B64_ENCODE, ERR_R_MALLOC_FAILURE); 120 X509err(X509_F_NETSCAPE_SPKI_B64_ENCODE, ERR_R_MALLOC_FAILURE);
114 free(der_spki); 121 free(der_spki);
115 free(b64_str); 122 free(b64_str);