summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2022-01-10 15:04:06 +0000
committertb <>2022-01-10 15:04:06 +0000
commit12f91e8ee67d412757442d6df12584cb814335db (patch)
tree8bbd47752e97bfa73dc8ae3b5deef53994085f52 /src
parent8451a280e241cb46ada7e92c42530e7322ba5461 (diff)
downloadopenbsd-12f91e8ee67d412757442d6df12584cb814335db.tar.gz
openbsd-12f91e8ee67d412757442d6df12584cb814335db.tar.bz2
openbsd-12f91e8ee67d412757442d6df12584cb814335db.zip
Dedup get_dsa*() code.
Pointed out by jsing
Diffstat (limited to 'src')
-rw-r--r--src/usr.bin/openssl/testdsa.h151
1 files changed, 60 insertions, 91 deletions
diff --git a/src/usr.bin/openssl/testdsa.h b/src/usr.bin/openssl/testdsa.h
index 2845248806..20cc97eeaa 100644
--- a/src/usr.bin/openssl/testdsa.h
+++ b/src/usr.bin/openssl/testdsa.h
@@ -1,14 +1,21 @@
1/* $OpenBSD: testdsa.h,v 1.2 2022/01/10 14:47:09 tb Exp $ */ 1/* $OpenBSD: testdsa.h,v 1.3 2022/01/10 15:04:06 tb Exp $ */
2 2
3DSA *get_dsa512(void); 3DSA *get_dsa512(void);
4DSA *get_dsa1024(void); 4DSA *get_dsa1024(void);
5DSA *get_dsa2048(void); 5DSA *get_dsa2048(void);
6 6
7static unsigned char dsa512_priv[] = { 7DSA *get_dsa(const unsigned char *priv, size_t priv_size,
8 const unsigned char *pub, size_t pub_size,
9 const unsigned char *p, size_t p_size,
10 const unsigned char *q, size_t q_size,
11 const unsigned char *g, size_t g_size);
12
13static const unsigned char dsa512_priv[] = {
8 0x65, 0xe5, 0xc7, 0x38, 0x60, 0x24, 0xb5, 0x89, 0xd4, 0x9c, 0xeb, 0x4c, 14 0x65, 0xe5, 0xc7, 0x38, 0x60, 0x24, 0xb5, 0x89, 0xd4, 0x9c, 0xeb, 0x4c,
9 0x9c, 0x1d, 0x7a, 0x22, 0xbd, 0xd1, 0xc2, 0xd2, 15 0x9c, 0x1d, 0x7a, 0x22, 0xbd, 0xd1, 0xc2, 0xd2,
10}; 16};
11static unsigned char dsa512_pub[] = { 17
18static const unsigned char dsa512_pub[] = {
12 0x00, 0x95, 0xa7, 0x0d, 0xec, 0x93, 0x68, 0xba, 0x5f, 0xf7, 0x5f, 0x07, 19 0x00, 0x95, 0xa7, 0x0d, 0xec, 0x93, 0x68, 0xba, 0x5f, 0xf7, 0x5f, 0x07,
13 0xf2, 0x3b, 0xad, 0x6b, 0x01, 0xdc, 0xbe, 0xec, 0xde, 0x04, 0x7a, 0x3a, 20 0xf2, 0x3b, 0xad, 0x6b, 0x01, 0xdc, 0xbe, 0xec, 0xde, 0x04, 0x7a, 0x3a,
14 0x27, 0xb3, 0xec, 0x49, 0xfd, 0x08, 0x43, 0x3d, 0x7e, 0xa8, 0x2c, 0x5e, 21 0x27, 0xb3, 0xec, 0x49, 0xfd, 0x08, 0x43, 0x3d, 0x7e, 0xa8, 0x2c, 0x5e,
@@ -16,7 +23,8 @@ static unsigned char dsa512_pub[] = {
16 0x8c, 0x38, 0x5d, 0x83, 0x56, 0x7d, 0xee, 0x53, 0x05, 0x3e, 0x24, 0x84, 23 0x8c, 0x38, 0x5d, 0x83, 0x56, 0x7d, 0xee, 0x53, 0x05, 0x3e, 0x24, 0x84,
17 0xbe, 0xba, 0x0a, 0x6b, 0xc8, 24 0xbe, 0xba, 0x0a, 0x6b, 0xc8,
18}; 25};
19static unsigned char dsa512_p[] = { 26
27static const unsigned char dsa512_p[] = {
20 0x9D, 0x1B, 0x69, 0x8E, 0x26, 0xDB, 0xF2, 0x2B, 0x11, 0x70, 0x19, 0x86, 28 0x9D, 0x1B, 0x69, 0x8E, 0x26, 0xDB, 0xF2, 0x2B, 0x11, 0x70, 0x19, 0x86,
21 0xF6, 0x19, 0xC8, 0xF8, 0x19, 0xF2, 0x18, 0x53, 0x94, 0x46, 0x06, 0xD0, 29 0xF6, 0x19, 0xC8, 0xF8, 0x19, 0xF2, 0x18, 0x53, 0x94, 0x46, 0x06, 0xD0,
22 0x62, 0x50, 0x33, 0x4B, 0x02, 0x3C, 0x52, 0x30, 0x03, 0x8B, 0x3B, 0xF9, 30 0x62, 0x50, 0x33, 0x4B, 0x02, 0x3C, 0x52, 0x30, 0x03, 0x8B, 0x3B, 0xF9,
@@ -24,11 +32,13 @@ static unsigned char dsa512_p[] = {
24 0x96, 0xE4, 0x37, 0x33, 0xBB, 0x2D, 0x5A, 0xD7, 0x5A, 0x11, 0x40, 0x66, 32 0x96, 0xE4, 0x37, 0x33, 0xBB, 0x2D, 0x5A, 0xD7, 0x5A, 0x11, 0x40, 0x66,
25 0xA2, 0x76, 0x7D, 0x31, 33 0xA2, 0x76, 0x7D, 0x31,
26}; 34};
27static unsigned char dsa512_q[] = { 35
36static const unsigned char dsa512_q[] = {
28 0xFB, 0x53, 0xEF, 0x50, 0xB4, 0x40, 0x92, 0x31, 0x56, 0x86, 0x53, 0x7A, 37 0xFB, 0x53, 0xEF, 0x50, 0xB4, 0x40, 0x92, 0x31, 0x56, 0x86, 0x53, 0x7A,
29 0xE8, 0x8B, 0x22, 0x9A, 0x49, 0xFB, 0x71, 0x8F, 38 0xE8, 0x8B, 0x22, 0x9A, 0x49, 0xFB, 0x71, 0x8F,
30}; 39};
31static unsigned char dsa512_g[] = { 40
41static const unsigned char dsa512_g[] = {
32 0x83, 0x3E, 0x88, 0xE5, 0xC5, 0x89, 0x73, 0xCE, 0x3B, 0x6C, 0x01, 0x49, 42 0x83, 0x3E, 0x88, 0xE5, 0xC5, 0x89, 0x73, 0xCE, 0x3B, 0x6C, 0x01, 0x49,
33 0xBF, 0xB3, 0xC7, 0x9F, 0x0A, 0xEA, 0x44, 0x91, 0xE5, 0x30, 0xAA, 0xD9, 43 0xBF, 0xB3, 0xC7, 0x9F, 0x0A, 0xEA, 0x44, 0x91, 0xE5, 0x30, 0xAA, 0xD9,
34 0xBE, 0x5B, 0x5F, 0xB7, 0x10, 0xD7, 0x89, 0xB7, 0x8E, 0x74, 0xFB, 0xCF, 44 0xBE, 0x5B, 0x5F, 0xB7, 0x10, 0xD7, 0x89, 0xB7, 0x8E, 0x74, 0xFB, 0xCF,
@@ -38,48 +48,19 @@ static unsigned char dsa512_g[] = {
38}; 48};
39 49
40DSA * 50DSA *
41get_dsa512() 51get_dsa512(void)
42{ 52{
43 DSA *dsa; 53 return get_dsa(dsa512_priv, sizeof(dsa512_priv),
44 BIGNUM *priv_key = NULL, *pub_key = NULL; 54 dsa512_pub, sizeof(dsa512_pub), dsa512_p, sizeof(dsa512_p),
45 BIGNUM *p = NULL, *q = NULL, *g = NULL; 55 dsa512_q, sizeof(dsa512_q), dsa512_g, sizeof(dsa512_g));
46
47 if ((dsa = DSA_new()) == NULL)
48 goto err;
49
50 priv_key = BN_bin2bn(dsa512_priv, sizeof(dsa512_priv), NULL);
51 pub_key = BN_bin2bn(dsa512_pub, sizeof(dsa512_pub), NULL);
52 if (priv_key == NULL || pub_key == NULL)
53 goto err;
54 if (!DSA_set0_key(dsa, pub_key, priv_key))
55 goto err;
56
57 p = BN_bin2bn(dsa512_p, sizeof(dsa512_p), NULL);
58 q = BN_bin2bn(dsa512_q, sizeof(dsa512_q), NULL);
59 g = BN_bin2bn(dsa512_g, sizeof(dsa512_g), NULL);
60 if (p == NULL || q == NULL || g == NULL)
61 goto err;
62 if (!DSA_set0_pqg(dsa, p, q, g))
63 goto err;
64
65 return dsa;
66
67 err:
68 DSA_free(dsa);
69 BN_free(priv_key);
70 BN_free(pub_key);
71 BN_free(p);
72 BN_free(q);
73 BN_free(g);
74
75 return NULL;
76} 56}
77 57
78static unsigned char dsa1024_priv[] = { 58static const unsigned char dsa1024_priv[] = {
79 0x7d, 0x21, 0xda, 0xbb, 0x62, 0x15, 0x47, 0x36, 0x07, 0x67, 0x12, 0xe8, 59 0x7d, 0x21, 0xda, 0xbb, 0x62, 0x15, 0x47, 0x36, 0x07, 0x67, 0x12, 0xe8,
80 0x8c, 0xaa, 0x1c, 0xcd, 0x38, 0x12, 0x61, 0x18, 60 0x8c, 0xaa, 0x1c, 0xcd, 0x38, 0x12, 0x61, 0x18,
81}; 61};
82static unsigned char dsa1024_pub[] = { 62
63static const unsigned char dsa1024_pub[] = {
83 0x3c, 0x4e, 0x9c, 0x2a, 0x7f, 0x16, 0xc1, 0x25, 0xeb, 0xac, 0x78, 0x63, 64 0x3c, 0x4e, 0x9c, 0x2a, 0x7f, 0x16, 0xc1, 0x25, 0xeb, 0xac, 0x78, 0x63,
84 0x90, 0x14, 0x8c, 0x8b, 0xf4, 0x68, 0x43, 0x3c, 0x2d, 0xee, 0x65, 0x50, 65 0x90, 0x14, 0x8c, 0x8b, 0xf4, 0x68, 0x43, 0x3c, 0x2d, 0xee, 0x65, 0x50,
85 0x7d, 0x9c, 0x8f, 0x8c, 0x8a, 0x51, 0xd6, 0x11, 0x2b, 0x99, 0xaf, 0x1e, 66 0x7d, 0x9c, 0x8f, 0x8c, 0x8a, 0x51, 0xd6, 0x11, 0x2b, 0x99, 0xaf, 0x1e,
@@ -92,7 +73,8 @@ static unsigned char dsa1024_pub[] = {
92 0x2c, 0x0b, 0xc3, 0x13, 0x50, 0x61, 0xe5, 0xad, 0xbd, 0x36, 0xb8, 0x97, 73 0x2c, 0x0b, 0xc3, 0x13, 0x50, 0x61, 0xe5, 0xad, 0xbd, 0x36, 0xb8, 0x97,
93 0x4e, 0x40, 0x7d, 0xe8, 0x83, 0x0d, 0xbc, 0x4b 74 0x4e, 0x40, 0x7d, 0xe8, 0x83, 0x0d, 0xbc, 0x4b
94}; 75};
95static unsigned char dsa1024_p[] = { 76
77static const unsigned char dsa1024_p[] = {
96 0xA7, 0x3F, 0x6E, 0x85, 0xBF, 0x41, 0x6A, 0x29, 0x7D, 0xF0, 0x9F, 0x47, 78 0xA7, 0x3F, 0x6E, 0x85, 0xBF, 0x41, 0x6A, 0x29, 0x7D, 0xF0, 0x9F, 0x47,
97 0x19, 0x30, 0x90, 0x9A, 0x09, 0x1D, 0xDA, 0x6A, 0x33, 0x1E, 0xC5, 0x3D, 79 0x19, 0x30, 0x90, 0x9A, 0x09, 0x1D, 0xDA, 0x6A, 0x33, 0x1E, 0xC5, 0x3D,
98 0x86, 0x96, 0xB3, 0x15, 0xE0, 0x53, 0x2E, 0x8F, 0xE0, 0x59, 0x82, 0x73, 80 0x86, 0x96, 0xB3, 0x15, 0xE0, 0x53, 0x2E, 0x8F, 0xE0, 0x59, 0x82, 0x73,
@@ -105,11 +87,13 @@ static unsigned char dsa1024_p[] = {
105 0x39, 0x4F, 0xFD, 0xB7, 0x43, 0x1F, 0xB5, 0xA4, 0x65, 0x6F, 0xCD, 0x80, 87 0x39, 0x4F, 0xFD, 0xB7, 0x43, 0x1F, 0xB5, 0xA4, 0x65, 0x6F, 0xCD, 0x80,
106 0x11, 0xE4, 0x70, 0x95, 0x5B, 0x50, 0xCD, 0x49, 88 0x11, 0xE4, 0x70, 0x95, 0x5B, 0x50, 0xCD, 0x49,
107}; 89};
108static unsigned char dsa1024_q[] = { 90
91static const unsigned char dsa1024_q[] = {
109 0xF7, 0x07, 0x31, 0xED, 0xFA, 0x6C, 0x06, 0x03, 0xD5, 0x85, 0x8A, 0x1C, 92 0xF7, 0x07, 0x31, 0xED, 0xFA, 0x6C, 0x06, 0x03, 0xD5, 0x85, 0x8A, 0x1C,
110 0xAC, 0x9C, 0x65, 0xE7, 0x50, 0x66, 0x65, 0x6F, 93 0xAC, 0x9C, 0x65, 0xE7, 0x50, 0x66, 0x65, 0x6F,
111}; 94};
112static unsigned char dsa1024_g[] = { 95
96static const unsigned char dsa1024_g[] = {
113 0x4D, 0xDF, 0x4C, 0x03, 0xA6, 0x91, 0x8A, 0xF5, 0x19, 0x6F, 0x50, 0x46, 97 0x4D, 0xDF, 0x4C, 0x03, 0xA6, 0x91, 0x8A, 0xF5, 0x19, 0x6F, 0x50, 0x46,
114 0x25, 0x99, 0xE5, 0x68, 0x6F, 0x30, 0xE3, 0x69, 0xE1, 0xE5, 0xB3, 0x5D, 98 0x25, 0x99, 0xE5, 0x68, 0x6F, 0x30, 0xE3, 0x69, 0xE1, 0xE5, 0xB3, 0x5D,
115 0x98, 0xBB, 0x28, 0x86, 0x48, 0xFC, 0xDE, 0x99, 0x04, 0x3F, 0x5F, 0x88, 99 0x98, 0xBB, 0x28, 0x86, 0x48, 0xFC, 0xDE, 0x99, 0x04, 0x3F, 0x5F, 0x88,
@@ -124,49 +108,19 @@ static unsigned char dsa1024_g[] = {
124}; 108};
125 109
126DSA * 110DSA *
127get_dsa1024() 111get_dsa1024(void)
128{ 112{
129 DSA *dsa; 113 return get_dsa(dsa1024_priv, sizeof(dsa1024_priv),
130 BIGNUM *priv_key = NULL, *pub_key = NULL; 114 dsa1024_pub, sizeof(dsa1024_pub), dsa1024_p, sizeof(dsa1024_p),
131 BIGNUM *p = NULL, *q = NULL, *g = NULL; 115 dsa1024_q, sizeof(dsa1024_q), dsa1024_g, sizeof(dsa1024_g));
132
133 if ((dsa = DSA_new()) == NULL)
134 goto err;
135
136 priv_key = BN_bin2bn(dsa1024_priv, sizeof(dsa1024_priv), NULL);
137 pub_key = BN_bin2bn(dsa1024_pub, sizeof(dsa1024_pub), NULL);
138 if (priv_key == NULL || pub_key == NULL)
139 goto err;
140 if (!DSA_set0_key(dsa, pub_key, priv_key))
141 goto err;
142
143 p = BN_bin2bn(dsa1024_p, sizeof(dsa1024_p), NULL);
144 q = BN_bin2bn(dsa1024_q, sizeof(dsa1024_q), NULL);
145 g = BN_bin2bn(dsa1024_g, sizeof(dsa1024_g), NULL);
146 if (p == NULL || q == NULL || g == NULL)
147 goto err;
148
149 if (!DSA_set0_pqg(dsa, p, q, g))
150 goto err;
151
152 return dsa;
153
154 err:
155 DSA_free(dsa);
156 BN_free(priv_key);
157 BN_free(pub_key);
158 BN_free(p);
159 BN_free(q);
160 BN_free(g);
161
162 return NULL;
163} 116}
164 117
165static unsigned char dsa2048_priv[] = { 118static const unsigned char dsa2048_priv[] = {
166 0x32, 0x67, 0x92, 0xf6, 0xc4, 0xe2, 0xe2, 0xe8, 0xa0, 0x8b, 0x6b, 0x45, 119 0x32, 0x67, 0x92, 0xf6, 0xc4, 0xe2, 0xe2, 0xe8, 0xa0, 0x8b, 0x6b, 0x45,
167 0x0c, 0x8a, 0x76, 0xb0, 0xee, 0xcf, 0x91, 0xa7, 120 0x0c, 0x8a, 0x76, 0xb0, 0xee, 0xcf, 0x91, 0xa7,
168}; 121};
169static unsigned char dsa2048_pub[] = { 122
123static const unsigned char dsa2048_pub[] = {
170 0x17, 0x8f, 0xa8, 0x11, 0x84, 0x92, 0xec, 0x83, 0x47, 0xc7, 0x6a, 0xb0, 124 0x17, 0x8f, 0xa8, 0x11, 0x84, 0x92, 0xec, 0x83, 0x47, 0xc7, 0x6a, 0xb0,
171 0x92, 0xaf, 0x5a, 0x20, 0x37, 0xa3, 0x64, 0x79, 0xd2, 0xd0, 0x3d, 0xcd, 125 0x92, 0xaf, 0x5a, 0x20, 0x37, 0xa3, 0x64, 0x79, 0xd2, 0xd0, 0x3d, 0xcd,
172 0xe0, 0x61, 0x88, 0x88, 0x21, 0xcc, 0x74, 0x5d, 0xce, 0x4c, 0x51, 0x47, 126 0xe0, 0x61, 0x88, 0x88, 0x21, 0xcc, 0x74, 0x5d, 0xce, 0x4c, 0x51, 0x47,
@@ -190,7 +144,8 @@ static unsigned char dsa2048_pub[] = {
190 0x72, 0xf4, 0x10, 0xe6, 0x8d, 0x52, 0x16, 0x7f, 0xf2, 0xc9, 0xf8, 0x33, 144 0x72, 0xf4, 0x10, 0xe6, 0x8d, 0x52, 0x16, 0x7f, 0xf2, 0xc9, 0xf8, 0x33,
191 0x8b, 0x33, 0xb7, 0xce, 145 0x8b, 0x33, 0xb7, 0xce,
192}; 146};
193static unsigned char dsa2048_p[] = { 147
148static const unsigned char dsa2048_p[] = {
194 0xA0, 0x25, 0xFA, 0xAD, 0xF4, 0x8E, 0xB9, 0xE5, 0x99, 0xF3, 0x5D, 0x6F, 149 0xA0, 0x25, 0xFA, 0xAD, 0xF4, 0x8E, 0xB9, 0xE5, 0x99, 0xF3, 0x5D, 0x6F,
195 0x4F, 0x83, 0x34, 0xE2, 0x7E, 0xCF, 0x6F, 0xBF, 0x30, 0xAF, 0x6F, 0x81, 150 0x4F, 0x83, 0x34, 0xE2, 0x7E, 0xCF, 0x6F, 0xBF, 0x30, 0xAF, 0x6F, 0x81,
196 0xEB, 0xF8, 0xC4, 0x13, 0xD9, 0xA0, 0x5D, 0x8B, 0x5C, 0x8E, 0xDC, 0xC2, 151 0xEB, 0xF8, 0xC4, 0x13, 0xD9, 0xA0, 0x5D, 0x8B, 0x5C, 0x8E, 0xDC, 0xC2,
@@ -214,11 +169,13 @@ static unsigned char dsa2048_p[] = {
214 0x5D, 0xA7, 0xD8, 0x54, 0xC3, 0x65, 0x7D, 0xC3, 0xB0, 0x1D, 0xBF, 0xAE, 169 0x5D, 0xA7, 0xD8, 0x54, 0xC3, 0x65, 0x7D, 0xC3, 0xB0, 0x1D, 0xBF, 0xAE,
215 0xF8, 0x68, 0xCF, 0x9B, 170 0xF8, 0x68, 0xCF, 0x9B,
216}; 171};
217static unsigned char dsa2048_q[] = { 172
173static const unsigned char dsa2048_q[] = {
218 0x97, 0xE7, 0x33, 0x4D, 0xD3, 0x94, 0x3E, 0x0B, 0xDB, 0x62, 0x74, 0xC6, 174 0x97, 0xE7, 0x33, 0x4D, 0xD3, 0x94, 0x3E, 0x0B, 0xDB, 0x62, 0x74, 0xC6,
219 0xA1, 0x08, 0xDD, 0x19, 0xA3, 0x75, 0x17, 0x1B, 175 0xA1, 0x08, 0xDD, 0x19, 0xA3, 0x75, 0x17, 0x1B,
220}; 176};
221static unsigned char dsa2048_g[] = { 177
178static const unsigned char dsa2048_g[] = {
222 0x2C, 0x78, 0x16, 0x59, 0x34, 0x63, 0xF4, 0xF3, 0x92, 0xFC, 0xB5, 0xA5, 179 0x2C, 0x78, 0x16, 0x59, 0x34, 0x63, 0xF4, 0xF3, 0x92, 0xFC, 0xB5, 0xA5,
223 0x4F, 0x13, 0xDE, 0x2F, 0x1C, 0xA4, 0x3C, 0xAE, 0xAD, 0x38, 0x3F, 0x7E, 180 0x4F, 0x13, 0xDE, 0x2F, 0x1C, 0xA4, 0x3C, 0xAE, 0xAD, 0x38, 0x3F, 0x7E,
224 0x90, 0xBF, 0x96, 0xA6, 0xAE, 0x25, 0x90, 0x72, 0xF5, 0x8E, 0x80, 0x0C, 181 0x90, 0xBF, 0x96, 0xA6, 0xAE, 0x25, 0x90, 0x72, 0xF5, 0x8E, 0x80, 0x0C,
@@ -244,7 +201,19 @@ static unsigned char dsa2048_g[] = {
244}; 201};
245 202
246DSA * 203DSA *
247get_dsa2048() 204get_dsa2048(void)
205{
206 return get_dsa(dsa2048_priv, sizeof(dsa2048_priv),
207 dsa2048_pub, sizeof(dsa2048_pub), dsa2048_p, sizeof(dsa2048_p),
208 dsa2048_q, sizeof(dsa2048_q), dsa2048_g, sizeof(dsa2048_g));
209}
210
211DSA *
212get_dsa(const unsigned char *priv, size_t priv_size,
213 const unsigned char *pub, size_t pub_size,
214 const unsigned char *p, size_t p_size,
215 const unsigned char *q, size_t q_size,
216 const unsigned char *g, size_t g_size)
248{ 217{
249 DSA *dsa; 218 DSA *dsa;
250 BIGNUM *priv_key = NULL, *pub_key = NULL; 219 BIGNUM *priv_key = NULL, *pub_key = NULL;
@@ -252,16 +221,16 @@ get_dsa2048()
252 221
253 if ((dsa = DSA_new()) == NULL) 222 if ((dsa = DSA_new()) == NULL)
254 return (NULL); 223 return (NULL);
255 priv_key = BN_bin2bn(dsa2048_priv, sizeof(dsa2048_priv), NULL); 224 priv_key = BN_bin2bn(priv, priv_size, NULL);
256 pub_key = BN_bin2bn(dsa2048_pub, sizeof(dsa2048_pub), NULL); 225 pub_key = BN_bin2bn(pub, pub_size, NULL);
257 if (priv_key == NULL || pub_key == NULL) 226 if (priv_key == NULL || pub_key == NULL)
258 goto err; 227 goto err;
259 if (!DSA_set0_key(dsa, pub_key, priv_key)) 228 if (!DSA_set0_key(dsa, pub_key, priv_key))
260 goto err; 229 goto err;
261 230
262 p = BN_bin2bn(dsa2048_p, sizeof(dsa2048_p), NULL); 231 p = BN_bin2bn(p, p_size, NULL);
263 q = BN_bin2bn(dsa2048_q, sizeof(dsa2048_q), NULL); 232 q = BN_bin2bn(q, q_size, NULL);
264 g = BN_bin2bn(dsa2048_g, sizeof(dsa2048_g), NULL); 233 g = BN_bin2bn(g, g_size, NULL);
265 if (p == NULL || q == NULL || g == NULL) 234 if (p == NULL || q == NULL || g == NULL)
266 goto err; 235 goto err;
267 if (!DSA_set0_pqg(dsa, p, q, g)) 236 if (!DSA_set0_pqg(dsa, p, q, g))