summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormiod <>2014-11-09 19:24:30 +0000
committermiod <>2014-11-09 19:24:30 +0000
commit73a7816209b98b60e458e2975460de46215d27cf (patch)
tree844587803632407cc9aa4ee2efd17c963141b704
parent12455d6eff265f95b0a7e20595630321799f50a2 (diff)
downloadopenbsd-73a7816209b98b60e458e2975460de46215d27cf.tar.gz
openbsd-73a7816209b98b60e458e2975460de46215d27cf.tar.bz2
openbsd-73a7816209b98b60e458e2975460de46215d27cf.zip
Replace RAND_bytes() usage with arc4random_buf().
-rw-r--r--src/lib/libcrypto/gost/gost.h3
-rw-r--r--src/lib/libcrypto/gost/gost_err.c1
-rw-r--r--src/lib/libcrypto/gost/gostr341001_pmeth.c9
-rw-r--r--src/lib/libssl/src/crypto/gost/gost.h3
-rw-r--r--src/lib/libssl/src/crypto/gost/gost_err.c1
-rw-r--r--src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c9
6 files changed, 6 insertions, 20 deletions
diff --git a/src/lib/libcrypto/gost/gost.h b/src/lib/libcrypto/gost/gost.h
index 5296e7b9c2..516c1b41fc 100644
--- a/src/lib/libcrypto/gost/gost.h
+++ b/src/lib/libcrypto/gost/gost.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: gost.h,v 1.1 2014/11/09 19:17:13 miod Exp $ */ 1/* $OpenBSD: gost.h,v 1.2 2014/11/09 19:24:30 miod Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
4 * Copyright (c) 2005-2006 Cryptocom LTD 4 * Copyright (c) 2005-2006 Cryptocom LTD
@@ -251,7 +251,6 @@ void ERR_load_GOST_strings(void);
251#define GOST_R_NO_PEER_KEY 116 251#define GOST_R_NO_PEER_KEY 116
252#define GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR 117 252#define GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR 117
253#define GOST_R_PUBLIC_KEY_UNDEFINED 118 253#define GOST_R_PUBLIC_KEY_UNDEFINED 118
254#define GOST_R_RANDOM_GENERATOR_FAILURE 119
255#define GOST_R_RANDOM_NUMBER_GENERATOR_FAILED 120 254#define GOST_R_RANDOM_NUMBER_GENERATOR_FAILED 120
256#define GOST_R_SIGNATURE_MISMATCH 121 255#define GOST_R_SIGNATURE_MISMATCH 121
257#define GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q 122 256#define GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q 122
diff --git a/src/lib/libcrypto/gost/gost_err.c b/src/lib/libcrypto/gost/gost_err.c
index a52fe4cd5a..b4e061f985 100644
--- a/src/lib/libcrypto/gost/gost_err.c
+++ b/src/lib/libcrypto/gost/gost_err.c
@@ -120,7 +120,6 @@ static ERR_STRING_DATA GOST_str_reasons[]=
120{ERR_REASON(GOST_R_NO_PEER_KEY) ,"no peer key"}, 120{ERR_REASON(GOST_R_NO_PEER_KEY) ,"no peer key"},
121{ERR_REASON(GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR),"no private part of non ephemeral keypair"}, 121{ERR_REASON(GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR),"no private part of non ephemeral keypair"},
122{ERR_REASON(GOST_R_PUBLIC_KEY_UNDEFINED) ,"public key undefined"}, 122{ERR_REASON(GOST_R_PUBLIC_KEY_UNDEFINED) ,"public key undefined"},
123{ERR_REASON(GOST_R_RANDOM_GENERATOR_FAILURE),"random generator failure"},
124{ERR_REASON(GOST_R_RANDOM_NUMBER_GENERATOR_FAILED),"random number generator failed"}, 123{ERR_REASON(GOST_R_RANDOM_NUMBER_GENERATOR_FAILED),"random number generator failed"},
125{ERR_REASON(GOST_R_SIGNATURE_MISMATCH) ,"signature mismatch"}, 124{ERR_REASON(GOST_R_SIGNATURE_MISMATCH) ,"signature mismatch"},
126{ERR_REASON(GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q),"signature parts greater than q"}, 125{ERR_REASON(GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q),"signature parts greater than q"},
diff --git a/src/lib/libcrypto/gost/gostr341001_pmeth.c b/src/lib/libcrypto/gost/gostr341001_pmeth.c
index 0f82e88a9d..910c0b9c45 100644
--- a/src/lib/libcrypto/gost/gostr341001_pmeth.c
+++ b/src/lib/libcrypto/gost/gostr341001_pmeth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: gostr341001_pmeth.c,v 1.1 2014/11/09 19:17:13 miod Exp $ */ 1/* $OpenBSD: gostr341001_pmeth.c,v 1.2 2014/11/09 19:24:30 miod Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
4 * Copyright (c) 2005-2006 Cryptocom LTD 4 * Copyright (c) 2005-2006 Cryptocom LTD
@@ -60,7 +60,6 @@
60#include <openssl/ec.h> 60#include <openssl/ec.h>
61#include <openssl/ecdsa.h> 61#include <openssl/ecdsa.h>
62#include <openssl/x509.h> 62#include <openssl/x509.h>
63#include <openssl/rand.h> /* for RAND_bytes */
64 63
65#include "evp_locl.h" 64#include "evp_locl.h"
66#include "gost_locl.h" 65#include "gost_locl.h"
@@ -454,11 +453,7 @@ int pkey_gost01_encrypt(EVP_PKEY_CTX * pctx, unsigned char *out,
454 if (data->shared_ukm) { 453 if (data->shared_ukm) {
455 memcpy(ukm, data->shared_ukm, 8); 454 memcpy(ukm, data->shared_ukm, 8);
456 } else if (out) { 455 } else if (out) {
457 if (RAND_bytes(ukm, 8) <= 0) { 456 arc4random_buf(ukm, 8);
458 GOSTerr(GOST_F_PKEY_GOST01_ENCRYPT,
459 GOST_R_RANDOM_GENERATOR_FAILURE);
460 return 0;
461 }
462 } 457 }
463 /* Check for private key in the peer_key of context */ 458 /* Check for private key in the peer_key of context */
464 if (sec_key) { 459 if (sec_key) {
diff --git a/src/lib/libssl/src/crypto/gost/gost.h b/src/lib/libssl/src/crypto/gost/gost.h
index 5296e7b9c2..516c1b41fc 100644
--- a/src/lib/libssl/src/crypto/gost/gost.h
+++ b/src/lib/libssl/src/crypto/gost/gost.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: gost.h,v 1.1 2014/11/09 19:17:13 miod Exp $ */ 1/* $OpenBSD: gost.h,v 1.2 2014/11/09 19:24:30 miod Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
4 * Copyright (c) 2005-2006 Cryptocom LTD 4 * Copyright (c) 2005-2006 Cryptocom LTD
@@ -251,7 +251,6 @@ void ERR_load_GOST_strings(void);
251#define GOST_R_NO_PEER_KEY 116 251#define GOST_R_NO_PEER_KEY 116
252#define GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR 117 252#define GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR 117
253#define GOST_R_PUBLIC_KEY_UNDEFINED 118 253#define GOST_R_PUBLIC_KEY_UNDEFINED 118
254#define GOST_R_RANDOM_GENERATOR_FAILURE 119
255#define GOST_R_RANDOM_NUMBER_GENERATOR_FAILED 120 254#define GOST_R_RANDOM_NUMBER_GENERATOR_FAILED 120
256#define GOST_R_SIGNATURE_MISMATCH 121 255#define GOST_R_SIGNATURE_MISMATCH 121
257#define GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q 122 256#define GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q 122
diff --git a/src/lib/libssl/src/crypto/gost/gost_err.c b/src/lib/libssl/src/crypto/gost/gost_err.c
index a52fe4cd5a..b4e061f985 100644
--- a/src/lib/libssl/src/crypto/gost/gost_err.c
+++ b/src/lib/libssl/src/crypto/gost/gost_err.c
@@ -120,7 +120,6 @@ static ERR_STRING_DATA GOST_str_reasons[]=
120{ERR_REASON(GOST_R_NO_PEER_KEY) ,"no peer key"}, 120{ERR_REASON(GOST_R_NO_PEER_KEY) ,"no peer key"},
121{ERR_REASON(GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR),"no private part of non ephemeral keypair"}, 121{ERR_REASON(GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR),"no private part of non ephemeral keypair"},
122{ERR_REASON(GOST_R_PUBLIC_KEY_UNDEFINED) ,"public key undefined"}, 122{ERR_REASON(GOST_R_PUBLIC_KEY_UNDEFINED) ,"public key undefined"},
123{ERR_REASON(GOST_R_RANDOM_GENERATOR_FAILURE),"random generator failure"},
124{ERR_REASON(GOST_R_RANDOM_NUMBER_GENERATOR_FAILED),"random number generator failed"}, 123{ERR_REASON(GOST_R_RANDOM_NUMBER_GENERATOR_FAILED),"random number generator failed"},
125{ERR_REASON(GOST_R_SIGNATURE_MISMATCH) ,"signature mismatch"}, 124{ERR_REASON(GOST_R_SIGNATURE_MISMATCH) ,"signature mismatch"},
126{ERR_REASON(GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q),"signature parts greater than q"}, 125{ERR_REASON(GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q),"signature parts greater than q"},
diff --git a/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c b/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c
index 0f82e88a9d..910c0b9c45 100644
--- a/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c
+++ b/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: gostr341001_pmeth.c,v 1.1 2014/11/09 19:17:13 miod Exp $ */ 1/* $OpenBSD: gostr341001_pmeth.c,v 1.2 2014/11/09 19:24:30 miod Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
4 * Copyright (c) 2005-2006 Cryptocom LTD 4 * Copyright (c) 2005-2006 Cryptocom LTD
@@ -60,7 +60,6 @@
60#include <openssl/ec.h> 60#include <openssl/ec.h>
61#include <openssl/ecdsa.h> 61#include <openssl/ecdsa.h>
62#include <openssl/x509.h> 62#include <openssl/x509.h>
63#include <openssl/rand.h> /* for RAND_bytes */
64 63
65#include "evp_locl.h" 64#include "evp_locl.h"
66#include "gost_locl.h" 65#include "gost_locl.h"
@@ -454,11 +453,7 @@ int pkey_gost01_encrypt(EVP_PKEY_CTX * pctx, unsigned char *out,
454 if (data->shared_ukm) { 453 if (data->shared_ukm) {
455 memcpy(ukm, data->shared_ukm, 8); 454 memcpy(ukm, data->shared_ukm, 8);
456 } else if (out) { 455 } else if (out) {
457 if (RAND_bytes(ukm, 8) <= 0) { 456 arc4random_buf(ukm, 8);
458 GOSTerr(GOST_F_PKEY_GOST01_ENCRYPT,
459 GOST_R_RANDOM_GENERATOR_FAILURE);
460 return 0;
461 }
462 } 457 }
463 /* Check for private key in the peer_key of context */ 458 /* Check for private key in the peer_key of context */
464 if (sec_key) { 459 if (sec_key) {