version 1.2, 2014/08/28 14:23:52 |
version 1.3, 2014/09/01 20:54:37 |
|
|
BIO_printf(bio_err, "writing new certificates\n"); |
BIO_printf(bio_err, "writing new certificates\n"); |
for (i = 0; i < sk_X509_num(cert_sk); i++) { |
for (i = 0; i < sk_X509_num(cert_sk); i++) { |
int k; |
int k; |
char *serial; |
char *serialstr; |
unsigned char *data; |
unsigned char *data; |
|
|
x = sk_X509_value(cert_sk, i); |
x = sk_X509_value(cert_sk, i); |
|
|
j = x->cert_info->serialNumber->length; |
j = x->cert_info->serialNumber->length; |
data = (unsigned char *)x->cert_info->serialNumber->data; |
data = (unsigned char *)x->cert_info->serialNumber->data; |
if (j > 0) |
if (j > 0) |
serial = bin2hex(data, j); |
serialstr = bin2hex(data, j); |
else |
else |
serial = strdup("00"); |
serialstr = strdup("00"); |
if (serial) { |
if (serialstr) { |
k = snprintf(buf[2], sizeof(buf[2]), |
k = snprintf(buf[2], sizeof(buf[2]), |
"%s/%s.pem", outdir, serial); |
"%s/%s.pem", outdir, serialstr); |
free(serial); |
free(serialstr); |
if (k == -1 || k >= sizeof(buf[2])) { |
if (k == -1 || k >= sizeof(buf[2])) { |
BIO_printf(bio_err, |
BIO_printf(bio_err, |
"certificate file name too long\n"); |
"certificate file name too long\n"); |