#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <error.h>
#include <common.h>
#include "certtool-common.h"
#include "certtool-args.h"
if (info->secret_key == NULL)
{
if (mand)
- error (EXIT_FAILURE, 0, "missing --secret-key");
+ {
+ fprintf (stderr, "missing --secret-key");
+ exit(1);
+ }
else
return NULL;
}
ret = gnutls_hex_decode (&hex_key, raw_key, &raw_key_size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "hex_decode: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "hex_decode: %s", gnutls_strerror (ret));
+ exit(1);
+ }
key.data = (void*)raw_key;
key.size = raw_key_size;
ret = gnutls_privkey_init (&key);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_init: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "privkey_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_privkey_import_x509_raw (key, dat, info->incert_format, NULL, 0);
if (ret == GNUTLS_E_DECRYPTION_FAILED)
if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR)
{
- error (EXIT_FAILURE, 0,
+ fprintf (stderr,
"import error: could not find a valid PEM header; "
"check if your key is PKCS #12 encoded");
+ exit(1);
}
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing --load-privkey: %s: %s",
+ {
+ fprintf (stderr, "importing --load-privkey: %s: %s",
info->privkey, gnutls_strerror (ret));
+ exit(1);
+ }
return key;
}
ret = gnutls_privkey_init (&key);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_init: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "privkey_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_privkey_import_url(key, url, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing key: %s: %s",
+ {
+ fprintf (stderr, "importing key: %s: %s",
url, gnutls_strerror (ret));
+ exit(1);
+ }
return key;
}
return NULL;
if (info->privkey == NULL)
- error (EXIT_FAILURE, 0, "missing --load-privkey");
+ {
+ fprintf (stderr, "missing --load-privkey");
+ exit(1);
+ }
if (gnutls_url_is_supported(info->privkey) != 0)
return _load_url_privkey(info->privkey);
dat.size = size;
if (!dat.data)
- error (EXIT_FAILURE, errno, "reading --load-privkey: %s", info->privkey);
+ {
+ fprintf (stderr, "reading --load-privkey: %s", info->privkey);
+ exit(1);
+ }
key = _load_privkey(&dat, info);
return NULL;
if (info->privkey == NULL)
- error (EXIT_FAILURE, 0, "missing --load-privkey");
+ {
+ fprintf (stderr, "missing --load-privkey");
+ exit(1);
+ }
ret = gnutls_x509_privkey_init (&key);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_init: %s", gnutls_strerror (ret));
+ {
+ fprintf( stderr, "privkey_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
dat.data = (void*)read_binary_file (info->privkey, &size);
dat.size = size;
if (!dat.data)
- error (EXIT_FAILURE, errno, "reading --load-privkey: %s", info->privkey);
+ {
+ fprintf (stderr, "reading --load-privkey: %s", info->privkey);
+ exit(1);
+ }
if (info->pkcs8)
{
if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR)
{
- error (EXIT_FAILURE, 0,
+ fprintf (stderr,
"import error: could not find a valid PEM header; "
- "check if your key is PKCS #12 encoded");
+ "check if your key is PEM encoded");
+ exit(1);
}
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing --load-privkey: %s: %s",
+ {
+ fprintf( stderr, "importing --load-privkey: %s: %s",
info->privkey, gnutls_strerror (ret));
+ exit(1);
+ }
return key;
}
if (info->cert == NULL)
{
if (mand)
- error (EXIT_FAILURE, 0, "missing --load-certificate");
+ {
+ fprintf (stderr, "missing --load-certificate");
+ exit(1);
+ }
else
return NULL;
}
fd = fopen (info->cert, "r");
if (fd == NULL)
- error (EXIT_FAILURE, errno, "%s", info->cert);
+ {
+ fprintf (stderr, "%s", info->cert);
+ exit(1);
+ }
size = fread (buffer, 1, sizeof (buffer) - 1, fd);
buffer[size] = 0;
{
ret = gnutls_x509_crt_init (&crt[i]);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crt_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crt_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
dat.data = (void*)ptr;
dat.size = ptr_size;
if (ret < 0 && *crt_size > 0)
break;
if (ret < 0)
- error (EXIT_FAILURE, 0, "crt_import: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crt_import: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ptr = strstr (ptr, "---END");
if (ptr == NULL)
ret = gnutls_x509_crq_init (&crq);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crq_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crq_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
dat.data = (void*)read_binary_file (info->request, &size);
dat.size = size;
if (!dat.data)
- error (EXIT_FAILURE, errno, "reading --load-request: %s", info->request);
+ {
+ fprintf (stderr, "reading --load-request: %s", info->request);
+ exit(1);
+ }
ret = gnutls_x509_crq_import (crq, &dat, info->incert_format);
if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR)
{
- error (EXIT_FAILURE, 0,
+ fprintf(stderr,
"import error: could not find a valid PEM header");
+ exit(1);
}
free (dat.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing --load-request: %s: %s",
- info->request, gnutls_strerror (ret));
-
+ {
+ fprintf(stderr, "importing --load-request: %s: %s",
+ info->request, gnutls_strerror (ret));
+ exit(1);
+ }
return crq;
}
size_t size;
if (info->ca_privkey == NULL)
- error (EXIT_FAILURE, 0, "missing --load-ca-privkey");
+ {
+ fprintf(stderr, "missing --load-ca-privkey");
+ exit(1);
+ }
if (gnutls_url_is_supported(info->ca_privkey) != 0)
return _load_url_privkey(info->ca_privkey);
dat.size = size;
if (!dat.data)
- error (EXIT_FAILURE, errno, "reading --load-ca-privkey: %s",
+ {
+ fprintf (stderr, "reading --load-ca-privkey: %s",
info->ca_privkey);
+ exit(1);
+ }
key = _load_privkey(&dat, info);
size_t size;
if (info->ca == NULL)
- error (EXIT_FAILURE, 0, "missing --load-ca-certificate");
+ {
+ fprintf(stderr, "missing --load-ca-certificate");
+ exit(1);
+ }
ret = gnutls_x509_crt_init (&crt);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crt_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crt_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
dat.data = (void*)read_binary_file (info->ca, &size);
dat.size = size;
if (!dat.data)
- error (EXIT_FAILURE, errno, "reading --load-ca-certificate: %s",
+ {
+ fprintf( stderr, "reading --load-ca-certificate: %s",
info->ca);
+ exit(1);
+ }
ret = gnutls_x509_crt_import (crt, &dat, info->incert_format);
free (dat.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing --load-ca-certificate: %s: %s",
- info->ca, gnutls_strerror (ret));
+ {
+ fprintf(stderr, "importing --load-ca-certificate: %s: %s",
+ info->ca, gnutls_strerror (ret));
+ exit(1);
+ }
return crt;
}
return NULL;
if (info->pubkey == NULL)
- error (EXIT_FAILURE, 0, "missing --load-pubkey");
+ {
+ fprintf(stderr, "missing --load-pubkey");
+ exit(1);
+ }
if (gnutls_url_is_supported(info->pubkey) != 0)
return _load_url_pubkey(info->pubkey);
ret = gnutls_pubkey_init (&key);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "privkey_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
dat.data = (void*)read_binary_file (info->pubkey, &size);
dat.size = size;
if (!dat.data)
- error (EXIT_FAILURE, errno, "reading --load-pubkey: %s", info->pubkey);
+ {
+ fprintf( stderr, "reading --load-pubkey: %s", info->pubkey);
+ exit(1);
+ }
ret = gnutls_pubkey_import (key, &dat, info->incert_format);
if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR)
{
- error (EXIT_FAILURE, 0,
+ fprintf(stderr,
"import error: could not find a valid PEM header; "
"check if your key has the PUBLIC KEY header");
+ exit(1);
}
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing --load-pubkey: %s: %s",
+ {
+ fprintf(stderr, "importing --load-pubkey: %s: %s",
info->pubkey, gnutls_strerror (ret));
+ exit(1);
+ }
return key;
}
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_pubkey_init: %s",
+ {
+ fprintf(stderr, "gnutls_pubkey_init: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
if (!privkey || (ret = gnutls_pubkey_import_privkey(pubkey, privkey, 0, 0)) < 0)
{ /* could not get (e.g. on PKCS #11 */
ret = gnutls_pubkey_print(pubkey, format, &data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "pubkey_print error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "pubkey_print error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (outfile, "%s\n", data.data);
gnutls_free (data.data);
size = buffer_size;
ret = gnutls_pubkey_export (pubkey, GNUTLS_X509_FMT_PEM, buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "export error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (outfile, "\n%s\n", buffer);
}
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <error.h>
/* Gnulib portability files. */
#include <read-file.h>
ret = gnutls_x509_privkey_init (&key);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "privkey_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
bits = get_bits (key_type, cinfo->bits, cinfo->sec_param, 1);
ret = gnutls_x509_privkey_generate (key, key_type, bits, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_generate: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "privkey_generate: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_x509_privkey_verify_params (key);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_verify_params: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "privkey_verify_params: %s", gnutls_strerror (ret));
+ exit(1);
+ }
return key;
}
return GNUTLS_PKCS_USE_PKCS12_RC2_40;
}
- error (EXIT_FAILURE, 0, "unknown cipher %s\n", cipher);
- return -1;
+ fprintf(stderr, "unknown cipher %s\n", cipher);
+ exit(1);
}
ret = gnutls_x509_privkey_export (key, outcert_format,
buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_export: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "privkey_export: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
else
{
gnutls_x509_privkey_export_pkcs8 (key, outcert_format, pass,
flags, buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_export_pkcs8: %s",
+ {
+ fprintf(stderr, "privkey_export_pkcs8: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
}
fwrite (buffer, 1, size, outfile);
ret = gnutls_x509_crt_init (&crt);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crt_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crt_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
crq = load_request (cinfo);
{
result = gnutls_x509_crt_set_proxy_dn (crt, ca_crt, 0, NULL, 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_proxy_dn: %s",
+ {
+ fprintf(stderr, "set_proxy_dn: %s",
gnutls_strerror (result));
+ exit(1);
+ }
get_dn_crt_set (crt);
get_cn_crt_set (crt);
result = gnutls_x509_crt_set_pubkey (crt, pubkey);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_key: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_key: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
else
{
result = gnutls_x509_crt_set_crq (crt, crq);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_crq: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_crq: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
result = gnutls_x509_crt_set_serial (crt, bin_serial, 5);
if (result < 0)
- error (EXIT_FAILURE, 0, "serial: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "serial: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
if (!batch)
result =
gnutls_x509_crt_set_expiration_time (crt, secs);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_expiration: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_expiration: %s", gnutls_strerror (result));
+ exit(1);
+ }
if (!batch)
fprintf (stderr, "\n\nExtensions.\n");
{
result = gnutls_x509_crt_set_crq_extensions (crt, crq);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_crq: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_crq: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
/* append additional extensions */
gnutls_x509_crt_set_proxy (crt, proxypathlen, policylanguage,
policy, policylen);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_proxy: %s",
+ {
+ fprintf(stderr, "set_proxy: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
if (!proxy)
result =
gnutls_x509_crt_set_basic_constraints (crt, ca_status, path_len);
if (result < 0)
- error (EXIT_FAILURE, 0, "basic_constraints: %s",
+ {
+ fprintf(stderr, "basic_constraints: %s",
gnutls_strerror (result));
+ exit(1);
+ }
client = get_tls_client_status ();
if (client != 0)
GNUTLS_KP_TLS_WWW_CLIENT,
0);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "key_kp: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
is_ike = get_ipsec_ike_status ();
gnutls_x509_crt_set_key_purpose_oid (crt,
GNUTLS_KP_TLS_WWW_SERVER, 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "key_kp: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
else if (!proxy)
{
gnutls_x509_crt_set_key_purpose_oid (crt,
GNUTLS_KP_IPSEC_IKE, 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s",
+ {
+ fprintf(stderr, "key_kp: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
}
GNUTLS_KP_CODE_SIGNING,
0);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s",
+ {
+ fprintf(stderr, "key_kp: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
result = get_ocsp_sign_status ();
GNUTLS_KP_OCSP_SIGNING,
0);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s",
+ {
+ fprintf(stderr, "key_kp: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
result = get_time_stamp_status ();
GNUTLS_KP_TIME_STAMPING,
0);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s",
+ {
+ fprintf(stderr, "key_kp: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
}
get_ocsp_issuer_set(crt);
usage |= GNUTLS_KEY_NON_REPUDIATION;
result = gnutls_x509_crt_set_key_usage (crt, usage);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_usage: %s",
+ {
+ fprintf(stderr, "key_usage: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
/* Subject Key ID.
{
result = gnutls_x509_crt_set_subject_key_id (crt, buffer, size);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_subject_key_id: %s",
+ {
+ fprintf(stderr, "set_subject_key_id: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
/* Authority Key ID.
result =
gnutls_x509_crt_set_authority_key_id (crt, buffer, size);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_authority_key_id: %s",
+ {
+ fprintf(stderr, "set_authority_key_id: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
}
}
vers = 3;
result = gnutls_x509_crt_set_version (crt, vers);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_version: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_version: %s", gnutls_strerror (result));
+ exit(1);
+ }
*ret_key = key;
return crt;
result = gnutls_x509_crl_init (&crl);
if (result < 0)
- error (EXIT_FAILURE, 0, "crl_init: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crl_init: %s", gnutls_strerror (result));
+ exit(1);
+ }
crts = load_cert_list (0, &size, cinfo);
{
result = gnutls_x509_crl_set_crt (crl, crts[i], now);
if (result < 0)
- error (EXIT_FAILURE, 0, "crl_set_crt: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crl_set_crt: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
result = gnutls_x509_crl_set_this_update (crl, now);
if (result < 0)
- error (EXIT_FAILURE, 0, "this_update: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "this_update: %s", gnutls_strerror (result));
+ exit(1);
+ }
fprintf (stderr, "Update times.\n");
days = get_crl_next_update ();
result = gnutls_x509_crl_set_next_update (crl, now + days * 24 * 60 * 60);
if (result < 0)
- error (EXIT_FAILURE, 0, "next_update: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "next_update: %s", gnutls_strerror (result));
+ exit(1);
+ }
result = gnutls_x509_crl_set_version (crl, 2);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_version: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_version: %s", gnutls_strerror (result));
+ exit(1);
+ }
/* Authority Key ID.
*/
{
result = gnutls_x509_crl_set_authority_key_id (crl, buffer, size);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_authority_key_id: %s",
+ {
+ fprintf(stderr, "set_authority_key_id: %s",
gnutls_strerror (result));
+ exit(1);
+ }
+
}
}
result = gnutls_x509_crl_set_number (crl, bin_number, 5);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_number: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_number: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
return crl;
result = gnutls_pubkey_get_preferred_hash_algorithm (pubkey, &dig, &mand);
if (result < 0)
{
- error (EXIT_FAILURE, 0, "crt_get_preferred_hash_algorithm: %s",
+ {
+ fprintf(stderr, "crt_get_preferred_hash_algorithm: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
/* if algorithm allows alternatives */
result = gnutls_pubkey_import_x509(pubkey, crt, 0);
if (result < 0)
{
- error (EXIT_FAILURE, 0, "gnutls_pubkey_import_x509: %s",
+ {
+ fprintf(stderr, "gnutls_pubkey_import_x509: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
dig = get_dig_for_pub (pubkey);
uri,
0 /* all reasons */ );
if (result < 0)
- error (EXIT_FAILURE, 0, "crl_dist_points: %s",
+ {
+ fprintf(stderr, "crl_dist_points: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
print_certificate_info (crt, stderr, 0);
result = gnutls_x509_crt_privkey_sign (crt, crt, key, get_dig (crt), 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "crt_sign: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crt_sign: %s", gnutls_strerror (result));
+ exit(1);
+ }
size = buffer_size;
result = gnutls_x509_crt_export (crt, outcert_format, buffer, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "crt_export: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crt_export: %s", gnutls_strerror (result));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
result = gnutls_x509_crt_privkey_sign (crt, ca_crt, ca_key, get_dig (ca_crt), 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "crt_sign: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crt_sign: %s", gnutls_strerror (result));
+ exit(1);
+ }
size = buffer_size;
result = gnutls_x509_crt_export (crt, outcert_format, buffer, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "crt_export: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crt_export: %s", gnutls_strerror (result));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
result = gnutls_x509_crt_privkey_sign (crt, eecrt, eekey, get_dig (eecrt), 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "crt_sign: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crt_sign: %s", gnutls_strerror (result));
+ exit(1);
+ }
size = buffer_size;
result = gnutls_x509_crt_export (crt, outcert_format, buffer, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "crt_export: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crt_export: %s", gnutls_strerror (result));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
fprintf (stderr, "\n");
result = gnutls_x509_crl_privkey_sign(crl, ca_crt, ca_key, get_dig (ca_crt), 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "crl_privkey_sign: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crl_privkey_sign: %s", gnutls_strerror (result));
+ exit(1);
+ }
print_crl_info (crl, stderr);
result =
gnutls_x509_crt_set_expiration_time (crt, tim + ((time_t) days) * 24 * 60 * 60);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_expiration: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_expiration: %s", gnutls_strerror (result));
+ exit(1);
+ }
fprintf (stderr, "\n\nSigning certificate...\n");
result = gnutls_x509_crt_privkey_sign (crt, ca_crt, ca_key, get_dig (ca_crt), 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "crt_sign: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crt_sign: %s", gnutls_strerror (result));
+ exit(1);
+ }
size = buffer_size;
result = gnutls_x509_crt_export (crt, outcert_format, buffer, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "crt_export: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "crt_export: %s", gnutls_strerror (result));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
{
outfile = safe_open_rw (OPT_ARG(OUTFILE), privkey_op);
if (outfile == NULL)
- error (EXIT_FAILURE, errno, "%s", OPT_ARG(OUTFILE));
+ {
+ fprintf(stderr, "%s", OPT_ARG(OUTFILE));
+ exit(1);
+ }
}
else
outfile = stdout;
{
infile = fopen (OPT_ARG(INFILE), "rb");
if (infile == NULL)
- error (EXIT_FAILURE, errno, "%s", OPT_ARG(INFILE));
+ {
+ fprintf(stderr, "%s", OPT_ARG(INFILE));
+ exit(1);
+ }
}
else
infile = stdin;
else if (strcasecmp (OPT_ARG(HASH), "rmd160") == 0)
default_dig = GNUTLS_DIG_RMD160;
else
- error (EXIT_FAILURE, 0, "invalid hash: %s", OPT_ARG(HASH));
+ {
+ fprintf(stderr, "invalid hash: %s", OPT_ARG(HASH));
+ exit(1);
+ }
}
batch = 0;
}
if ((ret = gnutls_global_init ()) < 0)
- error (EXIT_FAILURE, 0, "global_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "global_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
#ifdef ENABLE_PKCS11
pkcs11_common();
GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER)
{
- error (0, 0, "too many certificates (%d); "
+ fprintf( stderr, "too many certificates (%d); "
"will only read the first %d", crt_num, MAX_CRTS);
crt_num = MAX_CRTS;
ret = gnutls_x509_crt_list_import (crt, &crt_num, &pem,
incert_format, 0);
}
if (ret < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
free (pem.data);
if (count > 1 && outcert_format == GNUTLS_X509_FMT_DER)
{
- error (0, 0, "cannot output multiple certificates in DER format; "
+ fprintf( stderr, "cannot output multiple certificates in DER format; "
"using PEM instead");
outcert_format = GNUTLS_X509_FMT_PEM;
}
ret = gnutls_x509_crt_export (crt[i], outcert_format, buffer,
&size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "export error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
}
ret = gnutls_openpgp_crt_init (&crt);
if (ret < 0)
- error (EXIT_FAILURE, 0, "openpgp_crt_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "openpgp_crt_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_openpgp_crt_import (crt, &pem, incert_format);
if (ret < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
free (pem.data);
ret = gnutls_openpgp_crt_verify_self (crt, 0, &verify_status);
if (ret < 0)
{
- error (EXIT_FAILURE, 0, "verify signature error: %s",
+ {
+ fprintf(stderr, "verify signature error: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
}
if (verify_status & GNUTLS_CERT_INVALID)
ret = gnutls_openpgp_crt_export (crt, outcert_format, buffer, &size);
if (ret < 0)
{
- error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret));
- fwrite (buffer, 1, size, outfile);
+ fprintf(stderr, "export error: %s", gnutls_strerror (ret));
+ exit(1);
}
fprintf (outfile, "%s\n", buffer);
NULL, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
/* Public key algorithm
*/
subkeys = gnutls_openpgp_privkey_get_subkey_count (key);
if (subkeys < 0)
- error (EXIT_FAILURE, 0, "privkey_get_subkey_count: %s",
+ {
+ fprintf(stderr, "privkey_get_subkey_count: %s",
gnutls_strerror (subkeys));
+ exit(1);
+ }
for (i = -1; i < subkeys; i++)
{
ret = gnutls_openpgp_privkey_export (key, GNUTLS_OPENPGP_FMT_BASE64,
NULL, 0, buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "export error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (outfile, "\n%s\n", buffer);
ret = gnutls_openpgp_keyring_init (&ring);
if (ret < 0)
- error (EXIT_FAILURE, 0, "openpgp_keyring_init: %s",
+ {
+ fprintf(stderr, "openpgp_keyring_init: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_openpgp_keyring_import (ring, &pem, incert_format);
if (ret < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
free (pem.data);
if (count >= 0)
fprintf (outfile, "Keyring contains %d OpenPGP certificates\n\n", count);
else
- error (EXIT_FAILURE, 0, "keyring error: %s", gnutls_strerror (count));
+ {
+ fprintf(stderr, "keyring error: %s", gnutls_strerror (count));
+ exit(1);
+ }
for (i = 0; i < count; i++)
{
ret = gnutls_openpgp_keyring_get_crt (ring, i, &crt);
if (ret < 0)
- error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "export error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
size = buffer_size;
ret = gnutls_openpgp_crt_export (crt, outcert_format,
buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "export error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
fprintf (outfile, "\n\n");
ret = gnutls_x509_crl_print (crl, full_format, &data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crl_print: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crl_print: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (out, "%s\n", data.data);
size = buffer_size;
ret = gnutls_x509_crl_export (crl, GNUTLS_X509_FMT_PEM, buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crl_export: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crl_export: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
}
ret = gnutls_x509_crl_init (&crl);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crl_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crl_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
pem.data = (void*)fread_file (infile, &size);
pem.size = size;
if (!pem.data)
- error (EXIT_FAILURE, errno, "%s", infile ? "file" :
+ {
+ fprintf(stderr, "%s", infile ? "file" :
"standard input");
+ exit(1);
+ }
ret = gnutls_x509_crl_import (crl, &pem, incert_format);
free (pem.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
print_crl_info (crl, outfile);
{
ret = gnutls_x509_crq_print (crq, full_format, &data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crq_print: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crq_print: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (out, "%s\n", data.data);
size = buffer_size;
ret = gnutls_x509_crq_export (crq, outcert_format, buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crq_export: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crq_export: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
}
ret = gnutls_x509_crq_init (&crq);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crq_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crq_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
pem.data = (void*)fread_file (infile, &size);
pem.size = size;
if (!pem.data)
- error (EXIT_FAILURE, errno, "%s", infile ? "file" :
+ {
+ fprintf(stderr, "%s", infile ? "file" :
"standard input");
+ exit(1);
+ }
ret = gnutls_x509_crq_import (crq, &pem, incert_format);
free (pem.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
print_crq_info (crq, outfile);
incert_format, pass, flags);
}
if (ret < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
if (outcert_format == GNUTLS_X509_FMT_PEM)
privkey_info_int (cinfo, key);
size = buffer_size;
ret = gnutls_x509_privkey_export (key, outcert_format, buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "export error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
ret = gnutls_x509_crq_init (&crq);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crq_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crq_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
/* Load the private key.
{
ret = gnutls_privkey_init (&pkey);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "privkey_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
xkey = generate_private_key_int (cinfo);
ret = gnutls_privkey_import_x509(pkey, xkey, GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0)
- error (EXIT_FAILURE, 0, "privkey_import_x509: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "privkey_import_x509: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
pubkey = load_public_key_or_import (1, pkey, cinfo);
{
ret = gnutls_x509_crq_set_challenge_password (crq, pass);
if (ret < 0)
- error (EXIT_FAILURE, 0, "set_pass: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "set_pass: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
if (cinfo->crq_extensions != 0)
ret = gnutls_x509_crq_set_basic_constraints (crq, ca_status, path_len);
if (ret < 0)
- error (EXIT_FAILURE, 0, "set_basic_constraints: %s",
+ {
+ fprintf(stderr, "set_basic_constraints: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
if (pk == GNUTLS_PK_RSA)
{
ret = gnutls_x509_crq_set_key_purpose_oid
(crq, GNUTLS_KP_CODE_SIGNING, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "key_kp: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
ret = get_ocsp_sign_status ();
ret = gnutls_x509_crq_set_key_purpose_oid
(crq, GNUTLS_KP_OCSP_SIGNING, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "key_kp: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
ret = get_time_stamp_status ();
ret = gnutls_x509_crq_set_key_purpose_oid
(crq, GNUTLS_KP_TIME_STAMPING, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "key_kp: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
ret = get_ipsec_ike_status ();
ret = gnutls_x509_crq_set_key_purpose_oid
(crq, GNUTLS_KP_IPSEC_IKE, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "key_kp: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
}
ret = gnutls_x509_crq_set_key_usage (crq, usage);
if (ret < 0)
- error (EXIT_FAILURE, 0, "key_usage: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "key_usage: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = get_tls_client_status ();
if (ret != 0)
ret = gnutls_x509_crq_set_key_purpose_oid
(crq, GNUTLS_KP_TLS_WWW_CLIENT, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "key_kp: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
ret = get_tls_server_status ();
ret = gnutls_x509_crq_set_key_purpose_oid
(crq, GNUTLS_KP_TLS_WWW_SERVER, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "key_kp: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "key_kp: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
get_key_purpose_set (TYPE_CRQ, crq);
ret = gnutls_x509_crq_set_pubkey (crq, pubkey);
if (ret < 0)
- error (EXIT_FAILURE, 0, "set_key: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "set_key: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_x509_crq_privkey_sign (crq, pkey, get_dig_for_pub (pubkey), 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "sign: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "sign: %s", gnutls_strerror (ret));
+ exit(1);
+ }
print_crq_info (crq, outfile);
ret =
gnutls_x509_crt_get_issuer_dn (cert, issuer_name, &issuer_name_size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_crt_get_issuer_dn: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "gnutls_x509_crt_get_issuer_dn: %s", gnutls_strerror (ret));
+ exit(1);
+ }
name_size = sizeof (name);
ret =
gnutls_x509_crt_get_dn (cert, name, &name_size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_crt_get_dn: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "gnutls_x509_crt_get_dn: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (outfile, "\tSubject: %s\n", name);
fprintf (outfile, "\tIssuer: %s\n", issuer_name);
ret =
gnutls_x509_crt_get_dn (issuer, issuer_name, &issuer_name_size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_crt_get_issuer_dn: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "gnutls_x509_crt_get_issuer_dn: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (outfile, "\tChecked against: %s\n", issuer_name);
}
ret =
gnutls_x509_crl_get_issuer_dn (crl, issuer_name, &issuer_name_size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_crl_get_issuer_dn: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "gnutls_x509_crl_get_issuer_dn: %s", gnutls_strerror (ret));
+ exit(1);
+ }
name_size = sizeof(tmp);
ret = gnutls_x509_crl_get_number(crl, tmp, &name_size, NULL);
name_size = sizeof(name);
ret = gnutls_hex_encode(&data, name, &name_size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_hex_encode: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "gnutls_hex_encode: %s", gnutls_strerror (ret));
+ exit(1);
+ }
}
fprintf (outfile, "\tChecked against CRL[%s] of: %s\n", name, issuer_name);
}
ret = gnutls_x509_trust_list_init(&list, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_trust_list_init: %s",
+ {
+ fprintf(stderr, "gnutls_x509_trust_list_init: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
if (ca == NULL)
{
ret = gnutls_x509_crt_list_import2( &x509_ca_list, &x509_ncas, &tmp,
GNUTLS_X509_FMT_PEM, 0);
if (ret < 0 || x509_ncas < 1)
- error (EXIT_FAILURE, 0, "error parsing CAs: %s",
+ {
+ fprintf(stderr, "error parsing CAs: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
}
ret = gnutls_x509_crl_list_import2( &x509_crl_list, &x509_ncrls, &tmp,
ret = gnutls_x509_crt_list_import2( &x509_cert_list, &x509_ncerts, &tmp,
GNUTLS_X509_FMT_PEM, 0);
if (ret < 0 || x509_ncerts < 1)
- error (EXIT_FAILURE, 0, "error parsing CRTs: %s",
+ {
+ fprintf(stderr, "error parsing CRTs: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
if (ca == NULL)
{
ret = gnutls_x509_trust_list_add_cas(list, x509_ca_list, x509_ncas, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_trust_add_cas: %s",
+ {
+ fprintf(stderr, "gnutls_x509_trust_add_cas: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_x509_trust_list_add_crls(list, x509_crl_list, x509_ncrls, 0, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_trust_add_crls: %s",
+ {
+ fprintf(stderr, "gnutls_x509_trust_add_crls: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
gnutls_free(x509_crl_list);
GNUTLS_VERIFY_DO_NOT_ALLOW_SAME|GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT, &output,
detailed_verification);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_trusted_list_verify_crt: %s",
+ {
+ fprintf(stderr, "gnutls_x509_trusted_list_verify_crt: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (outfile, "Chain verification output: ");
print_verification_res(outfile, output);
buf = (void*)fread_file (infile, &size);
if (buf == NULL)
- error (EXIT_FAILURE, errno, "reading chain");
+ {
+ fprintf(stderr, "reading chain");
+ exit(1);
+ }
buf[size] = 0;
FILE * ca_file = fopen(cinfo->ca, "r");
if (ca_file == NULL)
- error (EXIT_FAILURE, errno, "opening CA file");
+ {
+ fprintf(stderr, "opening CA file");
+ exit(1);
+ }
cert = (void*)fread_file (infile, &cert_size);
if (cert == NULL)
- error (EXIT_FAILURE, errno, "reading certificate chain");
+ {
+ fprintf(stderr, "reading certificate chain");
+ exit(1);
+ }
cert[cert_size] = 0;
cas = (void*)fread_file (ca_file, &ca_size);
if (cas == NULL)
- error (EXIT_FAILURE, errno, "reading CA list");
+ {
+ fprintf(stderr, "reading CA list");
+ exit(1);
+ }
cas[ca_size] = 0;
fclose(ca_file);
dn_size = sizeof (dn);
ret = gnutls_x509_crt_get_dn (issuer, dn, &dn_size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crt_get_dn: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crt_get_dn: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fprintf (outfile, "\tSubject: %s\n\n", dn);
ret = gnutls_x509_crl_init (&crl);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crl_init: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "crl_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
pem.data = (void*)fread_file (infile, &size);
pem.size = size;
ret = gnutls_x509_crl_import (crl, &pem, incert_format);
free (pem.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
print_crl_info (crl, outfile);
fprintf (outfile, "Verification output: ");
ret = gnutls_x509_crl_verify (crl, &issuer, 1, 0, &output);
if (ret < 0)
- error (EXIT_FAILURE, 0, "verification error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "verification error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
if (output)
{
password, flags, buffer, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_export: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "key_export: %s", gnutls_strerror (result));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
result = gnutls_pkcs12_init (&pkcs12);
if (result < 0)
- error (EXIT_FAILURE, 0, "pkcs12_init: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "pkcs12_init: %s", gnutls_strerror (result));
+ exit(1);
+ }
pass = get_password(cinfo, &flags, 1);
flags |= cipher_to_flags (cinfo->pkcs_cipher);
result = gnutls_pkcs12_bag_init (&bag);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_init: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "bag_init: %s", gnutls_strerror (result));
+ exit(1);
+ }
result = gnutls_pkcs12_bag_set_crt (bag, crts[i]);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_crt[%d]: %s", i,
+ {
+ fprintf(stderr, "set_crt[%d]: %s", i,
gnutls_strerror (result));
+ exit(1);
+ }
indx = result;
{
result = gnutls_pkcs12_bag_set_friendly_name (bag, indx, name);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_set_friendly_name: %s",
+ {
+ fprintf(stderr, "bag_set_friendly_name: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
size = sizeof (_key_id);
result = gnutls_x509_crt_get_key_id (crts[i], 0, _key_id, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_id[%d]: %s", i,
+ {
+ fprintf(stderr, "key_id[%d]: %s", i,
gnutls_strerror (result));
+ exit(1);
+ }
key_id.data = _key_id;
key_id.size = size;
result = gnutls_pkcs12_bag_set_key_id (bag, indx, &key_id);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_set_key_id: %s",
+ {
+ fprintf(stderr, "bag_set_key_id: %s",
gnutls_strerror (result));
+ exit(1);
+ }
result = gnutls_pkcs12_bag_encrypt (bag, pass, flags);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_encrypt: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "bag_encrypt: %s", gnutls_strerror (result));
+ exit(1);
+ }
result = gnutls_pkcs12_set_bag (pkcs12, bag);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_bag: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_bag: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
for (i = 0; i < nkeys; i++)
result = gnutls_pkcs12_bag_init (&kbag);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_init: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "bag_init: %s", gnutls_strerror (result));
+ exit(1);
+ }
size = buffer_size;
result =
gnutls_x509_privkey_export_pkcs8 (keys[i], GNUTLS_X509_FMT_DER,
pass, flags, buffer, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_export[%d]: %s", i, gnutls_strerror (result));
+ {
+ fprintf(stderr, "key_export[%d]: %s", i, gnutls_strerror (result));
+ exit(1);
+ }
data.data = buffer;
data.size = size;
gnutls_pkcs12_bag_set_data (kbag,
GNUTLS_BAG_PKCS8_ENCRYPTED_KEY, &data);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_set_data: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "bag_set_data: %s", gnutls_strerror (result));
+ exit(1);
+ }
indx = result;
result = gnutls_pkcs12_bag_set_friendly_name (kbag, indx, name);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_set_friendly_name: %s",
+ {
+ fprintf(stderr, "bag_set_friendly_name: %s",
gnutls_strerror (result));
+ exit(1);
+ }
size = sizeof (_key_id);
result = gnutls_x509_privkey_get_key_id (keys[i], 0, _key_id, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "key_id[%d]: %s", i, gnutls_strerror (result));
+ {
+ fprintf(stderr, "key_id[%d]: %s", i, gnutls_strerror (result));
+ exit(1);
+ }
key_id.data = _key_id;
key_id.size = size;
result = gnutls_pkcs12_bag_set_key_id (kbag, indx, &key_id);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_set_key_id: %s",
+ {
+ fprintf(stderr, "bag_set_key_id: %s",
gnutls_strerror (result));
+ exit(1);
+ }
result = gnutls_pkcs12_set_bag (pkcs12, kbag);
if (result < 0)
- error (EXIT_FAILURE, 0, "set_bag: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "set_bag: %s", gnutls_strerror (result));
+ exit(1);
+ }
}
result = gnutls_pkcs12_generate_mac (pkcs12, pass);
if (result < 0)
- error (EXIT_FAILURE, 0, "generate_mac: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "generate_mac: %s", gnutls_strerror (result));
+ exit(1);
+ }
size = buffer_size;
result = gnutls_pkcs12_export (pkcs12, outcert_format, buffer, &size);
if (result < 0)
- error (EXIT_FAILURE, 0, "pkcs12_export: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "pkcs12_export: %s", gnutls_strerror (result));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
count = gnutls_pkcs12_bag_get_count (bag);
if (count < 0)
- error (EXIT_FAILURE, 0, "get_count: %s", gnutls_strerror (count));
+ {
+ fprintf(stderr, "get_count: %s", gnutls_strerror (count));
+ exit(1);
+ }
fprintf (outfile, "\tElements: %d\n", count);
{
type = gnutls_pkcs12_bag_get_type (bag, i);
if (type < 0)
- error (EXIT_FAILURE, 0, "get_type: %s", gnutls_strerror (type));
+ {
+ fprintf(stderr, "get_type: %s", gnutls_strerror (type));
+ exit(1);
+ }
fprintf (stderr, "\tType: %s\n", BAGTYPE (type));
name = NULL;
result = gnutls_pkcs12_bag_get_friendly_name (bag, i, (char **) &name);
if (result < 0)
- error (EXIT_FAILURE, 0, "get_friendly_name: %s",
+ {
+ fprintf(stderr, "get_friendly_name: %s",
gnutls_strerror (type));
+ exit(1);
+ }
+
if (name)
fprintf (outfile, "\tFriendly name: %s\n", name);
id.size = 0;
result = gnutls_pkcs12_bag_get_key_id (bag, i, &id);
if (result < 0)
- error (EXIT_FAILURE, 0, "get_key_id: %s", gnutls_strerror (type));
+ {
+ fprintf(stderr, "get_key_id: %s", gnutls_strerror (type));
+ exit(1);
+ }
+
if (id.size > 0)
fprintf (outfile, "\tKey ID: %s\n", raw_to_string (id.data, id.size));
result = gnutls_pkcs12_bag_get_data (bag, i, &cdata);
if (result < 0)
- error (EXIT_FAILURE, 0, "get_data: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "get_data: %s", gnutls_strerror (result));
+ exit(1);
+ }
switch (type)
{
result = gnutls_pkcs12_init (&pkcs12);
if (result < 0)
- error (EXIT_FAILURE, 0, "p12_init: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "p12_init: %s", gnutls_strerror (result));
+ exit(1);
+ }
data.data = (void*)fread_file (infile, &size);
data.size = size;
result = gnutls_pkcs12_import (pkcs12, &data, incert_format, 0);
free (data.data);
if (result < 0)
- error (EXIT_FAILURE, 0, "p12_import: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "p12_import: %s", gnutls_strerror (result));
+ exit(1);
+ }
pass = get_password(cinfo, NULL, 0);
if (result < 0)
{
fail = 1;
- error (0, 0, "verify_mac: %s", gnutls_strerror (result));
+ fprintf (stderr, "verify_mac: %s", gnutls_strerror (result));
}
for (indx = 0;; indx++)
{
result = gnutls_pkcs12_bag_init (&bag);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_init: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "bag_init: %s", gnutls_strerror (result));
+ exit(1);
+ }
result = gnutls_pkcs12_get_bag (pkcs12, indx, bag);
if (result < 0)
result = gnutls_pkcs12_bag_get_count (bag);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_count: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "bag_count: %s", gnutls_strerror (result));
+ exit(1);
+ }
fprintf (outfile, "BAG #%d\n", indx);
result = gnutls_pkcs12_bag_get_type (bag, 0);
if (result < 0)
- error (EXIT_FAILURE, 0, "bag_init: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "bag_init: %s", gnutls_strerror (result));
+ exit(1);
+ }
if (result == GNUTLS_BAG_ENCRYPTED)
{
if (result < 0)
{
fail = 1;
- error (0, 0, "bag_decrypt: %s", gnutls_strerror (result));
+ fprintf(stderr, "bag_decrypt: %s", gnutls_strerror (result));
continue;
}
result = gnutls_pkcs12_bag_get_count (bag);
if (result < 0)
- error (EXIT_FAILURE, 0, "encrypted bag_count: %s",
+ {
+ fprintf(stderr, "encrypted bag_count: %s",
gnutls_strerror (result));
+ exit(1);
+ }
}
print_bag_data (bag);
}
if (fail)
- error (EXIT_FAILURE, 0, "There were errors parsing the structure\n");
+ {
+ fprintf(stderr, "There were errors parsing the structure\n");
+ exit(1);
+ }
}
void
result = gnutls_pkcs7_init (&pkcs7);
if (result < 0)
- error (EXIT_FAILURE, 0, "p7_init: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "p7_init: %s", gnutls_strerror (result));
+ exit(1);
+ }
data.data = (void*)fread_file (infile, &size);
data.size = size;
result = gnutls_pkcs7_import (pkcs7, &data, incert_format);
free (data.data);
if (result < 0)
- error (EXIT_FAILURE, 0, "import error: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "import error: %s", gnutls_strerror (result));
+ exit(1);
+ }
/* Read and print the certificates.
*/
result = gnutls_pkcs7_get_crt_count (pkcs7);
if (result < 0)
- error (EXIT_FAILURE, 0, "p7_crt_count: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "p7_crt_count: %s", gnutls_strerror (result));
+ exit(1);
+ }
count = result;
result = gnutls_pem_base64_encode_alloc ("CERTIFICATE", &data, &b64);
if (result < 0)
- error (EXIT_FAILURE, 0, "encoding: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "encoding: %s", gnutls_strerror (result));
+ exit(1);
+ }
fputs ((void*)b64.data, outfile);
gnutls_free (b64.data);
*/
result = gnutls_pkcs7_get_crl_count (pkcs7);
if (result < 0)
- error (EXIT_FAILURE, 0, "p7_crl_count: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "p7_crl_count: %s", gnutls_strerror (result));
+ exit(1);
+ }
count = result;
result = gnutls_pem_base64_encode_alloc ("X509 CRL", &data, &b64);
if (result < 0)
- error (EXIT_FAILURE, 0, "encoding: %s", gnutls_strerror (result));
+ {
+ fprintf(stderr, "encoding: %s", gnutls_strerror (result));
+ exit(1);
+ }
fputs ((void*)b64.data, outfile);
gnutls_free (b64.data);
{
len = getline (&lineptr, &linesize, infile);
if (len == -1)
- error (EXIT_FAILURE, 0, "cannot find RFC 2822 header/body separator");
+ {
+ fprintf(stderr, "cannot find RFC 2822 header/body separator");
+ exit(1);
+ }
}
while (strcmp (lineptr, "\r\n") != 0 && strcmp (lineptr, "\n") != 0);
{
len = getline (&lineptr, &linesize, infile);
if (len == -1)
- error (EXIT_FAILURE, 0, "message has RFC 2822 header but no body");
+ {
+ fprintf(stderr, "message has RFC 2822 header but no body");
+ exit(1);
+ }
}
while (strcmp (lineptr, "\r\n") == 0 && strcmp (lineptr, "\n") == 0);
ret = gnutls_pubkey_init (&pubkey);
if (ret < 0)
{
- error (EXIT_FAILURE, 0, "pubkey_init: %s", gnutls_strerror (ret));
+ fprintf(stderr, "pubkey_init: %s", gnutls_strerror (ret));
+ exit(1);
}
if (crt == NULL)
{
ret = gnutls_pubkey_import_x509 (pubkey, crt, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "pubkey_import_x509: %s",
+ {
+ fprintf(stderr, "pubkey_import_x509: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
}
else if (crq != NULL)
{
ret = gnutls_pubkey_import_x509_crq (pubkey, crq, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "pubkey_import_x509_crq: %s",
+ {
+ fprintf(stderr, "pubkey_import_x509_crq: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
}
else
{
{
ret = gnutls_pubkey_import_privkey(pubkey, privkey, 0, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "pubkey_import_privkey: %s",
+ {
+ fprintf(stderr, "pubkey_import_privkey: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
}
else
{
size = buffer_size;
ret = gnutls_pubkey_export (pubkey, outcert_format, buffer, &size);
if (ret < 0)
- error (EXIT_FAILURE, 0, "export error: %s", gnutls_strerror (ret));
+ {
+ fprintf(stderr, "export error: %s", gnutls_strerror (ret));
+ exit(1);
+ }
fwrite (buffer, 1, size, outfile);
#include <gnutls/crypto.h>
/* Gnulib portability files. */
-#include <error.h>
#include <read-file.h>
#include <socket.h>
ret = gnutls_ocsp_req_init (&req);
if (ret < 0)
- error (EXIT_FAILURE, 0, "ocsp_req_init: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "ocsp_req_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
if (HAVE_OPT(LOAD_REQUEST))
dat.data = (void*)read_binary_file (OPT_ARG(LOAD_REQUEST), &size);
else
dat.data = (void*)fread_file (infile, &size);
if (dat.data == NULL)
- error (EXIT_FAILURE, errno, "reading request");
+ {
+ fprintf (stderr, "reading request");
+ exit(1);
+ }
dat.size = size;
ret = gnutls_ocsp_req_import (req, &dat);
free (dat.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing request: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "importing request: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_ocsp_req_print (req, GNUTLS_OCSP_PRINT_FULL, &dat);
if (ret != 0)
- error (EXIT_FAILURE, 0, "ocsp_req_print: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "ocsp_req_print: %s", gnutls_strerror (ret));
+ exit(1);
+ }
printf ("%.*s", dat.size, dat.data);
gnutls_free (dat.data);
ret = gnutls_ocsp_resp_init (&resp);
if (ret < 0)
- error (EXIT_FAILURE, 0, "ocsp_resp_init: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "ocsp_resp_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_ocsp_resp_import (resp, data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing response: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "importing response: %s", gnutls_strerror (ret));
+ exit(1);
+ }
if (ENABLED_OPT(VERBOSE))
ret = gnutls_ocsp_resp_print (resp, GNUTLS_OCSP_PRINT_FULL, &buf);
else
ret = gnutls_ocsp_resp_print (resp, GNUTLS_OCSP_PRINT_COMPACT, &buf);
if (ret != 0)
- error (EXIT_FAILURE, 0, "ocsp_resp_print: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "ocsp_resp_print: %s", gnutls_strerror (ret));
+ exit(1);
+ }
printf ("%.*s", buf.size, buf.data);
gnutls_free (buf.data);
else
dat.data = (void*)fread_file (infile, &size);
if (dat.data == NULL)
- error (EXIT_FAILURE, errno, "reading response");
+ {
+ fprintf (stderr, "reading response");
+ exit(1);
+ }
dat.size = size;
_response_info(&dat);
size_t size;
if (!HAVE_OPT(LOAD_ISSUER))
- error (EXIT_FAILURE, 0, "missing --load-issuer");
+ {
+ fprintf( stderr, "missing --load-issuer");
+ exit(1);
+ }
ret = gnutls_x509_crt_init (&crt);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crt_init: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "crt_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
dat.data = (void*)read_binary_file (OPT_ARG(LOAD_ISSUER), &size);
dat.size = size;
if (!dat.data)
- error (EXIT_FAILURE, errno, "reading --load-issuer: %s", OPT_ARG(LOAD_ISSUER));
+ {
+ fprintf (stderr, "reading --load-issuer: %s", OPT_ARG(LOAD_ISSUER));
+ exit(1);
+ }
ret = gnutls_x509_crt_import (crt, &dat, encoding);
free (dat.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing --load-issuer: %s: %s",
+ {
+ fprintf (stderr, "importing --load-issuer: %s: %s",
OPT_ARG(LOAD_ISSUER), gnutls_strerror (ret));
+ exit(1);
+ }
return crt;
}
size_t size;
if (!HAVE_OPT(LOAD_CERT))
- error (EXIT_FAILURE, 0, "missing --load-cert");
+ {
+ fprintf (stderr, "missing --load-cert");
+ exit(1);
+ }
ret = gnutls_x509_crt_init (&crt);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crt_init: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "crt_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
dat.data = (void*)read_binary_file (OPT_ARG(LOAD_CERT), &size);
dat.size = size;
if (!dat.data)
- error (EXIT_FAILURE, errno, "reading --load-cert: %s", OPT_ARG(LOAD_CERT));
+ {
+ fprintf (stderr, "reading --load-cert: %s", OPT_ARG(LOAD_CERT));
+ exit(1);
+ }
ret = gnutls_x509_crt_import (crt, &dat, encoding);
free (dat.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing --load-cert: %s: %s",
+ {
+ fprintf (stderr, "importing --load-cert: %s: %s",
OPT_ARG(LOAD_CERT), gnutls_strerror (ret));
+ exit(1);
+ }
return crt;
}
ret = gnutls_ocsp_resp_init (&resp);
if (ret < 0)
- error (EXIT_FAILURE, 0, "ocsp_resp_init: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "ocsp_resp_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_ocsp_resp_import (resp, data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing response: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "importing response: %s", gnutls_strerror (ret));
+ exit(1);
+ }
if (HAVE_OPT(LOAD_TRUST))
{
dat.data = (void*)read_binary_file (OPT_ARG(LOAD_TRUST), &size);
if (dat.data == NULL)
- error (EXIT_FAILURE, errno, "reading --load-trust: %s", OPT_ARG(LOAD_TRUST));
+ {
+ fprintf (stderr, "reading --load-trust: %s", OPT_ARG(LOAD_TRUST));
+ exit(1);
+ }
dat.size = size;
ret = gnutls_x509_trust_list_init (&list, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_trust_list_init: %s",
+ {
+ fprintf (stderr, "gnutls_x509_trust_list_init: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
ret = gnutls_x509_crt_list_import2 (&x509_ca_list, &x509_ncas, &dat,
GNUTLS_X509_FMT_PEM, 0);
if (ret < 0 || x509_ncas < 1)
- error (EXIT_FAILURE, 0, "error parsing CAs: %s",
+ {
+ fprintf (stderr, "error parsing CAs: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
if (HAVE_OPT(VERBOSE))
{
ret = gnutls_x509_crt_print (x509_ca_list[i],
GNUTLS_CRT_PRINT_ONELINE, &out);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_crt_print: %s",
+ {
+ fprintf (stderr, "gnutls_x509_crt_print: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
printf ("%d: %.*s\n", i, out.size, out.data);
gnutls_free (out.data);
ret = gnutls_x509_trust_list_add_cas (list, x509_ca_list, x509_ncas, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_trust_add_cas: %s",
+ {
+ fprintf (stderr, "gnutls_x509_trust_add_cas: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
if (HAVE_OPT(VERBOSE))
fprintf (stdout, "Loaded %d trust anchors\n", x509_ncas);
ret = gnutls_ocsp_resp_verify (resp, list, &verify, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_ocsp_resp_verify: %s",
+ {
+ fprintf (stderr, "gnutls_ocsp_resp_verify: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
}
else if (HAVE_OPT(LOAD_SIGNER))
{
ret = gnutls_x509_crt_init (&signer);
if (ret < 0)
- error (EXIT_FAILURE, 0, "crt_init: %s", gnutls_strerror (ret));
+ {
+ fprintf (stderr, "crt_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
dat.data = (void*)read_binary_file (OPT_ARG(LOAD_SIGNER), &size);
if (dat.data == NULL)
- error (EXIT_FAILURE, errno, "reading --load-signer: %s", OPT_ARG(LOAD_SIGNER));
+ {
+ fprintf (stderr, "reading --load-signer: %s", OPT_ARG(LOAD_SIGNER));
+ exit(1);
+ }
dat.size = size;
ret = gnutls_x509_crt_import (signer, &dat, encoding);
free (dat.data);
if (ret < 0)
- error (EXIT_FAILURE, 0, "importing --load-signer: %s: %s",
+ {
+ fprintf (stderr, "importing --load-signer: %s: %s",
OPT_ARG(LOAD_SIGNER), gnutls_strerror (ret));
+ exit(1);
+ }
if (HAVE_OPT(VERBOSE))
{
ret = gnutls_x509_crt_print (signer, GNUTLS_CRT_PRINT_ONELINE, &out);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_x509_crt_print: %s",
+ {
+ fprintf (stderr, "gnutls_x509_crt_print: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
printf ("Signer: %.*s\n", out.size, out.data);
gnutls_free (out.data);
ret = gnutls_ocsp_resp_verify_direct (resp, signer, &verify, 0);
if (ret < 0)
- error (EXIT_FAILURE, 0, "gnutls_ocsp_resp_verify_direct: %s",
+ {
+ fprintf (stderr, "gnutls_ocsp_resp_verify_direct: %s",
gnutls_strerror (ret));
+ exit(1);
+ }
}
else
- error (EXIT_FAILURE, 0, "missing --load-trust or --load-signer");
+ {
+ fprintf (stderr, "missing --load-trust or --load-signer");
+ exit(1);
+ }
printf ("Verifying OCSP Response: ");
print_ocsp_verify_res (verify);
else
dat.data = (void*)fread_file (infile, &size);
if (dat.data == NULL)
- error (EXIT_FAILURE, errno, "reading response");
+ {
+ fprintf (stderr, "reading response");
+ exit(1);
+ }
dat.size = size;
_verify_response(&dat);
int ret;
if ((ret = gnutls_global_init ()) < 0)
- error (EXIT_FAILURE, 0, "global_init: %s", gnutls_strerror (ret));
+ {
+ fprintf( stderr, "global_init: %s", gnutls_strerror (ret));
+ exit(1);
+ }
optionProcess( &ocsptoolOptions, argc, argv);
{
outfile = fopen (OPT_ARG(OUTFILE), "wb");
if (outfile == NULL)
- error (EXIT_FAILURE, errno, "%s", OPT_ARG(OUTFILE));
+ {
+ fprintf( stderr, "%s", OPT_ARG(OUTFILE));
+ exit(1);
+ }
}
else
outfile = stdout;
{
infile = fopen (OPT_ARG(INFILE), "rb");
if (infile == NULL)
- error (EXIT_FAILURE, errno, "%s", OPT_ARG(INFILE));
+ {
+ fprintf( stderr, "%s", OPT_ARG(INFILE));
+ exit(1);
+ }
}
else
infile = stdin;