char **args = argv + 1;
const char *connect_str = "localhost:4433";
int nargs = argc - 1;
+ int ret = EXIT_FAILURE;
ctx = SSL_CTX_new(TLS_client_method());
cctx = SSL_CONF_CTX_new();
break;
BIO_write(out, tmpbuf, len);
}
+ ret = EXIT_SUCCESS;
end:
SSL_CONF_CTX_free(cctx);
BIO_free_all(sbio);
BIO_free(out);
- return 0;
+ return ret;
}
CONF_VALUE *cnf;
const char *connect_str = "localhost:4433";
long errline = -1;
+ int ret = EXIT_FAILURE;
conf = NCONF_new(NULL);
break;
BIO_write(out, tmpbuf, len);
}
+ ret = EXIT_SUCCESS;
+
end:
SSL_CONF_CTX_free(cctx);
BIO_free_all(sbio);
BIO_free(out);
NCONF_free(conf);
- return 0;
+ return ret;
}
int main(int argc, char **argv)
{
if (!aes_ccm_encrypt())
- return 1;
+ return EXIT_FAILURE;
if (!aes_ccm_decrypt())
- return 1;
+ return EXIT_FAILURE;
- return 0;
+ return EXIT_SUCCESS;
}
int main(int argc, char **argv)
{
if (!aes_gcm_encrypt())
- return 1;
+ return EXIT_FAILURE;
if (!aes_gcm_decrypt())
- return 1;
+ return EXIT_FAILURE;
- return 0;
+ return EXIT_SUCCESS;
}
int main(int argc, char **argv)
{
if (!aes_wrap_encrypt())
- return 1;
+ return EXIT_FAILURE;
if (!aes_wrap_decrypt())
- return 1;
+ return EXIT_FAILURE;
- return 0;
+ return EXIT_SUCCESS;
}
-
int main(int argc, char **argv)
{
if (!aria_cbc_encrypt())
- return 1;
+ return EXIT_FAILURE;
if (!aria_cbc_decrypt())
- return 1;
+ return EXIT_FAILURE;
- return 0;
+ return EXIT_SUCCESS;
}
{
BIO *in = NULL, *out = NULL;
CMS_ContentInfo *cms = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
/*
* On OpenSSL 1.0.0+ only:
if (!SMIME_write_CMS(out, cms, in, flags))
goto err;
- ret = 0;
+ ret = EXIT_SUCCESS;
err:
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Compressing Data\n");
ERR_print_errors_fp(stderr);
}
X509 *rcert = NULL;
EVP_PKEY *rkey = NULL;
CMS_ContentInfo *cms = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
if (!CMS_decrypt(cms, rkey, rcert, dcont, out, 0))
goto err;
- ret = 0;
+ ret = EXIT_SUCCESS;
err:
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Decrypting Data\n");
ERR_print_errors_fp(stderr);
}
X509 *rcert = NULL;
EVP_PKEY *rkey = NULL;
CMS_ContentInfo *cms = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
if (!CMS_decrypt(cms, rkey, rcert, NULL, out, 0))
goto err;
- ret = 0;
+ ret = EXIT_SUCCESS;
err:
-
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Decrypting Data\n");
ERR_print_errors_fp(stderr);
}
X509 *rcert = NULL;
STACK_OF(X509) *recips = NULL;
CMS_ContentInfo *cms = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
int flags = CMS_STREAM | CMS_DETACHED;
if (!PEM_write_bio_CMS(out, cms))
goto err;
- ret = 0;
-
+ ret = EXIT_SUCCESS;
err:
-
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Encrypting Data\n");
ERR_print_errors_fp(stderr);
}
X509 *rcert = NULL;
STACK_OF(X509) *recips = NULL;
CMS_ContentInfo *cms = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
/*
* On OpenSSL 1.0.0 and later only:
if (!SMIME_write_CMS(out, cms, in, flags))
goto err;
- ret = 0;
-
+ ret = EXIT_SUCCESS;
err:
-
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Encrypting Data\n");
ERR_print_errors_fp(stderr);
}
X509 *scert = NULL;
EVP_PKEY *skey = NULL;
CMS_ContentInfo *cms = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
/*
* For simple S/MIME signing use CMS_DETACHED. On OpenSSL 1.0.0 only: for
if (!SMIME_write_CMS(out, cms, in, flags))
goto err;
- ret = 0;
-
+ ret = EXIT_SUCCESS;
err:
-
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Signing Data\n");
ERR_print_errors_fp(stderr);
}
X509 *scert = NULL, *scert2 = NULL;
EVP_PKEY *skey = NULL, *skey2 = NULL;
CMS_ContentInfo *cms = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
if (!SMIME_write_CMS(out, cms, in, CMS_STREAM))
goto err;
- ret = 0;
-
+ ret = EXIT_SUCCESS;
err:
-
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Signing Data\n");
ERR_print_errors_fp(stderr);
}
{
BIO *in = NULL, *out = NULL;
CMS_ContentInfo *cms = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
if (!CMS_uncompress(cms, out, NULL, 0))
goto err;
- ret = 0;
-
+ ret = EXIT_SUCCESS;
err:
-
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Uncompressing Data\n");
ERR_print_errors_fp(stderr);
}
X509_STORE *st = NULL;
X509 *cacert = NULL;
CMS_ContentInfo *cms = NULL;
-
- int ret = 1;
+ int ret = EXIT_FAILURE;
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
fprintf(stderr, "Verification Successful\n");
- ret = 0;
-
+ ret = EXIT_SUCCESS;
err:
-
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Verifying Data\n");
ERR_print_errors_fp(stderr);
}
int main(int argc, char * argv[])
{
- int result = 1;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *library_context = NULL;
BIO *input = NULL;
- BIO *bio_digest = NULL;
+ BIO *bio_digest = NULL, *reading = NULL;
EVP_MD *md = NULL;
unsigned char buffer[512];
- size_t readct, writect;
size_t digest_size;
- char *digest_value=NULL;
+ char *digest_value = NULL;
int j;
input = BIO_new_fd(fileno(stdin), 1);
* We will use BIO chaining so that as we read, the digest gets updated
* See the man page for BIO_push
*/
- BIO *reading = BIO_push(bio_digest, input);
+ reading = BIO_push(bio_digest, input);
while (BIO_read(reading, buffer, sizeof(buffer)) > 0)
;
fprintf(stdout, "%02x", (unsigned char)digest_value[j]);
}
fprintf(stdout, "\n");
- result = 0;
+ ret = EXIT_SUCCESS;
cleanup:
- if (result != 0)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
OPENSSL_free(digest_value);
EVP_MD_free(md);
OSSL_LIB_CTX_free(library_context);
- return result;
+ return ret;
}
int demonstrate_digest(void)
{
OSSL_LIB_CTX *library_context;
- int result = 0;
+ int ret = 0;
const char *option_properties = NULL;
EVP_MD *message_digest = NULL;
EVP_MD_CTX *digest_context = NULL;
fprintf(stdout, "\nDigest does not match known answer\n");
} else {
fprintf(stdout, "Digest computed properly.\n");
- result = 1;
+ ret = 1;
}
-
cleanup:
- if (result != 1)
+ if (ret != 1)
ERR_print_errors_fp(stderr);
/* OpenSSL free functions will ignore NULL arguments */
EVP_MD_CTX_free(digest_context);
EVP_MD_free(message_digest);
OSSL_LIB_CTX_free(library_context);
- return result;
+ return ret;
}
int main(void)
{
- return demonstrate_digest() == 0;
+ return demonstrate_digest() ? EXIT_SUCCESS : EXIT_FAILURE;
}
int demonstrate_digest(BIO *input)
{
OSSL_LIB_CTX *library_context = NULL;
- int result = 0;
+ int ret = 0;
const char * option_properties = NULL;
EVP_MD *message_digest = NULL;
EVP_MD_CTX *digest_context = NULL;
fprintf(stderr, "EVP_DigestFinal() failed.\n");
goto cleanup;
}
- result = 1;
+ ret = 1;
for (ii=0; ii<digest_length; ii++) {
fprintf(stdout, "%02x", digest_value[ii]);
}
fprintf(stdout, "\n");
cleanup:
- if (result != 1)
+ if (ret != 1)
ERR_print_errors_fp(stderr);
/* OpenSSL free functions will ignore NULL arguments */
EVP_MD_CTX_free(digest_context);
EVP_MD_free(message_digest);
OSSL_LIB_CTX_free(library_context);
- return result;
+ return ret;
}
int main(void)
{
- int result = 1;
+ int ret = EXIT_FAILURE;
BIO *input = BIO_new_fd(fileno(stdin), 1);
if (input != NULL) {
- result = demonstrate_digest(input);
+ ret = (demonstrate_digest(input) ? EXIT_SUCCESS : EXIT_FAILURE);
BIO_free(input);
}
- return result;
+ if (ret != EXIT_SUCCESS)
+ ERR_print_errors_fp(stderr);
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
EVP_MD *md = NULL;
EVP_MD_CTX *ctx = NULL;
}
}
- rv = 0;
+ ret = EXIT_SUCCESS;
end:
OPENSSL_free(digest);
EVP_MD_CTX_free(ctx);
EVP_MD_free(md);
OSSL_LIB_CTX_free(libctx);
- return rv;
+ return ret;
}
*/
static EVP_PKEY *load_key(OSSL_LIB_CTX *libctx, FILE *f, const char *passphrase)
{
- int rv = 0;
+ int ret = 0;
EVP_PKEY *pkey = NULL;
OSSL_DECODER_CTX *dctx = NULL;
int selection = 0;
goto cleanup;
}
- rv = 1;
+ ret = 1;
cleanup:
OSSL_DECODER_CTX_free(dctx);
* might fail subsequently, so ensure it's properly freed
* in this case.
*/
- if (rv == 0) {
+ if (ret == 0) {
EVP_PKEY_free(pkey);
pkey = NULL;
}
*/
static int store_key(EVP_PKEY *pkey, FILE *f, const char *passphrase)
{
- int rv = 0;
+ int ret = 0;
int selection;
OSSL_ENCODER_CTX *ectx = NULL;
goto cleanup;
}
- rv = 1;
+ ret = 1;
cleanup:
OSSL_ENCODER_CTX_free(ectx);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
EVP_PKEY *pkey = NULL;
const char *passphrase_in = NULL, *passphrase_out = NULL;
goto cleanup;
}
- rv = 0;
+ ret = EXIT_SUCCESS;
cleanup:
EVP_PKEY_free(pkey);
OSSL_LIB_CTX_free(libctx);
- return rv;
+ return ret;
}
*/
static EVP_PKEY *load_key(OSSL_LIB_CTX *libctx, FILE *f, const char *passphrase)
{
- int rv = 0;
+ int ret = 0;
EVP_PKEY *pkey = NULL;
OSSL_DECODER_CTX *dctx = NULL;
int selection = 0;
goto cleanup;
}
- rv = 1;
+ ret = 1;
cleanup:
OSSL_DECODER_CTX_free(dctx);
* might fail subsequently, so ensure it's properly freed
* in this case.
*/
- if (rv == 0) {
+ if (ret == 0) {
EVP_PKEY_free(pkey);
pkey = NULL;
}
*/
static int store_key(EVP_PKEY *pkey, FILE *f, const char *passphrase)
{
- int rv = 0;
+ int ret = 0;
int selection;
OSSL_ENCODER_CTX *ectx = NULL;
goto cleanup;
}
- rv = 1;
+ ret = 1;
cleanup:
OSSL_ENCODER_CTX_free(ectx);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
EVP_PKEY *pkey = NULL;
const char *passphrase_in = NULL, *passphrase_out = NULL;
goto cleanup;
}
- rv = 0;
+ ret = EXIT_SUCCESS;
cleanup:
EVP_PKEY_free(pkey);
OSSL_LIB_CTX_free(libctx);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
EVP_KDF *kdf = NULL;
EVP_KDF_CTX *kctx = NULL;
unsigned char out[42];
goto end;
}
- rv = 0;
+ ret = EXIT_SUCCESS;
end:
EVP_KDF_CTX_free(kctx);
EVP_KDF_free(kdf);
OSSL_LIB_CTX_free(library_context);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
EVP_KDF *kdf = NULL;
EVP_KDF_CTX *kctx = NULL;
unsigned char out[64];
goto end;
}
- rv = 0;
+ ret = EXIT_SUCCESS;
end:
EVP_KDF_CTX_free(kctx);
EVP_KDF_free(kdf);
OSSL_LIB_CTX_free(library_context);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
EVP_KDF *kdf = NULL;
EVP_KDF_CTX *kctx = NULL;
unsigned char out[64];
goto end;
}
- rv = 0;
+ ret = EXIT_SUCCESS;
end:
EVP_KDF_CTX_free(kctx);
EVP_KDF_free(kdf);
OSSL_LIB_CTX_free(library_context);
- return rv;
+ return ret;
}
const unsigned char *kat_privk_data,
PEER_DATA *local_peer)
{
- int rv = 0;
+ int ret = 0;
size_t pubk_data_len = 0;
/* Generate or load X25519 key for the peer */
goto end;
}
- rv = 1;
+ ret = 1;
end:
- if (rv == 0) {
+ if (ret == 0) {
EVP_PKEY_free(local_peer->privk);
local_peer->privk = NULL;
}
- return rv;
+ return ret;
}
/*
PEER_DATA *local_peer,
const unsigned char *remote_peer_pubk_data)
{
- int rv = 0;
+ int ret = 0;
EVP_PKEY *remote_peer_pubk = NULL;
EVP_PKEY_CTX *ctx = NULL;
BIO_dump_indent_fp(stdout, local_peer->secret, local_peer->secret_len, 2);
putchar('\n');
- rv = 1;
+ ret = 1;
end:
EVP_PKEY_CTX_free(ctx);
EVP_PKEY_free(remote_peer_pubk);
- if (rv == 0) {
+ if (ret == 0) {
OPENSSL_clear_free(local_peer->secret, local_peer->secret_len);
local_peer->secret = NULL;
}
- return rv;
+ return ret;
}
static int keyexch_x25519(int use_kat)
{
- int rv = 0;
+ int ret = 0;
OSSL_LIB_CTX *libctx = NULL;
PEER_DATA peer1 = {"peer 1"}, peer2 = {"peer 2"};
goto end;
}
- rv = 1;
+ ret = 1;
end:
/* The secrets are sensitive, so ensure they are erased before freeing. */
OPENSSL_clear_free(peer1.secret, peer1.secret_len);
EVP_PKEY_free(peer1.privk);
EVP_PKEY_free(peer2.privk);
OSSL_LIB_CTX_free(libctx);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
/* Test X25519 key exchange with known result. */
printf("Key exchange using known answer (deterministic):\n");
if (keyexch_x25519(1) == 0)
- return 1;
+ return EXIT_FAILURE;
/* Test X25519 key exchange with random keys. */
printf("Key exchange using random keys:\n");
if (keyexch_x25519(0) == 0)
- return 1;
+ return EXIT_FAILURE;
- return 0;
+ return EXIT_SUCCESS;
}
int main(void)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *library_context = NULL;
EVP_MAC *mac = NULL;
EVP_MAC_CTX *mctx = NULL;
goto end;
}
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
end:
- if (rv != EXIT_SUCCESS)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
/* OpenSSL free functions will ignore NULL arguments */
OPENSSL_free(out);
EVP_MAC_CTX_free(mctx);
EVP_MAC_free(mac);
OSSL_LIB_CTX_free(library_context);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
EVP_MAC *mac = NULL;
EVP_MAC_CTX *mctx = NULL;
unsigned char out[16];
goto end;
}
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
end:
EVP_MAC_CTX_free(mctx);
EVP_MAC_free(mac);
OSSL_LIB_CTX_free(library_context);
- if (rv != EXIT_SUCCESS)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
- return rv;
+ return ret;
}
int main(void)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *library_context = NULL;
EVP_MAC *mac = NULL;
EVP_MAC_CTX *mctx = NULL;
goto end;
}
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
end:
- if (rv != EXIT_SUCCESS)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
/* OpenSSL free functions will ignore NULL arguments */
OPENSSL_free(out);
EVP_MAC_CTX_free(mctx);
EVP_MAC_free(mac);
OSSL_LIB_CTX_free(library_context);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
EVP_CIPHER *aes = NULL;
EVP_CIPHER_CTX *aesctx = NULL;
EVP_MAC *mac = NULL;
goto end;
}
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
end:
EVP_CIPHER_CTX_free(aesctx);
EVP_CIPHER_free(aes);
EVP_MAC_CTX_free(mctx);
EVP_MAC_free(mac);
OSSL_LIB_CTX_free(library_context);
- if (rv != EXIT_SUCCESS)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
EVP_MAC *mac = NULL;
EVP_MAC_CTX *mctx = NULL;
unsigned char out[8];
goto end;
}
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
end:
EVP_MAC_CTX_free(mctx);
EVP_MAC_free(mac);
OSSL_LIB_CTX_free(library_context);
- if (rv != EXIT_SUCCESS)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
- return rv;
+ return ret;
}
PKCS12 *p12;
if (argc != 5) {
fprintf(stderr, "Usage: pkwrite infile password name p12file\n");
- exit(1);
+ exit(EXIT_FAILURE);
}
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
if ((fp = fopen(argv[1], "r")) == NULL) {
fprintf(stderr, "Error opening file %s\n", argv[1]);
- exit(1);
+ exit(EXIT_FAILURE);
}
cert = PEM_read_X509(fp, NULL, NULL, NULL);
rewind(fp);
if (!p12) {
fprintf(stderr, "Error creating PKCS#12 structure\n");
ERR_print_errors_fp(stderr);
- exit(1);
+ exit(EXIT_FAILURE);
}
if ((fp = fopen(argv[4], "wb")) == NULL) {
fprintf(stderr, "Error opening file %s\n", argv[4]);
ERR_print_errors_fp(stderr);
- exit(1);
+ exit(EXIT_FAILURE);
}
i2d_PKCS12_fp(fp, p12);
PKCS12_free(p12);
fclose(fp);
- return 0;
+ return EXIT_SUCCESS;
}
int main(int argc, char **argv)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
const char *propq = NULL;
EVP_PKEY *dsaparamskey = NULL;
if (!dsa_print_key(dsakey, 1, libctx, propq))
goto cleanup;
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
cleanup:
EVP_PKEY_free(dsakey);
EVP_PKEY_free(dsaparamskey);
EVP_PKEY_CTX_free(ctx);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
const char *propq = NULL;
EVP_PKEY_CTX *ctx = NULL;
if (!dsa_print_key(dsaparamkey, 0, libctx, propq))
goto cleanup;
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
cleanup:
EVP_PKEY_free(dsaparamkey);
EVP_PKEY_CTX_free(ctx);
BN_free(q);
BN_free(p);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
const char *propq = NULL;
EVP_PKEY_CTX *ctx = NULL;
if (!dsa_print_key(dsaparamkey, 0, libctx, propq))
goto cleanup;
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
cleanup:
EVP_PKEY_free(dsaparamkey);
EVP_PKEY_CTX_free(ctx);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = EXIT_FAILURE;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
const char *propq = NULL;
EVP_PKEY *dsaparamskey = NULL;
if (!dsa_print_key(EVP_PKEY_CTX_get0_pkey(ctx2), 0, libctx, propq))
goto cleanup;
- rv = EXIT_SUCCESS;
+ ret = EXIT_SUCCESS;
cleanup:
EVP_PKEY_free(dsaparamskey);
EVP_PKEY_CTX_free(ctx2);
EVP_PKEY_CTX_free(ctx1);
EVP_PKEY_CTX_free(ctx);
BIO_free(in);
- return rv;
+ return ret;
}
*/
static int get_key_values(EVP_PKEY *pkey)
{
- int result = 0;
+ int ret = 0;
char out_curvename[80];
unsigned char out_pubkey[80];
unsigned char out_privkey[80];
fprintf(stdout, "Private Key:\n");
BIO_dump_indent_fp(stdout, out_privkey, out_privkey_len, 2);
- result = 1;
+ ret = 1;
cleanup:
/* Zeroize the private key data when we free it */
BN_clear_free(out_priv);
- return result;
+ return ret;
}
int main(void)
{
- int result = 0;
+ int ret = EXIT_FAILURE;
EVP_PKEY *pkey;
pkey = do_ec_keygen();
* At this point we can write out the generated key using
* i2d_PrivateKey() and i2d_PublicKey() if required.
*/
- result = 1;
+ ret = EXIT_SUCCESS;
cleanup:
- if (result != 1)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
EVP_PKEY_free(pkey);
- return result == 0;
+ return ret;
}
*/
static int dump_key(const EVP_PKEY *pkey)
{
- int rv = 0;
+ int ret = 0;
int bits = 0;
BIGNUM *n = NULL, *e = NULL, *d = NULL, *p = NULL, *q = NULL;
goto cleanup;
}
- rv = 1;
+ ret = 1;
cleanup:
BN_free(n); /* not secret */
BN_free(e); /* not secret */
BN_clear_free(d); /* secret - scrub before freeing */
BN_clear_free(p); /* secret - scrub before freeing */
BN_clear_free(q); /* secret - scrub before freeing */
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
EVP_PKEY *pkey = NULL;
unsigned int bits = 4096;
bits_i = atoi(argv[1]);
if (bits < 512) {
fprintf(stderr, "Invalid RSA key size\n");
- return 1;
+ return EXIT_FAILURE;
}
bits = (unsigned int)bits_i;
goto cleanup;
}
- rv = 0;
+ ret = EXIT_SUCCESS;
cleanup:
EVP_PKEY_free(pkey);
OSSL_LIB_CTX_free(libctx);
- return rv;
+ return ret;
}
static int generate_dsa_params(OSSL_LIB_CTX *libctx,
EVP_PKEY **p_params)
{
- int result = 0;
+ int ret = 0;
EVP_PKEY_CTX *pkey_ctx = NULL;
EVP_PKEY *params = NULL;
if (params == NULL)
goto end;
- result = 1;
+ ret = 1;
end:
- if(result != 1) {
+ if(ret != 1) {
EVP_PKEY_free(params);
params = NULL;
}
EVP_PKEY_print_params_fp(stdout, params, 4, NULL);
fprintf(stdout, "\n");
- return result;
+ return ret;
}
static int generate_dsa_key(OSSL_LIB_CTX *libctx,
EVP_PKEY *params,
EVP_PKEY **p_pkey)
{
- int result = 0;
+ int ret = 0;
EVP_PKEY_CTX *ctx = NULL;
EVP_PKEY *pkey = NULL;
if (pkey == NULL)
goto end;
- result = 1;
+ ret = 1;
end:
- if(result != 1) {
+ if(ret != 1) {
EVP_PKEY_free(pkey);
pkey = NULL;
}
EVP_PKEY_print_params_fp(stdout, pkey, 4, NULL);
fprintf(stdout, "\n");
- return result;
+ return ret;
}
static int extract_public_key(const EVP_PKEY *pkey,
OSSL_PARAM **p_public_key)
{
- int result = 0;
+ int ret = 0;
OSSL_PARAM *public_key = NULL;
if (EVP_PKEY_todata(pkey, EVP_PKEY_PUBLIC_KEY, &public_key) != 1)
goto end;
- result = 1;
+ ret = 1;
end:
- if (result != 1) {
+ if (ret != 1) {
OSSL_PARAM_free(public_key);
public_key = NULL;
}
*p_public_key = public_key;
- return result;
+ return ret;
}
static int extract_keypair(const EVP_PKEY *pkey,
OSSL_PARAM **p_keypair)
{
- int result = 0;
+ int ret = 0;
OSSL_PARAM *keypair = NULL;
if (EVP_PKEY_todata(pkey, EVP_PKEY_KEYPAIR, &keypair) != 1)
goto end;
- result = 1;
+ ret = 1;
end:
- if (result != 1) {
+ if (ret != 1) {
OSSL_PARAM_free(keypair);
keypair = NULL;
}
*p_keypair = keypair;
- return result;
+ return ret;
}
static int demo_sign(OSSL_LIB_CTX *libctx,
size_t *p_sig_len, unsigned char **p_sig_value,
OSSL_PARAM keypair[])
{
- int result = 0;
+ int ret = 0;
size_t sig_len = 0;
unsigned char *sig_value = NULL;
EVP_MD_CTX *ctx = NULL;
if (EVP_DigestSignFinal(ctx, sig_value, &sig_len) != 1)
goto end;
- result = 1;
+ ret = 1;
end:
EVP_MD_CTX_free(ctx);
- if (result != 1) {
+ if (ret != 1) {
OPENSSL_free(sig_value);
sig_len = 0;
sig_value = NULL;
fprintf(stdout, "Generating signature:\n");
BIO_dump_indent_fp(stdout, sig_value, sig_len, 2);
fprintf(stdout, "\n");
- return result;
+ return ret;
}
static int demo_verify(OSSL_LIB_CTX *libctx,
size_t sig_len, unsigned char *sig_value,
OSSL_PARAM public_key[])
{
- int result = 0;
+ int ret = 0;
EVP_MD_CTX *ctx = NULL;
EVP_PKEY_CTX *pkey_ctx = NULL;
EVP_PKEY *pkey = NULL;
if (EVP_DigestVerifyFinal(ctx, sig_value, sig_len) != 1)
goto end;
- result = 1;
+ ret = 1;
end:
EVP_PKEY_free(pkey);
EVP_PKEY_CTX_free(pkey_ctx);
EVP_MD_CTX_free(ctx);
- return result;
+ return ret;
}
int main(void)
{
- int result = 0;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
EVP_PKEY *params = NULL;
EVP_PKEY *pkey = NULL;
if (demo_verify(libctx, sig_len, sig_value, public_key) != 1)
goto end;
- result = 1;
+ ret = EXIT_SUCCESS;
end:
- if (result != 1)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
OPENSSL_free(sig_value);
OSSL_PARAM_free(keypair);
OSSL_LIB_CTX_free(libctx);
- return result ? 0 : 1;
+ return ret;
}
static int demo_sign(OSSL_LIB_CTX *libctx, const char *sig_name,
size_t *sig_out_len, unsigned char **sig_out_value)
{
- int result = 0, public = 0;
+ int ret = 0, public = 0;
size_t sig_len;
unsigned char *sig_value = NULL;
const char *propq = NULL;
fprintf(stdout, "Generating signature:\n");
BIO_dump_indent_fp(stdout, sig_value, sig_len, 2);
fprintf(stdout, "\n");
- result = 1;
+ ret = 1;
cleanup:
/* OpenSSL free functions will ignore NULL arguments */
- if (!result)
+ if (!ret)
OPENSSL_free(sig_value);
EVP_PKEY_free(priv_key);
EVP_MD_CTX_free(sign_context);
- return result;
+ return ret;
}
static int demo_verify(OSSL_LIB_CTX *libctx, const char *sig_name,
size_t sig_len, unsigned char *sig_value)
{
- int result = 0, public = 1;
+ int ret = 0, public = 1;
const char *propq = NULL;
EVP_MD_CTX *verify_context = NULL;
EVP_PKEY *pub_key = NULL;
goto cleanup;
}
fprintf(stdout, "Signature verified.\n");
- result = 1;
+ ret = 1;
cleanup:
/* OpenSSL free functions will ignore NULL arguments */
EVP_PKEY_free(pub_key);
EVP_MD_CTX_free(verify_context);
- return result;
+ return ret;
}
int main(void)
const char *sig_name = "SHA3-512";
size_t sig_len = 0;
unsigned char *sig_value = NULL;
- int result = 0;
+ int ret = EXIT_FAILURE;
libctx = OSSL_LIB_CTX_new();
if (libctx == NULL) {
fprintf(stderr, "demo_verify failed.\n");
goto cleanup;
}
- result = 1;
+ ret = EXIT_SUCCESS;
cleanup:
- if (result != 1)
+ if (ret != EXIT_SUCCESS)
ERR_print_errors_fp(stderr);
/* OpenSSL free functions will ignore NULL arguments */
OSSL_LIB_CTX_free(libctx);
OPENSSL_free(sig_value);
- return result == 0;
+ return ret;
}
*/
static int sign(OSSL_LIB_CTX *libctx, unsigned char **sig, size_t *sig_len)
{
- int rv = 0;
+ int ret = 0;
EVP_PKEY *pkey = NULL;
EVP_PKEY_CTX *ctx = NULL;
EVP_MD *md = NULL;
goto end;
}
- rv = 1;
+ ret = 1;
end:
EVP_PKEY_CTX_free(ctx);
EVP_PKEY_free(pkey);
EVP_MD_free(md);
- if (rv == 0)
+ if (ret == 0)
OPENSSL_free(*sig);
- return rv;
+ return ret;
}
/*
*/
static int verify(OSSL_LIB_CTX *libctx, const unsigned char *sig, size_t sig_len)
{
- int rv = 0;
+ int ret = 0;
const unsigned char *ppub_key = NULL;
EVP_PKEY *pkey = NULL;
EVP_PKEY_CTX *ctx = NULL;
goto end;
}
- rv = 1;
+ ret = 1;
end:
EVP_PKEY_CTX_free(ctx);
EVP_PKEY_free(pkey);
EVP_MD_free(md);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
unsigned char *sig = NULL;
size_t sig_len = 0;
if (verify(libctx, sig, sig_len) == 0)
goto end;
- rv = 0;
+ ret = EXIT_SUCCESS;
end:
OPENSSL_free(sig);
OSSL_LIB_CTX_free(libctx);
- return rv;
+ return ret;
}
*/
static int sign(OSSL_LIB_CTX *libctx, unsigned char **sig, size_t *sig_len)
{
- int rv = 0;
+ int ret = 0;
EVP_PKEY *pkey = NULL;
EVP_MD_CTX *mctx = NULL;
OSSL_PARAM params[2], *p = params;
goto end;
}
- rv = 1;
+ ret = 1;
end:
EVP_MD_CTX_free(mctx);
EVP_PKEY_free(pkey);
- if (rv == 0)
+ if (ret == 0)
OPENSSL_free(*sig);
- return rv;
+ return ret;
}
/*
*/
static int verify(OSSL_LIB_CTX *libctx, const unsigned char *sig, size_t sig_len)
{
- int rv = 0;
+ int ret = 0;
EVP_PKEY *pkey = NULL;
EVP_MD_CTX *mctx = NULL;
OSSL_PARAM params[2], *p = params;
goto end;
}
- rv = 1;
+ ret = 1;
end:
EVP_MD_CTX_free(mctx);
EVP_PKEY_free(pkey);
- return rv;
+ return ret;
}
int main(int argc, char **argv)
{
- int rv = 1;
+ int ret = EXIT_FAILURE;
OSSL_LIB_CTX *libctx = NULL;
unsigned char *sig = NULL;
size_t sig_len = 0;
if (verify(libctx, sig, sig_len) == 0)
goto end;
- rv = 0;
+ ret = EXIT_SUCCESS;
end:
OPENSSL_free(sig);
OSSL_LIB_CTX_free(libctx);
- return rv;
+ return ret;
}
X509 *rcert = NULL;
EVP_PKEY *rkey = NULL;
PKCS7 *p7 = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
if (!PKCS7_decrypt(p7, rkey, rcert, out, 0))
goto err;
- ret = 0;
+ ret = EXIT_SUCCESS;
err:
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Signing Data\n");
ERR_print_errors_fp(stderr);
}
X509 *rcert = NULL;
STACK_OF(X509) *recips = NULL;
PKCS7 *p7 = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
/*
* On OpenSSL 0.9.9 only:
if (!SMIME_write_PKCS7(out, p7, in, flags))
goto err;
- ret = 0;
+ ret = EXIT_SUCCESS;
err:
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Encrypting Data\n");
ERR_print_errors_fp(stderr);
}
X509 *scert = NULL;
EVP_PKEY *skey = NULL;
PKCS7 *p7 = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
/*
* For simple S/MIME signing use PKCS7_DETACHED. On OpenSSL 0.9.9 only:
if (!SMIME_write_PKCS7(out, p7, in, flags))
goto err;
- ret = 0;
+ ret = EXIT_SUCCESS;
err:
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Signing Data\n");
ERR_print_errors_fp(stderr);
}
X509 *scert = NULL, *scert2 = NULL;
EVP_PKEY *skey = NULL, *skey2 = NULL;
PKCS7 *p7 = NULL;
- int ret = 1;
+ int ret = EXIT_FAILURE;
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
if (!SMIME_write_PKCS7(out, p7, in, PKCS7_STREAM))
goto err;
- ret = 0;
+ ret = EXIT_SUCCESS;
err:
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Signing Data\n");
ERR_print_errors_fp(stderr);
}
X509_STORE *st = NULL;
X509 *cacert = NULL;
PKCS7 *p7 = NULL;
-
- int ret = 1;
+ int ret = EXIT_FAILURE;
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
fprintf(stderr, "Verification Successful\n");
- ret = 0;
+ ret = EXIT_SUCCESS;
err:
- if (ret) {
+ if (ret != EXIT_SUCCESS) {
fprintf(stderr, "Error Verifying Data\n");
ERR_print_errors_fp(stderr);
}
printf(" --or--\n");
printf(" sslecho c ip\n");
printf(" c=client, s=server, ip=dotted ip of server\n");
- exit(1);
+ exit(EXIT_FAILURE);
}
int main(int argc, char **argv)
ERR_print_errors_fp(stderr);
}
}
- exit:
+exit:
/* Close up */
if (ssl != NULL) {
SSL_shutdown(ssl);
printf("sslecho exiting\n");
- return 0;
+ return EXIT_SUCCESS;
}