Compare commits
907 Commits
main
...
OpenSSL-fi
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0b603bcc34 | ||
![]() |
8de14571d6 | ||
![]() |
f47d923d83 | ||
![]() |
6d0a5219aa | ||
![]() |
63fc9883c5 | ||
![]() |
d1321464f6 | ||
![]() |
a0055fbef4 | ||
![]() |
2f9048b8a1 | ||
![]() |
d73ed541db | ||
![]() |
e6e5592a50 | ||
![]() |
663bbb6367 | ||
![]() |
98ced05c56 | ||
![]() |
5b75e1cff4 | ||
![]() |
f36a8c2060 | ||
![]() |
90ac9ec264 | ||
![]() |
fe5c4c885b | ||
![]() |
1950e8acea | ||
![]() |
437bafa5cc | ||
![]() |
7c78f06301 | ||
![]() |
b27278d0cf | ||
![]() |
24a69a8196 | ||
![]() |
b3049d696b | ||
![]() |
77b265f48c | ||
![]() |
735b9eeed5 | ||
![]() |
67c31c4b61 | ||
![]() |
0406ce2646 | ||
![]() |
76108ba7eb | ||
![]() |
4d27e3d339 | ||
![]() |
7d59e441ca | ||
![]() |
3e3c47d5d5 | ||
![]() |
03b7b4690c | ||
![]() |
0fd9322af1 | ||
![]() |
7016b1952e | ||
![]() |
ff3e014820 | ||
![]() |
50cd0f0eb3 | ||
![]() |
32098b7565 | ||
![]() |
bf4131fbf9 | ||
![]() |
2ac869590f | ||
![]() |
4742bc0f6f | ||
![]() |
02e483d236 | ||
![]() |
1a58139aaa | ||
![]() |
a32f4770e9 | ||
![]() |
086d475ffb | ||
![]() |
7f1288da93 | ||
![]() |
0a6e92a88f | ||
![]() |
36eaa70621 | ||
![]() |
d7dc9a7ce3 | ||
![]() |
319e19db9c | ||
![]() |
ef85b85b12 | ||
![]() |
4d4d27a2a0 | ||
![]() |
8f0d89092e | ||
![]() |
c4a2cab0bb | ||
![]() |
6d73d35f4f | ||
![]() |
f53e66af67 | ||
![]() |
5cbe626d26 | ||
![]() |
fe93a60b00 | ||
![]() |
5e10ca5618 | ||
![]() |
4e8da09800 | ||
![]() |
203ae57fe0 | ||
![]() |
529c33f1e8 | ||
![]() |
af18a34478 | ||
![]() |
da5c0127ac | ||
![]() |
ce0e12d29a | ||
![]() |
87339c6290 | ||
![]() |
0a22e7446b | ||
![]() |
b56cb7c6ea | ||
![]() |
cd5ab329f2 | ||
![]() |
80106dc5fb | ||
![]() |
0fa79cbe17 | ||
![]() |
be22102d82 | ||
![]() |
1ad95f8217 | ||
![]() |
5f1211834f | ||
![]() |
28feb1f8da | ||
![]() |
9596d1e63b | ||
![]() |
626bebeede | ||
![]() |
dfe42a131f | ||
![]() |
1970bc2703 | ||
![]() |
08debe11f8 | ||
![]() |
9c7e058216 | ||
![]() |
b01e8b2063 | ||
![]() |
100868d1cf | ||
![]() |
0712210f03 | ||
![]() |
8431a6aaf5 | ||
![]() |
2b4a783f66 | ||
![]() |
25df4a81cc | ||
![]() |
23830280e4 | ||
![]() |
bfdfc67b01 | ||
![]() |
4764a0543d | ||
![]() |
d92b0efbb8 | ||
![]() |
b329cc2410 | ||
![]() |
ed31fe68ff | ||
![]() |
8fa41c6696 | ||
![]() |
707a028c8b | ||
![]() |
9593bc46bf | ||
![]() |
5c65d38219 | ||
![]() |
1b8b2d9300 | ||
![]() |
4e1778b0d8 | ||
![]() |
982c67fbaa | ||
![]() |
2ef2463643 | ||
![]() |
585eb117d4 | ||
![]() |
7c27ac1030 | ||
![]() |
475631c31a | ||
![]() |
218ba8cb9d | ||
![]() |
e881c00515 | ||
![]() |
6c3fca2b10 | ||
![]() |
0225c7a41e | ||
![]() |
a334b0436d | ||
![]() |
af13a3949d | ||
![]() |
ffc35e73b4 | ||
![]() |
a197212e0f | ||
![]() |
8944220221 | ||
![]() |
5fd76ba57a | ||
![]() |
df50ec372e | ||
![]() |
49fa74385d | ||
![]() |
899f528c1a | ||
![]() |
5faa5a9476 | ||
![]() |
ddb0cb5bfd | ||
![]() |
b2d65cbac7 | ||
![]() |
6be8288928 | ||
![]() |
9fe07b7cf0 | ||
![]() |
0c86c87c60 | ||
![]() |
e20d6ef3d6 | ||
![]() |
27f50994ff | ||
![]() |
53c381105a | ||
![]() |
33d0ef8fde | ||
![]() |
b2acf7a572 | ||
![]() |
e8d2d9478d | ||
![]() |
23b3b61921 | ||
![]() |
d265676989 | ||
![]() |
69fc3dff96 | ||
![]() |
667731b635 | ||
![]() |
a416ca47ac | ||
![]() |
2714e2ac89 | ||
![]() |
1139eeecbc | ||
![]() |
1b936a5e37 | ||
![]() |
0cca0fe0c2 | ||
![]() |
56474376dc | ||
![]() |
3e511f167e | ||
![]() |
282af42404 | ||
![]() |
a81f337331 | ||
![]() |
1729dca9a8 | ||
![]() |
9719193222 | ||
![]() |
e6fa7c1276 | ||
![]() |
cf7053430d | ||
![]() |
ff03c6bc97 | ||
![]() |
82c8b6b74d | ||
![]() |
cb6fdc3a49 | ||
![]() |
8c3b5d5f27 | ||
![]() |
dc83f2e312 | ||
![]() |
6693e26927 | ||
![]() |
793364457b | ||
![]() |
6b05350495 | ||
![]() |
daec9a56a0 | ||
![]() |
5c77786a55 | ||
![]() |
42bc3582a9 | ||
![]() |
2050f6514f | ||
![]() |
5068d7dda4 | ||
![]() |
55768cf773 | ||
![]() |
6c69dcd9f5 | ||
![]() |
ad4297dd9c | ||
![]() |
aeb9ccfaad | ||
![]() |
79b335a4b5 | ||
![]() |
6fd3f3260d | ||
![]() |
d9e262443c | ||
![]() |
51c3bb3b98 | ||
![]() |
7d608f9e32 | ||
![]() |
295de18c8a | ||
![]() |
3370b694b9 | ||
![]() |
3380c52f15 | ||
![]() |
1364e6f1ac | ||
![]() |
c5ac2aa62c | ||
![]() |
392a0345de | ||
![]() |
5c2fc73e7b | ||
![]() |
402b951804 | ||
![]() |
5848d13fed | ||
![]() |
5dd24ead57 | ||
![]() |
d2cb94952a | ||
![]() |
0615396d2d | ||
![]() |
82877ea449 | ||
![]() |
81fae49db9 | ||
![]() |
74ff8dc975 | ||
![]() |
ac319217d0 | ||
![]() |
cdb13ae8d0 | ||
![]() |
ab700807d9 | ||
![]() |
744b91bb9f | ||
![]() |
d69f85bf15 | ||
![]() |
52ee969e29 | ||
![]() |
55f0501201 | ||
![]() |
b2710ee19a | ||
![]() |
bbfcc4724d | ||
![]() |
c31cc72d79 | ||
![]() |
d1049ad93e | ||
![]() |
5f4cc234fb | ||
![]() |
d31a13953c | ||
![]() |
28f5873179 | ||
![]() |
8f813338f1 | ||
![]() |
6555dfa486 | ||
![]() |
5eee0253e5 | ||
![]() |
594c723f98 | ||
![]() |
f418265865 | ||
![]() |
53707e2eec | ||
![]() |
fde794e898 | ||
![]() |
082f19b42d | ||
![]() |
e31c620686 | ||
![]() |
dcc309548e | ||
![]() |
570253315f | ||
![]() |
8eae0ff0f7 | ||
![]() |
5dcdac6e4e | ||
![]() |
5c4a07551e | ||
![]() |
eea3fce854 | ||
![]() |
215c49d032 | ||
![]() |
923df53e25 | ||
![]() |
b443a0ea5d | ||
![]() |
1a684d0020 | ||
![]() |
1f4a5a3339 | ||
![]() |
dc3b721fa0 | ||
![]() |
4479ce9c1c | ||
![]() |
4a0d3530e0 | ||
![]() |
9907d2992d | ||
![]() |
20fb51b1a7 | ||
![]() |
551bfa60e0 | ||
![]() |
9d9224f184 | ||
![]() |
78d4d87e39 | ||
![]() |
6211633273 | ||
![]() |
3a4cf918bf | ||
![]() |
e25eb309ec | ||
![]() |
ffa2b2aa7d | ||
![]() |
a77a95584d | ||
![]() |
68bb98159f | ||
![]() |
8e6905d238 | ||
![]() |
1a8521ff24 | ||
![]() |
9d5460d72d | ||
![]() |
35e59297fc | ||
![]() |
9b945233b1 | ||
![]() |
b065dc2eee | ||
![]() |
66c4bb1a70 | ||
![]() |
36abe6fe61 | ||
![]() |
3c786aa6c8 | ||
![]() |
e5cce6d356 | ||
![]() |
723b7d81e4 | ||
![]() |
a3ddd7358b | ||
![]() |
45c027f31f | ||
![]() |
3b62e9eb0d | ||
![]() |
34a8c7ec87 | ||
![]() |
d4a6240005 | ||
![]() |
5c6f76da0a | ||
![]() |
4636341b05 | ||
![]() |
be3b770d8f | ||
![]() |
af32387b3f | ||
![]() |
115fc340cb | ||
![]() |
900f7a8776 | ||
![]() |
4877e30504 | ||
![]() |
4656ec3852 | ||
![]() |
e336441197 | ||
![]() |
20d6182f33 | ||
![]() |
aa145866f9 | ||
![]() |
fdff41e166 | ||
![]() |
07b4bc3979 | ||
![]() |
0c66d3ae37 | ||
![]() |
bd869183d5 | ||
![]() |
7e2bf83100 | ||
![]() |
25e52a78fb | ||
![]() |
47c4bb2ddf | ||
![]() |
951dfbb13a | ||
![]() |
81780a3b62 | ||
![]() |
c574d0cdf2 | ||
![]() |
c987c3f999 | ||
![]() |
1a5e414863 | ||
![]() |
ec3639385e | ||
![]() |
f01cfca6a4 | ||
![]() |
7d5af5e0fa | ||
![]() |
8fdb296cbd | ||
![]() |
879b30aaa3 | ||
![]() |
40ddcb717a | ||
![]() |
da1841a075 | ||
![]() |
0a0a10d127 | ||
![]() |
df20b6e79b | ||
![]() |
f4f1dc39e0 | ||
![]() |
340b4dd7df | ||
![]() |
4b9dcd821f | ||
![]() |
669c5c9380 | ||
![]() |
7f9aa6c59b | ||
![]() |
d9c06b56ca | ||
![]() |
d045e1d77e | ||
![]() |
6d14cc7ec1 | ||
![]() |
eb499b2854 | ||
![]() |
65a82ef6d7 | ||
![]() |
616f581650 | ||
![]() |
57e802656f | ||
![]() |
5d7f15daf8 | ||
![]() |
ec67e3b7e4 | ||
![]() |
0d3ff3c073 | ||
![]() |
325e48867c | ||
![]() |
8de95bc05b | ||
![]() |
5e3003bb52 | ||
![]() |
e6e3f38bfa | ||
![]() |
aa17ab7e57 | ||
![]() |
35908bd040 | ||
![]() |
4a9cfd763e | ||
![]() |
0e73294e26 | ||
![]() |
b610f46bae | ||
![]() |
1921a1adb2 | ||
![]() |
6d2cd23f40 | ||
![]() |
14fb67f28a | ||
![]() |
c552680473 | ||
![]() |
edbf9f878d | ||
![]() |
2745ddfc33 | ||
![]() |
808606034a | ||
![]() |
e18eef3d7a | ||
![]() |
e78fc11a95 | ||
![]() |
83231cb376 | ||
![]() |
986ad56124 | ||
![]() |
b723a7b11b | ||
![]() |
1b6b67b17e | ||
![]() |
1ee3236f72 | ||
![]() |
b03a4917be | ||
![]() |
84971b39f5 | ||
![]() |
5ab3e743f3 | ||
![]() |
1c5dc844e7 | ||
![]() |
f871949efd | ||
![]() |
eb2ec6bee9 | ||
![]() |
df22f59f6e | ||
![]() |
db0edc3273 | ||
![]() |
6300c14248 | ||
![]() |
d4426e79a7 | ||
![]() |
b095418d20 | ||
![]() |
d6fd880481 | ||
![]() |
cbb0b734c7 | ||
![]() |
f4bcd70f27 | ||
![]() |
6e16b45d9d | ||
![]() |
e09e7ab362 | ||
![]() |
d5cc2f19cd | ||
![]() |
b7a80146f4 | ||
![]() |
5586a71a6e | ||
![]() |
81418b7c77 | ||
![]() |
8bd0c77ae3 | ||
![]() |
e2217e7ed5 | ||
![]() |
51b75ea7ef | ||
![]() |
41d4d6721c | ||
![]() |
9d01d50459 | ||
![]() |
e27c67c5c5 | ||
![]() |
e7decd5f4d | ||
![]() |
38a3178185 | ||
![]() |
58828ae573 | ||
![]() |
6b5f5e3508 | ||
![]() |
f0ec771933 | ||
![]() |
22d1087e16 | ||
![]() |
9f85fcefdc | ||
![]() |
269d2575cd | ||
![]() |
0b8ed5de2d | ||
![]() |
c22684eac9 | ||
![]() |
c42cd4b831 | ||
![]() |
ab50cf18db | ||
![]() |
31c0a38482 | ||
![]() |
91c88deafe | ||
![]() |
a91cb15daa | ||
![]() |
d2890f6223 | ||
![]() |
1ce5bb27e4 | ||
![]() |
04262cee42 | ||
![]() |
a5a1e71e86 | ||
![]() |
06d2a382c4 | ||
![]() |
4630a51537 | ||
![]() |
01f2ee2bc6 | ||
![]() |
def5aefa7f | ||
![]() |
5ba7d69c66 | ||
![]() |
cf81dc74bd | ||
![]() |
46c646225d | ||
![]() |
d18c4d09d1 | ||
![]() |
e5ad779b69 | ||
![]() |
cb36743161 | ||
![]() |
fb3eab3562 | ||
![]() |
2724bcac2f | ||
![]() |
3431c07a66 | ||
![]() |
9abf011643 | ||
![]() |
75cdb055e6 | ||
![]() |
f4207058b8 | ||
![]() |
900b1eb869 | ||
![]() |
e3b61b1e57 | ||
![]() |
750779da07 | ||
![]() |
157f01a8ef | ||
![]() |
491923fde1 | ||
![]() |
273f5726a5 | ||
![]() |
a37778046d | ||
![]() |
8a087e57d2 | ||
![]() |
e384fd9418 | ||
![]() |
f6e32f9db4 | ||
![]() |
66bb600b05 | ||
![]() |
c3b2d69945 | ||
![]() |
619991cc3e | ||
![]() |
3c410172b7 | ||
![]() |
56319ad00e | ||
![]() |
f7832889d3 | ||
![]() |
46fdad292a | ||
![]() |
da99684a8e | ||
![]() |
2130ee35d9 | ||
![]() |
15f239a4a3 | ||
![]() |
223ab84726 | ||
![]() |
94d66c3182 | ||
![]() |
a0dd62bdb7 | ||
![]() |
fd6d2e0754 | ||
![]() |
4a4d3c02f2 | ||
![]() |
7abd533793 | ||
![]() |
b1816f93e1 | ||
![]() |
e1904f9eec | ||
![]() |
9f3d5018c4 | ||
![]() |
768729afbe | ||
![]() |
0c96e35c42 | ||
![]() |
72e2934909 | ||
![]() |
26d96f26da | ||
![]() |
5fcc83ed1e | ||
![]() |
9ecb20f1de | ||
![]() |
b611ff350c | ||
![]() |
7f790e0575 | ||
![]() |
dccf15ee25 | ||
![]() |
89d8a20f22 | ||
![]() |
782f8600fa | ||
![]() |
f2008fe3fd | ||
![]() |
70b3786ffe | ||
![]() |
b48fb91edd | ||
![]() |
8a19891b2a | ||
![]() |
f35d0948eb | ||
![]() |
d0f2c1bb81 | ||
![]() |
7ba410f9a5 | ||
![]() |
36c2be5645 | ||
![]() |
0869cd2676 | ||
![]() |
4ac5596a86 | ||
![]() |
4d018f7067 | ||
![]() |
3df76b15ed | ||
![]() |
46eaf3b0cc | ||
![]() |
9b3cce3d00 | ||
![]() |
9df2a00b94 | ||
![]() |
c8a2f669f3 | ||
![]() |
fbcf4bc1f2 | ||
![]() |
04a2a836f7 | ||
![]() |
ca08c064bb | ||
![]() |
02df47d349 | ||
![]() |
41c39e3366 | ||
![]() |
45803988ce | ||
![]() |
28251e7ff9 | ||
![]() |
217382d584 | ||
![]() |
82a2cb6f51 | ||
![]() |
611ed5f312 | ||
![]() |
27fbb5dbf4 | ||
![]() |
db8d9b7cf1 | ||
![]() |
60ec950517 | ||
![]() |
2cd4ebc01f | ||
![]() |
5f4dcaf781 | ||
![]() |
c55d882fab | ||
![]() |
8dc7450068 | ||
![]() |
2e885232c2 | ||
![]() |
970d9b3795 | ||
![]() |
2f58af0d85 | ||
![]() |
0ae50f19da | ||
![]() |
c4ac37361e | ||
![]() |
3152861e81 | ||
![]() |
a14afd0804 | ||
![]() |
25d5d1a60d | ||
![]() |
6ff58b9240 | ||
![]() |
99237262d4 | ||
![]() |
29982dfd15 | ||
![]() |
6c4da94687 | ||
![]() |
6986d0e6eb | ||
![]() |
bc9320452c | ||
![]() |
23d43aae27 | ||
![]() |
de71735e7c | ||
![]() |
05decf3638 | ||
![]() |
95bffa1a1f | ||
![]() |
974d52fdb8 | ||
![]() |
7614f0e55e | ||
![]() |
0632284f79 | ||
![]() |
ad4a89f070 | ||
![]() |
6104c49f31 | ||
![]() |
07fc760999 | ||
![]() |
cf6bc84148 | ||
![]() |
36d51bea93 | ||
![]() |
fc12885b1b | ||
![]() |
ec7033745e | ||
![]() |
9e31e63147 | ||
![]() |
feef17fd88 | ||
![]() |
817f011191 | ||
![]() |
98c045cf3a | ||
![]() |
8860f3a82a | ||
![]() |
43e9f4ca2f | ||
![]() |
586f843c76 | ||
![]() |
7cfc9e6d8c | ||
![]() |
4952ed0fa4 | ||
![]() |
a084185d76 | ||
![]() |
914b80d276 | ||
![]() |
282557da52 | ||
![]() |
5f649d583c | ||
![]() |
b98225ebf5 | ||
![]() |
abb0c2bba4 | ||
![]() |
b3bdb474a9 | ||
![]() |
d796e6acb7 | ||
![]() |
d3afc92bc9 | ||
![]() |
35a97b4b7b | ||
![]() |
f59463aad3 | ||
![]() |
ed656499c4 | ||
![]() |
63533e9a22 | ||
![]() |
20f7053254 | ||
![]() |
8b8ef74d39 | ||
![]() |
3bfe024d8d | ||
![]() |
063333e03d | ||
![]() |
0a0918ff38 | ||
![]() |
802c014656 | ||
![]() |
860841794d | ||
![]() |
2a87c31237 | ||
![]() |
da5f7fdcee | ||
![]() |
d8b408b1de | ||
![]() |
64932f9e4a | ||
![]() |
5a20efcf17 | ||
![]() |
2a2857bbc8 | ||
![]() |
1bef284ab1 | ||
![]() |
d8d0b6434f | ||
![]() |
416b6fd115 | ||
![]() |
f685cf920b | ||
![]() |
54f51116b2 | ||
![]() |
b0d90958fc | ||
![]() |
049ced2c2f | ||
![]() |
844b0e603b | ||
![]() |
75ef751e23 | ||
![]() |
c4f6e56fca | ||
![]() |
ff86d3d894 | ||
![]() |
85b4c03e33 | ||
![]() |
efaf159af6 | ||
![]() |
daa657fb78 | ||
![]() |
4685663d73 | ||
![]() |
ed1f716022 | ||
![]() |
d3205a4898 | ||
![]() |
86731ce2c6 | ||
![]() |
1399309624 | ||
![]() |
cb59297438 | ||
![]() |
5824f6bc06 | ||
![]() |
5ce7090d54 | ||
![]() |
7306ab29bc | ||
![]() |
3a8b42f291 | ||
![]() |
e4c25383f2 | ||
![]() |
e734dcc2c7 | ||
![]() |
0fce007b8e | ||
![]() |
5a053a3a07 | ||
![]() |
3b2ba5f7fb | ||
![]() |
7f622f6c04 | ||
![]() |
801136bcc2 | ||
![]() |
3c0e39c539 | ||
![]() |
19fddebf0e | ||
![]() |
9eaf7e14c7 | ||
![]() |
0e441bc103 | ||
![]() |
cd9911fdf8 | ||
![]() |
6086422193 | ||
![]() |
9ddb11f11c | ||
![]() |
7a20cabd03 | ||
![]() |
9dc4ca4507 | ||
![]() |
62fea98b4f | ||
![]() |
7ae4eac5b6 | ||
![]() |
fcf8ae5e2b | ||
![]() |
55b9a7938b | ||
![]() |
cf1546a60e | ||
![]() |
e7eec05af0 | ||
![]() |
98e986141b | ||
![]() |
d7e35e0371 | ||
![]() |
222f224664 | ||
![]() |
62b6cd007f | ||
![]() |
1682e8fb12 | ||
![]() |
984aefe0e8 | ||
![]() |
2d54cc69c9 | ||
![]() |
2dd8278de8 | ||
![]() |
e0d8ac972e | ||
![]() |
ec03812fb0 | ||
![]() |
93cf2b17bf | ||
![]() |
77ef1a989d | ||
![]() |
423c7ac6c6 | ||
![]() |
2c368ef148 | ||
![]() |
b3c7162fd0 | ||
![]() |
67865069eb | ||
![]() |
1896a9be60 | ||
![]() |
b5b2c037c1 | ||
![]() |
1957924d51 | ||
![]() |
104a66f256 | ||
![]() |
3de6d65ea3 | ||
![]() |
fdb0a6e004 | ||
![]() |
87b857b6bf | ||
![]() |
b18165301d | ||
![]() |
097e65944a | ||
![]() |
0cdd29ea78 | ||
![]() |
7dec24688f | ||
![]() |
e62fa54811 | ||
![]() |
1614174e79 | ||
![]() |
f95d097359 | ||
![]() |
3c6ab9aad9 | ||
![]() |
4913b88f70 | ||
![]() |
273157153c | ||
![]() |
fb5156ff38 | ||
![]() |
2a824402f3 | ||
![]() |
86a249fe4f | ||
![]() |
6cae8221c9 | ||
![]() |
750cb3d248 | ||
![]() |
f254b540b8 | ||
![]() |
11024f252e | ||
![]() |
9d5cba17ba | ||
![]() |
1d01c9d43d | ||
![]() |
e32ea81876 | ||
![]() |
ef8a18f49b | ||
![]() |
b914049c53 | ||
![]() |
dabaea8048 | ||
![]() |
09c1a425a9 | ||
![]() |
8c6fed007f | ||
![]() |
2e39604021 | ||
![]() |
fbfb947b21 | ||
![]() |
8b963f4ba4 | ||
![]() |
9152f07eaf | ||
![]() |
35f70c09f5 | ||
![]() |
cc4cba7b5d | ||
![]() |
6b695fefd0 | ||
![]() |
910d193029 | ||
![]() |
f18dd687c8 | ||
![]() |
50d5376698 | ||
![]() |
5b9b62a7db | ||
![]() |
c0e29e5b01 | ||
![]() |
2f03129d46 | ||
![]() |
b44e2d3416 | ||
![]() |
564915681c | ||
![]() |
a24b7eeb87 | ||
![]() |
0215c01861 | ||
![]() |
beae6324e5 | ||
![]() |
71a61c573e | ||
![]() |
6b3b632767 | ||
![]() |
2a2fa04b7b | ||
![]() |
79b81d194b | ||
![]() |
ef04c9aff8 | ||
![]() |
7f85197c10 | ||
![]() |
ff0bfe64af | ||
![]() |
44b3a3a5e6 | ||
![]() |
7e3033aa93 | ||
![]() |
8bdbf50772 | ||
![]() |
ec33a76641 | ||
![]() |
00ce9376c7 | ||
![]() |
46e7a9797e | ||
![]() |
7006c4ac88 | ||
![]() |
a50a2126cf | ||
![]() |
07f7b4b470 | ||
![]() |
7e726e42f4 | ||
![]() |
40ba0257de | ||
![]() |
3fbd5f9fea | ||
![]() |
57b2246d35 | ||
![]() |
2a5b22d6f9 | ||
![]() |
f247dc7522 | ||
![]() |
e6531253e2 | ||
![]() |
c938babf00 | ||
![]() |
bf3900020f | ||
![]() |
586df3bb7f | ||
![]() |
c4b13b0268 | ||
![]() |
daef72316f | ||
![]() |
1f93c96e63 | ||
![]() |
8aa9c79276 | ||
![]() |
09a7f2e734 | ||
![]() |
b2d27e376d | ||
![]() |
644c4af11e | ||
![]() |
ca3dc3a0a0 | ||
![]() |
2b975dfd5b | ||
![]() |
0932892278 | ||
![]() |
fe0b3d98c2 | ||
![]() |
8d56c8b51c | ||
![]() |
d8e6409336 | ||
![]() |
a4ae746656 | ||
![]() |
331a0a7b9b | ||
![]() |
c630a3e8d6 | ||
![]() |
7435d89edf | ||
![]() |
14557c8be4 | ||
![]() |
98b4995bad | ||
![]() |
3000bdcc3a | ||
![]() |
cbe77a6753 | ||
![]() |
c58a1f76f8 | ||
![]() |
ecf2875ebf | ||
![]() |
ce2c19e357 | ||
![]() |
1b1081a3ed | ||
![]() |
37b200389a | ||
![]() |
6b5a8f3a22 | ||
![]() |
0b18d8b0c7 | ||
![]() |
3d187ede47 | ||
![]() |
f3b9c34515 | ||
![]() |
c923394924 | ||
![]() |
d9dbd24db5 | ||
![]() |
b135819d71 | ||
![]() |
cbcbd07da2 | ||
![]() |
24f6ab73a7 | ||
![]() |
5e88347e1b | ||
![]() |
cac0d4ee6f | ||
![]() |
428759b3d4 | ||
![]() |
898d3ecce0 | ||
![]() |
004f16f6c4 | ||
![]() |
4e2a0e58f2 | ||
![]() |
39d29195a7 | ||
![]() |
727c9b8027 | ||
![]() |
bd4e9b0512 | ||
![]() |
7844ff735f | ||
![]() |
49e96badcf | ||
![]() |
eb6a81bacc | ||
![]() |
6687f12988 | ||
![]() |
fcd12fc0f1 | ||
![]() |
0fb4d54068 | ||
![]() |
830a468a23 | ||
![]() |
af3ca7b4a9 | ||
![]() |
7a6bb17255 | ||
![]() |
bc6d459a6e | ||
![]() |
ff7f34e353 | ||
![]() |
2e3d79aaec | ||
![]() |
8a41bcc934 | ||
![]() |
e2414b41ad | ||
![]() |
266958bce7 | ||
![]() |
bc5354cbf0 | ||
![]() |
cc4997843e | ||
![]() |
ab95eac286 | ||
![]() |
1cd76233d1 | ||
![]() |
3d5afc8b83 | ||
![]() |
d28b7799dd | ||
![]() |
b0fb889c29 | ||
![]() |
460e80bd1d | ||
![]() |
bc1e96e942 | ||
![]() |
7ea61df414 | ||
![]() |
431712293d | ||
![]() |
335ed97263 | ||
![]() |
e00b165e9b | ||
![]() |
5467ddf0e1 | ||
![]() |
7a37dd92ed | ||
![]() |
d0c11e9d72 | ||
![]() |
5ec52fee2c | ||
![]() |
d39e69c95a | ||
![]() |
5026bc13bb | ||
![]() |
69ffdb2d46 | ||
![]() |
c7d27e5247 | ||
![]() |
e301a26ade | ||
![]() |
b7d7af7ea9 | ||
![]() |
39663d2c40 | ||
![]() |
000299a0e6 | ||
![]() |
0a47d82b9b | ||
![]() |
198bcece58 | ||
![]() |
053677d124 | ||
![]() |
804072f014 | ||
![]() |
e9429b43ce | ||
![]() |
3d37d5e24a | ||
![]() |
2728a1b4f3 | ||
![]() |
adb040d4cb | ||
![]() |
479d7934c0 | ||
![]() |
22d1acd5ac | ||
![]() |
b257c152c6 | ||
![]() |
77b97ee0d7 | ||
![]() |
e2ac4732cd | ||
![]() |
e8f665b495 | ||
![]() |
55f3ef29ea | ||
![]() |
c2d78c9623 | ||
![]() |
a4578a5413 | ||
![]() |
e884fcf785 | ||
![]() |
e96025755d | ||
![]() |
c9028b0ab5 | ||
![]() |
b4d2858f95 | ||
![]() |
dea446d995 | ||
![]() |
5cd94f9e9d | ||
![]() |
cad811fc41 | ||
![]() |
2ed0cf8eef | ||
![]() |
1c2cbe6fcc | ||
![]() |
023616e32d | ||
![]() |
69f6a9f007 | ||
![]() |
b2703470e0 | ||
![]() |
4eeee0c59f | ||
![]() |
452cd79114 | ||
![]() |
a5afa6c95f | ||
![]() |
9eaca0079f | ||
![]() |
625dacb93d | ||
![]() |
bbaf3c2b40 | ||
![]() |
62e9c2e091 | ||
![]() |
e4106a4e24 | ||
![]() |
a506b8c7dd | ||
![]() |
e5cd536894 | ||
![]() |
629ea39a88 | ||
![]() |
7d9e1321c7 | ||
![]() |
83af7422a0 | ||
![]() |
ce8945f35c | ||
![]() |
dd890f0776 | ||
![]() |
af4ac437ab | ||
![]() |
607585fdaf | ||
![]() |
2f596aeef5 | ||
![]() |
69762c75fa | ||
![]() |
36b29660ce | ||
![]() |
4976983f30 | ||
![]() |
31e4ad25ba | ||
![]() |
225f4daf15 | ||
![]() |
b9927cfa2d | ||
![]() |
af6cafc603 | ||
![]() |
15da07d436 | ||
![]() |
886ed3544b | ||
![]() |
aff2922f9a | ||
![]() |
f32e0035a3 | ||
![]() |
7b1e7706d8 | ||
![]() |
cd74dda72a | ||
![]() |
032bb2a2c5 | ||
![]() |
fa96ed06d2 | ||
![]() |
43133041c9 | ||
![]() |
e0ee5ea962 | ||
![]() |
f5634286a3 | ||
![]() |
97d37c1c1e | ||
![]() |
739b139cb2 | ||
![]() |
0bc9920ad4 | ||
![]() |
3f516ce837 | ||
![]() |
9f197f9da5 | ||
![]() |
3dc2cc36e9 | ||
![]() |
ca3e683747 | ||
![]() |
38a1757168 | ||
![]() |
4104a57107 | ||
![]() |
b0c0f20071 | ||
![]() |
ce147f8998 | ||
![]() |
7870774162 | ||
![]() |
4e99f848d8 | ||
![]() |
4213cdaf5d | ||
![]() |
358cf2f6e8 | ||
![]() |
39b4c974ee | ||
![]() |
407c2c1106 | ||
![]() |
508f56f17c | ||
![]() |
2e8aaf94c2 | ||
![]() |
48665b7c99 | ||
![]() |
3108a80b09 | ||
![]() |
51971f7293 | ||
![]() |
bfa3933c8b | ||
![]() |
3d3addb252 | ||
![]() |
40b4a633a1 | ||
![]() |
3f8bdd1fdb | ||
![]() |
fc784cbc5c | ||
![]() |
6181fd949f | ||
![]() |
afd61c63c2 | ||
![]() |
d20b5c2043 | ||
![]() |
fdf45c44be | ||
![]() |
9a2073b4cd | ||
![]() |
68b08c56c2 | ||
![]() |
f28468188b | ||
![]() |
4416eec8ca | ||
![]() |
8871d87512 | ||
![]() |
709af3877d | ||
![]() |
a2b81188be | ||
![]() |
8651ba5d45 | ||
![]() |
f91f6cd5e4 | ||
![]() |
efbb2cb4e5 | ||
![]() |
bd923a7bac | ||
![]() |
dec45d606f | ||
![]() |
373c88faef | ||
![]() |
6dfd1801fe | ||
![]() |
14813d8123 | ||
![]() |
d8242c65b3 | ||
![]() |
92f2437f48 | ||
![]() |
ee42430cc8 | ||
![]() |
da959761ff | ||
![]() |
da3fe316cf | ||
![]() |
d8cd25aa0d | ||
![]() |
c8214d6c8b | ||
![]() |
d63d4f46fc | ||
![]() |
063b216760 | ||
![]() |
52161e090d | ||
![]() |
65f0a05325 | ||
![]() |
9e55e06501 | ||
![]() |
952b6955c0 | ||
![]() |
0b6df67fb1 | ||
![]() |
6f74afaa57 | ||
![]() |
bf087e1ea1 | ||
![]() |
3edefe670a | ||
![]() |
885818fb7c | ||
![]() |
a461d307f2 | ||
![]() |
2f370048cb | ||
![]() |
89a4dad179 | ||
![]() |
28dc02a9d8 | ||
![]() |
1ea2fda9dc | ||
![]() |
54ebaca535 | ||
![]() |
f41dcf3d50 | ||
![]() |
4fedc91a4a | ||
![]() |
1e6031eeb7 | ||
![]() |
f734aaa413 | ||
![]() |
d9e61666c9 | ||
![]() |
a575d4b9ee | ||
![]() |
2f07e0d591 | ||
![]() |
77a87ded3a | ||
![]() |
b0a3d8dd27 | ||
![]() |
b958d2c298 | ||
![]() |
a7100590fe | ||
![]() |
dc72a195c2 | ||
![]() |
7b1ef38609 | ||
![]() |
e2812ff61f | ||
![]() |
3f5602ce04 | ||
![]() |
8c2e34e27f | ||
![]() |
be0dccdd9e | ||
![]() |
31f3950fbf | ||
![]() |
50a4d84e79 | ||
![]() |
75b3654d18 | ||
![]() |
0135aa9888 | ||
![]() |
418f9ac5e3 | ||
![]() |
692e644df6 | ||
![]() |
ad4afe4edf | ||
![]() |
3b72341958 | ||
![]() |
c844b971cb | ||
![]() |
3a0278b211 | ||
![]() |
ca9b1c47af | ||
![]() |
304ba9fa78 | ||
![]() |
86039d2751 | ||
![]() |
4484703f5e | ||
![]() |
420a692f04 | ||
![]() |
6b7751ac2c | ||
![]() |
1d2a464fe0 | ||
![]() |
7af4688a8f | ||
![]() |
7735dd0750 | ||
![]() |
d8360c3a8a | ||
![]() |
bf7b075f0c |
798
CHANGES
798
CHANGES
@ -2,11 +2,624 @@
|
|||||||
OpenSSL CHANGES
|
OpenSSL CHANGES
|
||||||
_______________
|
_______________
|
||||||
|
|
||||||
Changes between 0.9.8 and 0.9.9 [xx XXX xxxx]
|
Changes between 0.9.8e and 0.9.8f-fips [xx XXX xxxx]
|
||||||
|
|
||||||
*)
|
|
||||||
|
|
||||||
Changes between 0.9.7h and 0.9.8 [xx XXX xxxx]
|
*) Add option --with-fipslibdir to specify location of fipscanister.lib
|
||||||
|
and friends. When combined with fips build option fipscanister.lib is
|
||||||
|
not built but linked from the supplied directory. Always link fips
|
||||||
|
utilities against fiscanister.lib only except in fipsdso builds.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Add SSE2 instruction support to WIN32 build. These will be compiled
|
||||||
|
by default and used if an appopriate CPU is detected. Some older versions
|
||||||
|
of NASM or MASM which don't support SSE2 will need to be updated.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Tolerate DigestInfo structure with absent parameters in FIPS mode
|
||||||
|
(as required by several standards).
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Enhance mkfipsscr.pl to cope with different directory layouts. It now
|
||||||
|
relies on the filename and makes no assumptions about the pathname.
|
||||||
|
In the case of PSS it scans the file to determine the salt length.
|
||||||
|
Paths can be filtered. Also reports duplicate and missing files.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Updates to WIN32 build system. Make use of AES assembly language routines.
|
||||||
|
Use assembly language routines in FIPS compilation.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Use standard implementations of SHAx, DES, AES under crypto/ in FIPS
|
||||||
|
mode to avoid having to maintain two versions. This will also make use
|
||||||
|
of appropriate assembly language optimizations.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Check for selftest status in all crypto operations and exit with a
|
||||||
|
fatal error if selftest failed.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) New flag in EVP_CIPHER: EVP_CIPH_FLAG_DEFAULT_ASN1. This will
|
||||||
|
automatically use EVP_CIPHER_{get,set}_asn1_iv and avoid the
|
||||||
|
need for any ASN1 dependencies in FIPS library. Move AES and 3DES
|
||||||
|
cipher definitions to fips library and modify AES and 3DES algorithm
|
||||||
|
tests and self tests to use EVP.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Move EVP cipher code into enc_min.c to support a minimal implementation
|
||||||
|
for use by FIPS applications.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Add algorithm config module. Currently just handles setting FIPS mode.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Rewrite self tests and pairwise tests to use EVP. Add more extensive
|
||||||
|
self tests for RSA in all digests and modes.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) New flags RSA_FIPS_METHOD and DSA_FIPS_METHOD to indicate a method is
|
||||||
|
allowed in FIPS mode. Disable direct low level RSA and DSA signature
|
||||||
|
operations in FIPS mode so all operations have to be made via EVP.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) New flag EVP_MD_FLAG_SVCTX which passes EVP_MD_CTX and key to underlying
|
||||||
|
sign/verify method. This permits the method to perform finalization
|
||||||
|
and signing itself and have access to the EVP_MD_CTX structure in case
|
||||||
|
additional parameters are needed. Modify fips_{dsa,rsa}_{sign,verify}
|
||||||
|
to use EVP_MD_FLAG_SVCTX and support PSS and X9.31 RSA modes.
|
||||||
|
Modify RSA algorithm test programs to use new parameters.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Add small standalone ASN1 encoder/decoder to handle DSA signature format.
|
||||||
|
Modify test, algorithm test and selftest routines to use EVP for DSA.
|
||||||
|
Move FIPS implementation of EVP_sha*() and EVP_dss1() under fips-1.0.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Modify VC++ build system to rename .text and .rdata segments in
|
||||||
|
FIPS sources to .fipst${a,b,c}, and $fipsr${a,b,c} and place them
|
||||||
|
in a static library fipscanister.lib using a perl script. These are
|
||||||
|
then combined by the VC++ linker into a single segment in suffix
|
||||||
|
order but without the suffix (i.e. .fipstx, .fipsrd and .fipsda).
|
||||||
|
This serves the same purpose as fipscanister.o on other platforms
|
||||||
|
but has the advantage that it can be created using only standard VC++
|
||||||
|
utilities.
|
||||||
|
[Steve Henson and Andy Polyakov]
|
||||||
|
|
||||||
|
*) Modify WIN32 build system to forward references functions implemented
|
||||||
|
in FIPS DLL.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Move error library so that all lhash dependencies are in a separate
|
||||||
|
file. Include a simplified ERR_get_state() function for stand alone
|
||||||
|
FIPS applications. Include a initialization function OPENSSL_init()
|
||||||
|
to set all callbacks, automatically call OPENSSL_init() once when
|
||||||
|
a cipher or digest is added. This should mean that almost all applications
|
||||||
|
set the callbacks automatically. Exceptional cases can call OPENSSL_init()
|
||||||
|
manually like this:
|
||||||
|
|
||||||
|
#ifdef OPENSSL_HAVE_INIT
|
||||||
|
OPENSSL_init();
|
||||||
|
#endif
|
||||||
|
before starting any threads.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Collect common functions into header file "fips_utl.h".
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Only enable dynamic lock functionality in CRYPTO_lock() when it is really
|
||||||
|
needed. Move some lock functionality into new file dyn_lck.c .
|
||||||
|
This further reduces FIPS dependencies allowing the complete removal
|
||||||
|
of STACK and OBJ_bsearch().
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Reduce FIPS test program dependencies by providing stand alone
|
||||||
|
versions of some existing functions in libcrypto. Avoid use
|
||||||
|
of BIOs by converting to system stdio. Move some functions in FIPS
|
||||||
|
files: e.g. all use of BIO_printf().
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Modify build of libcrypto in FIPS mode by using a perl
|
||||||
|
script "arx.pl" which calls the archiver specifically
|
||||||
|
excluding any FIPS dependencies in libcrypto.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Port OpenSSL 0.9.7 FIPS code to 0.9.8. Convert to new
|
||||||
|
Makefile form. Update Configure. Convert and update
|
||||||
|
FIPS source files. Update libcrypto, libssl and apps
|
||||||
|
with additional functionality from 0.9.7 FIPS code.
|
||||||
|
Update Windows build system.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
Changes between 0.9.8e and 0.9.8f [23 Feb 2007]
|
||||||
|
|
||||||
|
*) Mitigate branch prediction attacks, which can be practical if a
|
||||||
|
single processor is shared, allowing a spy process to extract
|
||||||
|
information. For detailed background information, see
|
||||||
|
http://eprint.iacr.org/2007/039 (O. Aciicmez, S. Gueron,
|
||||||
|
J.-P. Seifert, "New Branch Prediction Vulnerabilities in OpenSSL
|
||||||
|
and Necessary Software Countermeasures"). The core of the change
|
||||||
|
are new versions BN_div_no_branch() and
|
||||||
|
BN_mod_inverse_no_branch() of BN_div() and BN_mod_inverse(),
|
||||||
|
respectively, which are slower, but avoid the security-relevant
|
||||||
|
conditional branches. These are automatically called by BN_div()
|
||||||
|
and BN_mod_inverse() if the flag BN_FLG_CONSTTIME is set for the
|
||||||
|
modulus. Also, BN_is_bit_set() has been changed to remove a
|
||||||
|
conditional branch.
|
||||||
|
|
||||||
|
BN_FLG_CONSTTIME is the new name for the previous
|
||||||
|
BN_FLG_EXP_CONSTTIME flag, since it now affects more than just
|
||||||
|
modular exponentiation. (Since OpenSSL 0.9.7h, setting this flag
|
||||||
|
in the exponent causes BN_mod_exp_mont() to use the alternative
|
||||||
|
implementation in BN_mod_exp_mont_consttime().) The old name
|
||||||
|
remains as a deprecated alias.
|
||||||
|
|
||||||
|
Similary, RSA_FLAG_NO_EXP_CONSTTIME is replaced by a more general
|
||||||
|
RSA_FLAG_NO_CONSTTIME flag since the RSA implementation now uses
|
||||||
|
constant-time implementations for more than just exponentiation.
|
||||||
|
Here too the old name is kept as a deprecated alias.
|
||||||
|
|
||||||
|
BN_BLINDING_new() will now use BN_dup() for the modulus so that
|
||||||
|
the BN_BLINDING structure gets an independent copy of the
|
||||||
|
modulus. This means that the previous "BIGNUM *m" argument to
|
||||||
|
BN_BLINDING_new() and to BN_BLINDING_create_param() now
|
||||||
|
essentially becomes "const BIGNUM *m", although we can't actually
|
||||||
|
change this in the header file before 0.9.9. It allows
|
||||||
|
RSA_setup_blinding() to use BN_with_flags() on the modulus to
|
||||||
|
enable BN_FLG_CONSTTIME.
|
||||||
|
|
||||||
|
[Matthew D Wood (Intel Corp)]
|
||||||
|
|
||||||
|
*) Mitigate branch prediction attacks, which can be practical if a
|
||||||
|
single processor is shared, allowing a spy process to extract
|
||||||
|
information. For detailed background information, see
|
||||||
|
http://eprint.iacr.org/2007/039 (O. Aciicmez, S. Gueron,
|
||||||
|
J.-P. Seifert, "New Branch Prediction Vulnerabilities in OpenSSL
|
||||||
|
and Necessary Software Countermeasures"). The core of the change
|
||||||
|
are new versions BN_div_no_branch() and
|
||||||
|
BN_mod_inverse_no_branch() of BN_div() and BN_mod_inverse(),
|
||||||
|
respectively, which are slower, but avoid the security-relevant
|
||||||
|
conditional branches. These are automatically called by BN_div()
|
||||||
|
and BN_mod_inverse() if the flag BN_FLG_CONSTTIME is set for one
|
||||||
|
of the input BIGNUMs. Also, BN_is_bit_set() has been changed to
|
||||||
|
remove a conditional branch.
|
||||||
|
|
||||||
|
BN_FLG_CONSTTIME is the new name for the previous
|
||||||
|
BN_FLG_EXP_CONSTTIME flag, since it now affects more than just
|
||||||
|
modular exponentiation. (Since OpenSSL 0.9.7h, setting this flag
|
||||||
|
in the exponent causes BN_mod_exp_mont() to use the alternative
|
||||||
|
implementation in BN_mod_exp_mont_consttime().) The old name
|
||||||
|
remains as a deprecated alias.
|
||||||
|
|
||||||
|
Similary, RSA_FLAG_NO_EXP_CONSTTIME is replaced by a more general
|
||||||
|
RSA_FLAG_NO_CONSTTIME flag since the RSA implementation now uses
|
||||||
|
constant-time implementations for more than just exponentiation.
|
||||||
|
Here too the old name is kept as a deprecated alias.
|
||||||
|
|
||||||
|
BN_BLINDING_new() will now use BN_dup() for the modulus so that
|
||||||
|
the BN_BLINDING structure gets an independent copy of the
|
||||||
|
modulus. This means that the previous "BIGNUM *m" argument to
|
||||||
|
BN_BLINDING_new() and to BN_BLINDING_create_param() now
|
||||||
|
essentially becomes "const BIGNUM *m", although we can't actually
|
||||||
|
change this in the header file before 0.9.9. It allows
|
||||||
|
RSA_setup_blinding() to use BN_with_flags() on the modulus to
|
||||||
|
enable BN_FLG_CONSTTIME.
|
||||||
|
|
||||||
|
[Matthew D Wood (Intel Corp)]
|
||||||
|
|
||||||
|
*) Add the Korean symmetric 128-bit cipher SEED (see
|
||||||
|
http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp) and
|
||||||
|
add SEED ciphersuites from RFC 4162:
|
||||||
|
|
||||||
|
TLS_RSA_WITH_SEED_CBC_SHA = "SEED-SHA"
|
||||||
|
TLS_DHE_DSS_WITH_SEED_CBC_SHA = "DHE-DSS-SEED-SHA"
|
||||||
|
TLS_DHE_RSA_WITH_SEED_CBC_SHA = "DHE-RSA-SEED-SHA"
|
||||||
|
TLS_DH_anon_WITH_SEED_CBC_SHA = "ADH-SEED-SHA"
|
||||||
|
|
||||||
|
To minimize changes between patchlevels in the OpenSSL 0.9.8
|
||||||
|
series, SEED remains excluded from compilation unless OpenSSL
|
||||||
|
is configured with 'enable-seed'.
|
||||||
|
[KISA, Bodo Moeller]
|
||||||
|
|
||||||
|
*) Mitigate branch prediction attacks, which can be practical if a
|
||||||
|
single processor is shared, allowing a spy process to extract
|
||||||
|
information. For detailed background information, see
|
||||||
|
http://eprint.iacr.org/2007/039 (O. Aciicmez, S. Gueron,
|
||||||
|
J.-P. Seifert, "New Branch Prediction Vulnerabilities in OpenSSL
|
||||||
|
and Necessary Software Countermeasures"). The core of the change
|
||||||
|
are new versions BN_div_no_branch() and
|
||||||
|
BN_mod_inverse_no_branch() of BN_div() and BN_mod_inverse(),
|
||||||
|
respectively, which are slower, but avoid the security-relevant
|
||||||
|
conditional branches. These are automatically called by BN_div()
|
||||||
|
and BN_mod_inverse() if the flag BN_FLG_CONSTTIME is set for one
|
||||||
|
of the input BIGNUMs. Also, BN_is_bit_set() has been changed to
|
||||||
|
remove a conditional branch.
|
||||||
|
|
||||||
|
BN_FLG_CONSTTIME is the new name for the previous
|
||||||
|
BN_FLG_EXP_CONSTTIME flag, since it now affects more than just
|
||||||
|
modular exponentiation. (Since OpenSSL 0.9.7h, setting this flag
|
||||||
|
in the exponent causes BN_mod_exp_mont() to use the alternative
|
||||||
|
implementation in BN_mod_exp_mont_consttime().) The old name
|
||||||
|
remains as a deprecated alias.
|
||||||
|
|
||||||
|
Similary, RSA_FLAG_NO_EXP_CONSTTIME is replaced by a more general
|
||||||
|
RSA_FLAG_NO_CONSTTIME flag since the RSA implementation now uses
|
||||||
|
constant-time implementations for more than just exponentiation.
|
||||||
|
Here too the old name is kept as a deprecated alias.
|
||||||
|
|
||||||
|
BN_BLINDING_new() will now use BN_dup() for the modulus so that
|
||||||
|
the BN_BLINDING structure gets an independent copy of the
|
||||||
|
modulus. This means that the previous "BIGNUM *m" argument to
|
||||||
|
BN_BLINDING_new() and to BN_BLINDING_create_param() now
|
||||||
|
essentially becomes "const BIGNUM *m", although we can't actually
|
||||||
|
change this in the header file before 0.9.9. It allows
|
||||||
|
RSA_setup_blinding() to use BN_with_flags() on the modulus to
|
||||||
|
enable BN_FLG_CONSTTIME.
|
||||||
|
|
||||||
|
[Matthew D Wood (Intel Corp)]
|
||||||
|
|
||||||
|
*) Add the Korean symmetric 128-bit cipher SEED (see
|
||||||
|
http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp) and
|
||||||
|
add SEED ciphersuites from RFC 4162:
|
||||||
|
|
||||||
|
TLS_RSA_WITH_SEED_CBC_SHA = "SEED-SHA"
|
||||||
|
TLS_DHE_DSS_WITH_SEED_CBC_SHA = "DHE-DSS-SEED-SHA"
|
||||||
|
TLS_DHE_RSA_WITH_SEED_CBC_SHA = "DHE-RSA-SEED-SHA"
|
||||||
|
TLS_DH_anon_WITH_SEED_CBC_SHA = "ADH-SEED-SHA"
|
||||||
|
|
||||||
|
To minimize changes between patchlevels in the OpenSSL 0.9.8
|
||||||
|
series, SEED remains excluded from compilation unless OpenSSL
|
||||||
|
is configured with 'enable-seed'.
|
||||||
|
[KISA, Bodo Moeller]
|
||||||
|
|
||||||
|
*) Mitigate branch prediction attacks, which can be practical if a
|
||||||
|
single processor is shared, allowing a spy process to extract
|
||||||
|
information. For detailed background information, see
|
||||||
|
http://eprint.iacr.org/2007/039 (O. Aciicmez, S. Gueron,
|
||||||
|
J.-P. Seifert, "New Branch Prediction Vulnerabilities in OpenSSL
|
||||||
|
and Necessary Software Countermeasures"). The core of the change
|
||||||
|
are new versions BN_div_no_branch() and
|
||||||
|
BN_mod_inverse_no_branch() of BN_div() and BN_mod_inverse(),
|
||||||
|
respectively, which are slower, but avoid the security-relevant
|
||||||
|
conditional branches. These are automatically called by BN_div()
|
||||||
|
and BN_mod_inverse() if the flag BN_FLG_CONSTTIME is set for one
|
||||||
|
of the input BIGNUMs. Also, BN_is_bit_set() has been changed to
|
||||||
|
remove a conditional branch.
|
||||||
|
|
||||||
|
BN_FLG_CONSTTIME is the new name for the previous
|
||||||
|
BN_FLG_EXP_CONSTTIME flag, since it now affects more than just
|
||||||
|
modular exponentiation. (Since OpenSSL 0.9.7h, setting this flag
|
||||||
|
in the exponent causes BN_mod_exp_mont() to use the alternative
|
||||||
|
implementation in BN_mod_exp_mont_consttime().) The old name
|
||||||
|
remains as a deprecated alias.
|
||||||
|
|
||||||
|
Similary, RSA_FLAG_NO_EXP_CONSTTIME is replaced by a more general
|
||||||
|
RSA_FLAG_NO_CONSTTIME flag since the RSA implementation now uses
|
||||||
|
constant-time implementations for more than just exponentiation.
|
||||||
|
Here too the old name is kept as a deprecated alias.
|
||||||
|
|
||||||
|
BN_BLINDING_new() will now use BN_dup() for the modulus so that
|
||||||
|
the BN_BLINDING structure gets an independent copy of the
|
||||||
|
modulus. This means that the previous "BIGNUM *m" argument to
|
||||||
|
BN_BLINDING_new() and to BN_BLINDING_create_param() now
|
||||||
|
essentially becomes "const BIGNUM *m", although we can't actually
|
||||||
|
change this in the header file before 0.9.9. It allows
|
||||||
|
RSA_setup_blinding() to use BN_with_flags() on the modulus to
|
||||||
|
enable BN_FLG_CONSTTIME.
|
||||||
|
|
||||||
|
[Matthew D Wood (Intel Corp)]
|
||||||
|
|
||||||
|
*) Squeeze another 10% out of IGE mode when in != out.
|
||||||
|
[Ben Laurie]
|
||||||
|
|
||||||
|
*) AES IGE mode speedup.
|
||||||
|
[Dean Gaudet (Google)]
|
||||||
|
|
||||||
|
*) Add the Korean symmetric 128-bit cipher SEED (see
|
||||||
|
http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp) and
|
||||||
|
add SEED ciphersuites from RFC 4162:
|
||||||
|
|
||||||
|
TLS_RSA_WITH_SEED_CBC_SHA = "SEED-SHA"
|
||||||
|
TLS_DHE_DSS_WITH_SEED_CBC_SHA = "DHE-DSS-SEED-SHA"
|
||||||
|
TLS_DHE_RSA_WITH_SEED_CBC_SHA = "DHE-RSA-SEED-SHA"
|
||||||
|
TLS_DH_anon_WITH_SEED_CBC_SHA = "ADH-SEED-SHA"
|
||||||
|
|
||||||
|
To minimize changes between patchlevels in the OpenSSL 0.9.8
|
||||||
|
series, SEED remains excluded from compilation unless OpenSSL
|
||||||
|
is configured with 'enable-seed'.
|
||||||
|
[KISA, Bodo Moeller]
|
||||||
|
|
||||||
|
*) Mitigate branch prediction attacks, which can be practical if a
|
||||||
|
single processor is shared, allowing a spy process to extract
|
||||||
|
information. For detailed background information, see
|
||||||
|
http://eprint.iacr.org/2007/039 (O. Aciicmez, S. Gueron,
|
||||||
|
J.-P. Seifert, "New Branch Prediction Vulnerabilities in OpenSSL
|
||||||
|
and Necessary Software Countermeasures"). The core of the change
|
||||||
|
are new versions BN_div_no_branch() and
|
||||||
|
BN_mod_inverse_no_branch() of BN_div() and BN_mod_inverse(),
|
||||||
|
respectively, which are slower, but avoid the security-relevant
|
||||||
|
conditional branches. These are automatically called by BN_div()
|
||||||
|
and BN_mod_inverse() if the flag BN_FLG_CONSTTIME is set for one
|
||||||
|
of the input BIGNUMs. Also, BN_is_bit_set() has been changed to
|
||||||
|
remove a conditional branch.
|
||||||
|
|
||||||
|
BN_FLG_CONSTTIME is the new name for the previous
|
||||||
|
BN_FLG_EXP_CONSTTIME flag, since it now affects more than just
|
||||||
|
modular exponentiation. (Since OpenSSL 0.9.7h, setting this flag
|
||||||
|
in the exponent causes BN_mod_exp_mont() to use the alternative
|
||||||
|
implementation in BN_mod_exp_mont_consttime().) The old name
|
||||||
|
remains as a deprecated alias.
|
||||||
|
|
||||||
|
Similary, RSA_FLAG_NO_EXP_CONSTTIME is replaced by a more general
|
||||||
|
RSA_FLAG_NO_CONSTTIME flag since the RSA implementation now uses
|
||||||
|
constant-time implementations for more than just exponentiation.
|
||||||
|
Here too the old name is kept as a deprecated alias.
|
||||||
|
|
||||||
|
BN_BLINDING_new() will now use BN_dup() for the modulus so that
|
||||||
|
the BN_BLINDING structure gets an independent copy of the
|
||||||
|
modulus. This means that the previous "BIGNUM *m" argument to
|
||||||
|
BN_BLINDING_new() and to BN_BLINDING_create_param() now
|
||||||
|
essentially becomes "const BIGNUM *m", although we can't actually
|
||||||
|
change this in the header file before 0.9.9. It allows
|
||||||
|
RSA_setup_blinding() to use BN_with_flags() on the modulus to
|
||||||
|
enable BN_FLG_CONSTTIME.
|
||||||
|
|
||||||
|
[Matthew D Wood (Intel Corp)]
|
||||||
|
|
||||||
|
*) In the SSL/TLS server implementation, be strict about session ID
|
||||||
|
context matching (which matters if an application uses a single
|
||||||
|
external cache for different purposes). Previously,
|
||||||
|
out-of-context reuse was forbidden only if SSL_VERIFY_PEER was
|
||||||
|
set. This did ensure strict client verification, but meant that,
|
||||||
|
with applications using a single external cache for quite
|
||||||
|
different requirements, clients could circumvent ciphersuite
|
||||||
|
restrictions for a given session ID context by starting a session
|
||||||
|
in a different context.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Include "!eNULL" in SSL_DEFAULT_CIPHER_LIST to make sure that
|
||||||
|
a ciphersuite string such as "DEFAULT:RSA" cannot enable
|
||||||
|
authentication-only ciphersuites.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
Changes between 0.9.8d and 0.9.8e [23 Feb 2007]
|
||||||
|
|
||||||
|
*) Since AES128 and AES256 (and similarly Camellia128 and
|
||||||
|
Camellia256) share a single mask bit in the logic of
|
||||||
|
ssl/ssl_ciph.c, the code for masking out disabled ciphers needs a
|
||||||
|
kludge to work properly if AES128 is available and AES256 isn't
|
||||||
|
(or if Camellia128 is available and Camellia256 isn't).
|
||||||
|
[Victor Duchovni]
|
||||||
|
|
||||||
|
*) Fix the BIT STRING encoding generated by crypto/ec/ec_asn1.c
|
||||||
|
(within i2d_ECPrivateKey, i2d_ECPKParameters, i2d_ECParameters):
|
||||||
|
When a point or a seed is encoded in a BIT STRING, we need to
|
||||||
|
prevent the removal of trailing zero bits to get the proper DER
|
||||||
|
encoding. (By default, crypto/asn1/a_bitstr.c assumes the case
|
||||||
|
of a NamedBitList, for which trailing 0 bits need to be removed.)
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Have SSL/TLS server implementation tolerate "mismatched" record
|
||||||
|
protocol version while receiving ClientHello even if the
|
||||||
|
ClientHello is fragmented. (The server can't insist on the
|
||||||
|
particular protocol version it has chosen before the ServerHello
|
||||||
|
message has informed the client about his choice.)
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Add RFC 3779 support.
|
||||||
|
[Rob Austein for ARIN, Ben Laurie]
|
||||||
|
|
||||||
|
*) Load error codes if they are not already present instead of using a
|
||||||
|
static variable. This allows them to be cleanly unloaded and reloaded.
|
||||||
|
Improve header file function name parsing.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) extend SMTP and IMAP protocol emulation in s_client to use EHLO
|
||||||
|
or CAPABILITY handshake as required by RFCs.
|
||||||
|
[Goetz Babin-Ebell]
|
||||||
|
|
||||||
|
Changes between 0.9.8c and 0.9.8d [28 Sep 2006]
|
||||||
|
|
||||||
|
*) Introduce limits to prevent malicious keys being able to
|
||||||
|
cause a denial of service. (CVE-2006-2940)
|
||||||
|
[Steve Henson, Bodo Moeller]
|
||||||
|
|
||||||
|
*) Fix ASN.1 parsing of certain invalid structures that can result
|
||||||
|
in a denial of service. (CVE-2006-2937) [Steve Henson]
|
||||||
|
|
||||||
|
*) Fix buffer overflow in SSL_get_shared_ciphers() function.
|
||||||
|
(CVE-2006-3738) [Tavis Ormandy and Will Drewry, Google Security Team]
|
||||||
|
|
||||||
|
*) Fix SSL client code which could crash if connecting to a
|
||||||
|
malicious SSLv2 server. (CVE-2006-4343)
|
||||||
|
[Tavis Ormandy and Will Drewry, Google Security Team]
|
||||||
|
|
||||||
|
*) Since 0.9.8b, ciphersuite strings naming explicit ciphersuites
|
||||||
|
match only those. Before that, "AES256-SHA" would be interpreted
|
||||||
|
as a pattern and match "AES128-SHA" too (since AES128-SHA got
|
||||||
|
the same strength classification in 0.9.7h) as we currently only
|
||||||
|
have a single AES bit in the ciphersuite description bitmap.
|
||||||
|
That change, however, also applied to ciphersuite strings such as
|
||||||
|
"RC4-MD5" that intentionally matched multiple ciphersuites --
|
||||||
|
namely, SSL 2.0 ciphersuites in addition to the more common ones
|
||||||
|
from SSL 3.0/TLS 1.0.
|
||||||
|
|
||||||
|
So we change the selection algorithm again: Naming an explicit
|
||||||
|
ciphersuite selects this one ciphersuite, and any other similar
|
||||||
|
ciphersuite (same bitmap) from *other* protocol versions.
|
||||||
|
Thus, "RC4-MD5" again will properly select both the SSL 2.0
|
||||||
|
ciphersuite and the SSL 3.0/TLS 1.0 ciphersuite.
|
||||||
|
|
||||||
|
Since SSL 2.0 does not have any ciphersuites for which the
|
||||||
|
128/256 bit distinction would be relevant, this works for now.
|
||||||
|
The proper fix will be to use different bits for AES128 and
|
||||||
|
AES256, which would have avoided the problems from the beginning;
|
||||||
|
however, bits are scarce, so we can only do this in a new release
|
||||||
|
(not just a patchlevel) when we can change the SSL_CIPHER
|
||||||
|
definition to split the single 'unsigned long mask' bitmap into
|
||||||
|
multiple values to extend the available space.
|
||||||
|
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
Changes between 0.9.8b and 0.9.8c [05 Sep 2006]
|
||||||
|
|
||||||
|
*) Avoid PKCS #1 v1.5 signature attack discovered by Daniel Bleichenbacher
|
||||||
|
(CVE-2006-4339) [Ben Laurie and Google Security Team]
|
||||||
|
|
||||||
|
*) Add AES IGE and biIGE modes.
|
||||||
|
[Ben Laurie]
|
||||||
|
|
||||||
|
*) Change the Unix randomness entropy gathering to use poll() when
|
||||||
|
possible instead of select(), since the latter has some
|
||||||
|
undesirable limitations.
|
||||||
|
[Darryl Miles via Richard Levitte and Bodo Moeller]
|
||||||
|
|
||||||
|
*) Disable "ECCdraft" ciphersuites more thoroughly. Now special
|
||||||
|
treatment in ssl/ssl_ciph.s makes sure that these ciphersuites
|
||||||
|
cannot be implicitly activated as part of, e.g., the "AES" alias.
|
||||||
|
However, please upgrade to OpenSSL 0.9.9[-dev] for
|
||||||
|
non-experimental use of the ECC ciphersuites to get TLS extension
|
||||||
|
support, which is required for curve and point format negotiation
|
||||||
|
to avoid potential handshake problems.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Disable rogue ciphersuites:
|
||||||
|
|
||||||
|
- SSLv2 0x08 0x00 0x80 ("RC4-64-MD5")
|
||||||
|
- SSLv3/TLSv1 0x00 0x61 ("EXP1024-RC2-CBC-MD5")
|
||||||
|
- SSLv3/TLSv1 0x00 0x60 ("EXP1024-RC4-MD5")
|
||||||
|
|
||||||
|
The latter two were purportedly from
|
||||||
|
draft-ietf-tls-56-bit-ciphersuites-0[01].txt, but do not really
|
||||||
|
appear there.
|
||||||
|
|
||||||
|
Also deactivate the remaining ciphersuites from
|
||||||
|
draft-ietf-tls-56-bit-ciphersuites-01.txt. These are just as
|
||||||
|
unofficial, and the ID has long expired.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Fix RSA blinding Heisenbug (problems sometimes occured on
|
||||||
|
dual-core machines) and other potential thread-safety issues.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Add the symmetric cipher Camellia (128-bit, 192-bit, 256-bit key
|
||||||
|
versions), which is now available for royalty-free use
|
||||||
|
(see http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html).
|
||||||
|
Also, add Camellia TLS ciphersuites from RFC 4132.
|
||||||
|
|
||||||
|
To minimize changes between patchlevels in the OpenSSL 0.9.8
|
||||||
|
series, Camellia remains excluded from compilation unless OpenSSL
|
||||||
|
is configured with 'enable-camellia'.
|
||||||
|
[NTT]
|
||||||
|
|
||||||
|
*) Disable the padding bug check when compression is in use. The padding
|
||||||
|
bug check assumes the first packet is of even length, this is not
|
||||||
|
necessarily true if compresssion is enabled and can result in false
|
||||||
|
positives causing handshake failure. The actual bug test is ancient
|
||||||
|
code so it is hoped that implementations will either have fixed it by
|
||||||
|
now or any which still have the bug do not support compression.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
Changes between 0.9.8a and 0.9.8b [04 May 2006]
|
||||||
|
|
||||||
|
*) When applying a cipher rule check to see if string match is an explicit
|
||||||
|
cipher suite and only match that one cipher suite if it is.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Link in manifests for VC++ if needed.
|
||||||
|
[Austin Ziegler <halostatue@gmail.com>]
|
||||||
|
|
||||||
|
*) Update support for ECC-based TLS ciphersuites according to
|
||||||
|
draft-ietf-tls-ecc-12.txt with proposed changes (but without
|
||||||
|
TLS extensions, which are supported starting with the 0.9.9
|
||||||
|
branch, not in the OpenSSL 0.9.8 branch).
|
||||||
|
[Douglas Stebila]
|
||||||
|
|
||||||
|
*) New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free() to support
|
||||||
|
opaque EVP_CIPHER_CTX handling.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Fixes and enhancements to zlib compression code. We now only use
|
||||||
|
"zlib1.dll" and use the default __cdecl calling convention on Win32
|
||||||
|
to conform with the standards mentioned here:
|
||||||
|
http://www.zlib.net/DLL_FAQ.txt
|
||||||
|
Static zlib linking now works on Windows and the new --with-zlib-include
|
||||||
|
--with-zlib-lib options to Configure can be used to supply the location
|
||||||
|
of the headers and library. Gracefully handle case where zlib library
|
||||||
|
can't be loaded.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Several fixes and enhancements to the OID generation code. The old code
|
||||||
|
sometimes allowed invalid OIDs (1.X for X >= 40 for example), couldn't
|
||||||
|
handle numbers larger than ULONG_MAX, truncated printing and had a
|
||||||
|
non standard OBJ_obj2txt() behaviour.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Add support for building of engines under engine/ as shared libraries
|
||||||
|
under VC++ build system.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Corrected the numerous bugs in the Win32 path splitter in DSO.
|
||||||
|
Hopefully, we will not see any false combination of paths any more.
|
||||||
|
[Richard Levitte]
|
||||||
|
|
||||||
|
Changes between 0.9.8 and 0.9.8a [11 Oct 2005]
|
||||||
|
|
||||||
|
*) Remove the functionality of SSL_OP_MSIE_SSLV2_RSA_PADDING
|
||||||
|
(part of SSL_OP_ALL). This option used to disable the
|
||||||
|
countermeasure against man-in-the-middle protocol-version
|
||||||
|
rollback in the SSL 2.0 server implementation, which is a bad
|
||||||
|
idea. (CVE-2005-2969)
|
||||||
|
|
||||||
|
[Bodo Moeller; problem pointed out by Yutaka Oiwa (Research Center
|
||||||
|
for Information Security, National Institute of Advanced Industrial
|
||||||
|
Science and Technology [AIST], Japan)]
|
||||||
|
|
||||||
|
*) Add two function to clear and return the verify parameter flags.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Keep cipherlists sorted in the source instead of sorting them at
|
||||||
|
runtime, thus removing the need for a lock.
|
||||||
|
[Nils Larsch]
|
||||||
|
|
||||||
|
*) Avoid some small subgroup attacks in Diffie-Hellman.
|
||||||
|
[Nick Mathewson and Ben Laurie]
|
||||||
|
|
||||||
|
*) Add functions for well-known primes.
|
||||||
|
[Nick Mathewson]
|
||||||
|
|
||||||
|
*) Extended Windows CE support.
|
||||||
|
[Satoshi Nakamura and Andy Polyakov]
|
||||||
|
|
||||||
|
*) Initialize SSL_METHOD structures at compile time instead of during
|
||||||
|
runtime, thus removing the need for a lock.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Make PKCS7_decrypt() work even if no certificate is supplied by
|
||||||
|
attempting to decrypt each encrypted key in turn. Add support to
|
||||||
|
smime utility.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
Changes between 0.9.7h and 0.9.8 [05 Jul 2005]
|
||||||
|
|
||||||
|
[NB: OpenSSL 0.9.7i and later 0.9.7 patch levels were released after
|
||||||
|
OpenSSL 0.9.8.]
|
||||||
|
|
||||||
|
*) Add libcrypto.pc and libssl.pc for those who feel they need them.
|
||||||
|
[Richard Levitte]
|
||||||
|
|
||||||
|
*) Change CA.sh and CA.pl so they don't bundle the CSR and the private
|
||||||
|
key into the same file any more.
|
||||||
|
[Richard Levitte]
|
||||||
|
|
||||||
|
*) Add initial support for Win64, both IA64 and AMD64/x64 flavors.
|
||||||
|
[Andy Polyakov]
|
||||||
|
|
||||||
|
*) Add -utf8 command line and config file option to 'ca'.
|
||||||
|
[Stefan <stf@udoma.org]
|
||||||
|
|
||||||
|
*) Removed the macro des_crypt(), as it seems to conflict with some
|
||||||
|
libraries. Use DES_crypt().
|
||||||
|
[Richard Levitte]
|
||||||
|
|
||||||
*) Correct naming of the 'chil' and '4758cca' ENGINEs. This
|
*) Correct naming of the 'chil' and '4758cca' ENGINEs. This
|
||||||
involves renaming the source and generated shared-libs for
|
involves renaming the source and generated shared-libs for
|
||||||
@ -808,7 +1421,153 @@
|
|||||||
differing sizes.
|
differing sizes.
|
||||||
[Richard Levitte]
|
[Richard Levitte]
|
||||||
|
|
||||||
Changes between 0.9.7g and 0.9.7h [XX xxx XXXX]
|
Changes between 0.9.7m and 0.9.7n [xx XXX xxxx]
|
||||||
|
|
||||||
|
*) In the SSL/TLS server implementation, be strict about session ID
|
||||||
|
context matching (which matters if an application uses a single
|
||||||
|
external cache for different purposes). Previously,
|
||||||
|
out-of-context reuse was forbidden only if SSL_VERIFY_PEER was
|
||||||
|
set. This did ensure strict client verification, but meant that,
|
||||||
|
with applications using a single external cache for quite
|
||||||
|
different requirements, clients could circumvent ciphersuite
|
||||||
|
restrictions for a given session ID context by starting a session
|
||||||
|
in a different context.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
Changes between 0.9.7l and 0.9.7m [23 Feb 2007]
|
||||||
|
|
||||||
|
*) Cleanse PEM buffers before freeing them since they may contain
|
||||||
|
sensitive data.
|
||||||
|
[Benjamin Bennett <ben@psc.edu>]
|
||||||
|
|
||||||
|
*) Include "!eNULL" in SSL_DEFAULT_CIPHER_LIST to make sure that
|
||||||
|
a ciphersuite string such as "DEFAULT:RSA" cannot enable
|
||||||
|
authentication-only ciphersuites.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Since AES128 and AES256 share a single mask bit in the logic of
|
||||||
|
ssl/ssl_ciph.c, the code for masking out disabled ciphers needs a
|
||||||
|
kludge to work properly if AES128 is available and AES256 isn't.
|
||||||
|
[Victor Duchovni]
|
||||||
|
|
||||||
|
*) Expand security boundary to match 1.1.1 module.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Remove redundant features: hash file source, editing of test vectors
|
||||||
|
modify fipsld to use external fips_premain.c signature.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) New perl script mkfipsscr.pl to create shell scripts or batch files to
|
||||||
|
run algorithm test programs.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Make algorithm test programs more tolerant of whitespace.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Have SSL/TLS server implementation tolerate "mismatched" record
|
||||||
|
protocol version while receiving ClientHello even if the
|
||||||
|
ClientHello is fragmented. (The server can't insist on the
|
||||||
|
particular protocol version it has chosen before the ServerHello
|
||||||
|
message has informed the client about his choice.)
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Load error codes if they are not already present instead of using a
|
||||||
|
static variable. This allows them to be cleanly unloaded and reloaded.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
Changes between 0.9.7k and 0.9.7l [28 Sep 2006]
|
||||||
|
|
||||||
|
*) Introduce limits to prevent malicious keys being able to
|
||||||
|
cause a denial of service. (CVE-2006-2940)
|
||||||
|
[Steve Henson, Bodo Moeller]
|
||||||
|
|
||||||
|
*) Fix ASN.1 parsing of certain invalid structures that can result
|
||||||
|
in a denial of service. (CVE-2006-2937) [Steve Henson]
|
||||||
|
|
||||||
|
*) Fix buffer overflow in SSL_get_shared_ciphers() function.
|
||||||
|
(CVE-2006-3738) [Tavis Ormandy and Will Drewry, Google Security Team]
|
||||||
|
|
||||||
|
*) Fix SSL client code which could crash if connecting to a
|
||||||
|
malicious SSLv2 server. (CVE-2006-4343)
|
||||||
|
[Tavis Ormandy and Will Drewry, Google Security Team]
|
||||||
|
|
||||||
|
*) Change ciphersuite string processing so that an explicit
|
||||||
|
ciphersuite selects this one ciphersuite (so that "AES256-SHA"
|
||||||
|
will no longer include "AES128-SHA"), and any other similar
|
||||||
|
ciphersuite (same bitmap) from *other* protocol versions (so that
|
||||||
|
"RC4-MD5" will still include both the SSL 2.0 ciphersuite and the
|
||||||
|
SSL 3.0/TLS 1.0 ciphersuite). This is a backport combining
|
||||||
|
changes from 0.9.8b and 0.9.8d.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
Changes between 0.9.7j and 0.9.7k [05 Sep 2006]
|
||||||
|
|
||||||
|
*) Avoid PKCS #1 v1.5 signature attack discovered by Daniel Bleichenbacher
|
||||||
|
(CVE-2006-4339) [Ben Laurie and Google Security Team]
|
||||||
|
|
||||||
|
*) Change the Unix randomness entropy gathering to use poll() when
|
||||||
|
possible instead of select(), since the latter has some
|
||||||
|
undesirable limitations.
|
||||||
|
[Darryl Miles via Richard Levitte and Bodo Moeller]
|
||||||
|
|
||||||
|
*) Disable rogue ciphersuites:
|
||||||
|
|
||||||
|
- SSLv2 0x08 0x00 0x80 ("RC4-64-MD5")
|
||||||
|
- SSLv3/TLSv1 0x00 0x61 ("EXP1024-RC2-CBC-MD5")
|
||||||
|
- SSLv3/TLSv1 0x00 0x60 ("EXP1024-RC4-MD5")
|
||||||
|
|
||||||
|
The latter two were purportedly from
|
||||||
|
draft-ietf-tls-56-bit-ciphersuites-0[01].txt, but do not really
|
||||||
|
appear there.
|
||||||
|
|
||||||
|
Also deactive the remaining ciphersuites from
|
||||||
|
draft-ietf-tls-56-bit-ciphersuites-01.txt. These are just as
|
||||||
|
unofficial, and the ID has long expired.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
*) Fix RSA blinding Heisenbug (problems sometimes occured on
|
||||||
|
dual-core machines) and other potential thread-safety issues.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
Changes between 0.9.7i and 0.9.7j [04 May 2006]
|
||||||
|
|
||||||
|
*) Adapt fipsld and the build system to link against the validated FIPS
|
||||||
|
module in FIPS mode.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Fixes for VC++ 2005 build under Windows.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
*) Add new Windows build target VC-32-GMAKE for VC++. This uses GNU make
|
||||||
|
from a Windows bash shell such as MSYS. It is autodetected from the
|
||||||
|
"config" script when run from a VC++ environment. Modify standard VC++
|
||||||
|
build to use fipscanister.o from the GNU make build.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
|
Changes between 0.9.7h and 0.9.7i [14 Oct 2005]
|
||||||
|
|
||||||
|
*) Wrapped the definition of EVP_MAX_MD_SIZE in a #ifdef OPENSSL_FIPS.
|
||||||
|
The value now differs depending on if you build for FIPS or not.
|
||||||
|
BEWARE! A program linked with a shared FIPSed libcrypto can't be
|
||||||
|
safely run with a non-FIPSed libcrypto, as it may crash because of
|
||||||
|
the difference induced by this change.
|
||||||
|
[Andy Polyakov]
|
||||||
|
|
||||||
|
Changes between 0.9.7g and 0.9.7h [11 Oct 2005]
|
||||||
|
|
||||||
|
*) Remove the functionality of SSL_OP_MSIE_SSLV2_RSA_PADDING
|
||||||
|
(part of SSL_OP_ALL). This option used to disable the
|
||||||
|
countermeasure against man-in-the-middle protocol-version
|
||||||
|
rollback in the SSL 2.0 server implementation, which is a bad
|
||||||
|
idea. (CVE-2005-2969)
|
||||||
|
|
||||||
|
[Bodo Moeller; problem pointed out by Yutaka Oiwa (Research Center
|
||||||
|
for Information Security, National Institute of Advanced Industrial
|
||||||
|
Science and Technology [AIST], Japan)]
|
||||||
|
|
||||||
|
*) Minimal support for X9.31 signatures and PSS padding modes. This is
|
||||||
|
mainly for FIPS compliance and not fully integrated at this stage.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
*) For DSA signing, unless DSA_FLAG_NO_EXP_CONSTTIME is set, perform
|
*) For DSA signing, unless DSA_FLAG_NO_EXP_CONSTTIME is set, perform
|
||||||
the exponentiation using a fixed-length exponent. (Otherwise,
|
the exponentiation using a fixed-length exponent. (Otherwise,
|
||||||
@ -855,6 +1614,9 @@
|
|||||||
|
|
||||||
Changes between 0.9.7f and 0.9.7g [11 Apr 2005]
|
Changes between 0.9.7f and 0.9.7g [11 Apr 2005]
|
||||||
|
|
||||||
|
[NB: OpenSSL 0.9.7h and later 0.9.7 patch levels were released after
|
||||||
|
OpenSSL 0.9.8.]
|
||||||
|
|
||||||
*) Fixes for newer kerberos headers. NB: the casts are needed because
|
*) Fixes for newer kerberos headers. NB: the casts are needed because
|
||||||
the 'length' field is signed on one version and unsigned on another
|
the 'length' field is signed on one version and unsigned on another
|
||||||
with no (?) obvious way to tell the difference, without these VC++
|
with no (?) obvious way to tell the difference, without these VC++
|
||||||
@ -962,11 +1724,11 @@
|
|||||||
Changes between 0.9.7c and 0.9.7d [17 Mar 2004]
|
Changes between 0.9.7c and 0.9.7d [17 Mar 2004]
|
||||||
|
|
||||||
*) Fix null-pointer assignment in do_change_cipher_spec() revealed
|
*) Fix null-pointer assignment in do_change_cipher_spec() revealed
|
||||||
by using the Codenomicon TLS Test Tool (CAN-2004-0079)
|
by using the Codenomicon TLS Test Tool (CVE-2004-0079)
|
||||||
[Joe Orton, Steve Henson]
|
[Joe Orton, Steve Henson]
|
||||||
|
|
||||||
*) Fix flaw in SSL/TLS handshaking when using Kerberos ciphersuites
|
*) Fix flaw in SSL/TLS handshaking when using Kerberos ciphersuites
|
||||||
(CAN-2004-0112)
|
(CVE-2004-0112)
|
||||||
[Joe Orton, Steve Henson]
|
[Joe Orton, Steve Henson]
|
||||||
|
|
||||||
*) Make it possible to have multiple active certificates with the same
|
*) Make it possible to have multiple active certificates with the same
|
||||||
@ -1009,9 +1771,9 @@
|
|||||||
*) Fix various bugs revealed by running the NISCC test suite:
|
*) Fix various bugs revealed by running the NISCC test suite:
|
||||||
|
|
||||||
Stop out of bounds reads in the ASN1 code when presented with
|
Stop out of bounds reads in the ASN1 code when presented with
|
||||||
invalid tags (CAN-2003-0543 and CAN-2003-0544).
|
invalid tags (CVE-2003-0543 and CVE-2003-0544).
|
||||||
|
|
||||||
Free up ASN1_TYPE correctly if ANY type is invalid (CAN-2003-0545).
|
Free up ASN1_TYPE correctly if ANY type is invalid (CVE-2003-0545).
|
||||||
|
|
||||||
If verify callback ignores invalid public key errors don't try to check
|
If verify callback ignores invalid public key errors don't try to check
|
||||||
certificate signature with the NULL public key.
|
certificate signature with the NULL public key.
|
||||||
@ -1096,7 +1858,7 @@
|
|||||||
via timing by performing a MAC computation even if incorrrect
|
via timing by performing a MAC computation even if incorrrect
|
||||||
block cipher padding has been found. This is a countermeasure
|
block cipher padding has been found. This is a countermeasure
|
||||||
against active attacks where the attacker has to distinguish
|
against active attacks where the attacker has to distinguish
|
||||||
between bad padding and a MAC verification error. (CAN-2003-0078)
|
between bad padding and a MAC verification error. (CVE-2003-0078)
|
||||||
|
|
||||||
[Bodo Moeller; problem pointed out by Brice Canvel (EPFL),
|
[Bodo Moeller; problem pointed out by Brice Canvel (EPFL),
|
||||||
Alain Hiltgen (UBS), Serge Vaudenay (EPFL), and
|
Alain Hiltgen (UBS), Serge Vaudenay (EPFL), and
|
||||||
@ -1313,7 +2075,7 @@
|
|||||||
|
|
||||||
Remote buffer overflow in SSL3 protocol - an attacker could
|
Remote buffer overflow in SSL3 protocol - an attacker could
|
||||||
supply an oversized master key in Kerberos-enabled versions.
|
supply an oversized master key in Kerberos-enabled versions.
|
||||||
(CAN-2002-0657)
|
(CVE-2002-0657)
|
||||||
[Ben Laurie (CHATS)]
|
[Ben Laurie (CHATS)]
|
||||||
|
|
||||||
*) Change the SSL kerb5 codes to match RFC 2712.
|
*) Change the SSL kerb5 codes to match RFC 2712.
|
||||||
@ -2997,7 +3759,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
Changes between 0.9.6l and 0.9.6m [17 Mar 2004]
|
Changes between 0.9.6l and 0.9.6m [17 Mar 2004]
|
||||||
|
|
||||||
*) Fix null-pointer assignment in do_change_cipher_spec() revealed
|
*) Fix null-pointer assignment in do_change_cipher_spec() revealed
|
||||||
by using the Codenomicon TLS Test Tool (CAN-2004-0079)
|
by using the Codenomicon TLS Test Tool (CVE-2004-0079)
|
||||||
[Joe Orton, Steve Henson]
|
[Joe Orton, Steve Henson]
|
||||||
|
|
||||||
Changes between 0.9.6k and 0.9.6l [04 Nov 2003]
|
Changes between 0.9.6k and 0.9.6l [04 Nov 2003]
|
||||||
@ -3005,7 +3767,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
*) Fix additional bug revealed by the NISCC test suite:
|
*) Fix additional bug revealed by the NISCC test suite:
|
||||||
|
|
||||||
Stop bug triggering large recursion when presented with
|
Stop bug triggering large recursion when presented with
|
||||||
certain ASN.1 tags (CAN-2003-0851)
|
certain ASN.1 tags (CVE-2003-0851)
|
||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
Changes between 0.9.6j and 0.9.6k [30 Sep 2003]
|
Changes between 0.9.6j and 0.9.6k [30 Sep 2003]
|
||||||
@ -3013,7 +3775,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
*) Fix various bugs revealed by running the NISCC test suite:
|
*) Fix various bugs revealed by running the NISCC test suite:
|
||||||
|
|
||||||
Stop out of bounds reads in the ASN1 code when presented with
|
Stop out of bounds reads in the ASN1 code when presented with
|
||||||
invalid tags (CAN-2003-0543 and CAN-2003-0544).
|
invalid tags (CVE-2003-0543 and CVE-2003-0544).
|
||||||
|
|
||||||
If verify callback ignores invalid public key errors don't try to check
|
If verify callback ignores invalid public key errors don't try to check
|
||||||
certificate signature with the NULL public key.
|
certificate signature with the NULL public key.
|
||||||
@ -3065,7 +3827,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
via timing by performing a MAC computation even if incorrrect
|
via timing by performing a MAC computation even if incorrrect
|
||||||
block cipher padding has been found. This is a countermeasure
|
block cipher padding has been found. This is a countermeasure
|
||||||
against active attacks where the attacker has to distinguish
|
against active attacks where the attacker has to distinguish
|
||||||
between bad padding and a MAC verification error. (CAN-2003-0078)
|
between bad padding and a MAC verification error. (CVE-2003-0078)
|
||||||
|
|
||||||
[Bodo Moeller; problem pointed out by Brice Canvel (EPFL),
|
[Bodo Moeller; problem pointed out by Brice Canvel (EPFL),
|
||||||
Alain Hiltgen (UBS), Serge Vaudenay (EPFL), and
|
Alain Hiltgen (UBS), Serge Vaudenay (EPFL), and
|
||||||
@ -3198,7 +3960,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
*) Add various sanity checks to asn1_get_length() to reject
|
*) Add various sanity checks to asn1_get_length() to reject
|
||||||
the ASN1 length bytes if they exceed sizeof(long), will appear
|
the ASN1 length bytes if they exceed sizeof(long), will appear
|
||||||
negative or the content length exceeds the length of the
|
negative or the content length exceeds the length of the
|
||||||
supplied buffer. (CAN-2002-0659)
|
supplied buffer. (CVE-2002-0659)
|
||||||
[Steve Henson, Adi Stav <stav@mercury.co.il>, James Yonan <jim@ntlp.com>]
|
[Steve Henson, Adi Stav <stav@mercury.co.il>, James Yonan <jim@ntlp.com>]
|
||||||
|
|
||||||
*) Assertions for various potential buffer overflows, not known to
|
*) Assertions for various potential buffer overflows, not known to
|
||||||
@ -3206,15 +3968,15 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Ben Laurie (CHATS)]
|
[Ben Laurie (CHATS)]
|
||||||
|
|
||||||
*) Various temporary buffers to hold ASCII versions of integers were
|
*) Various temporary buffers to hold ASCII versions of integers were
|
||||||
too small for 64 bit platforms. (CAN-2002-0655)
|
too small for 64 bit platforms. (CVE-2002-0655)
|
||||||
[Matthew Byng-Maddick <mbm@aldigital.co.uk> and Ben Laurie (CHATS)>
|
[Matthew Byng-Maddick <mbm@aldigital.co.uk> and Ben Laurie (CHATS)>
|
||||||
|
|
||||||
*) Remote buffer overflow in SSL3 protocol - an attacker could
|
*) Remote buffer overflow in SSL3 protocol - an attacker could
|
||||||
supply an oversized session ID to a client. (CAN-2002-0656)
|
supply an oversized session ID to a client. (CVE-2002-0656)
|
||||||
[Ben Laurie (CHATS)]
|
[Ben Laurie (CHATS)]
|
||||||
|
|
||||||
*) Remote buffer overflow in SSL2 protocol - an attacker could
|
*) Remote buffer overflow in SSL2 protocol - an attacker could
|
||||||
supply an oversized client master key. (CAN-2002-0656)
|
supply an oversized client master key. (CVE-2002-0656)
|
||||||
[Ben Laurie (CHATS)]
|
[Ben Laurie (CHATS)]
|
||||||
|
|
||||||
Changes between 0.9.6c and 0.9.6d [9 May 2002]
|
Changes between 0.9.6c and 0.9.6d [9 May 2002]
|
||||||
|
524
Configure
524
Configure
@ -6,7 +6,9 @@ eval 'exec perl -S $0 ${1+"$@"}'
|
|||||||
##
|
##
|
||||||
|
|
||||||
require 5.000;
|
require 5.000;
|
||||||
use strict;
|
eval 'use strict;';
|
||||||
|
|
||||||
|
print STDERR "Warning: perl module strict not found.\n" if ($@);
|
||||||
|
|
||||||
# see INSTALL for instructions.
|
# see INSTALL for instructions.
|
||||||
|
|
||||||
@ -114,15 +116,17 @@ my $tlib="-lnsl -lsocket";
|
|||||||
my $bits1="THIRTY_TWO_BIT ";
|
my $bits1="THIRTY_TWO_BIT ";
|
||||||
my $bits2="SIXTY_FOUR_BIT ";
|
my $bits2="SIXTY_FOUR_BIT ";
|
||||||
|
|
||||||
my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o:dx86-elf.o yx86-elf.o:ax86-elf.o:bx86-elf.o:mx86-elf.o:sx86-elf.o s512sse2-elf.o:cx86-elf.o:rx86-elf.o:rm86-elf.o:r586-elf.o";
|
my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o mo86-elf.o:dx86-elf.o yx86-elf.o:ax86-elf.o:bx86-elf.o:mx86-elf.o:sx86-elf.o s512sse2-elf.o:cx86-elf.o:rx86-elf.o:rm86-elf.o:r586-elf.o";
|
||||||
my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o:dx86-cof.o yx86-cof.o:ax86-cof.o:bx86-cof.o:mx86-cof.o:sx86-cof.o s512sse2-cof.o:cx86-cof.o:rx86-cof.o:rm86-cof.o:r586-cof.o";
|
my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o mo86-cof.o:dx86-cof.o yx86-cof.o:ax86-cof.o:bx86-cof.o:mx86-cof.o:sx86-cof.o s512sse2-cof.o:cx86-cof.o:rx86-cof.o:rm86-cof.o:r586-cof.o";
|
||||||
my $x86_out_asm="x86cpuid-out.o:bn86-out.o co86-out.o:dx86-out.o yx86-out.o:ax86-out.o:bx86-out.o:mx86-out.o:sx86-out.o s512sse2-out.o:cx86-out.o:rx86-out.o:rm86-out.o:r586-out.o";
|
my $x86_out_asm="x86cpuid-out.o:bn86-out.o co86-out.o mo86-out.o:dx86-out.o yx86-out.o:ax86-out.o:bx86-out.o:mx86-out.o:sx86-out.o s512sse2-out.o:cx86-out.o:rx86-out.o:rm86-out.o:r586-out.o";
|
||||||
|
|
||||||
my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o::::md5-x86_64.o:::rc4-x86_64.o::";
|
my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o::";
|
||||||
my $ia64_asm=":ia64.o::aes_core.o aes_cbc.o aes-ia64.o:::sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o::";
|
|
||||||
|
|
||||||
my $no_asm="::::::::::";
|
my $no_asm="::::::::::";
|
||||||
|
|
||||||
|
my $ia64_asm=$no_asm;
|
||||||
|
my $s390x_asm=$no_asm;
|
||||||
|
|
||||||
# As for $BSDthreads. Idea is to maintain "collective" set of flags,
|
# As for $BSDthreads. Idea is to maintain "collective" set of flags,
|
||||||
# which would cover all BSD flavors. -pthread applies to them all,
|
# which would cover all BSD flavors. -pthread applies to them all,
|
||||||
# but is treated differently. OpenBSD expands is as -D_POSIX_THREAD
|
# but is treated differently. OpenBSD expands is as -D_POSIX_THREAD
|
||||||
@ -155,17 +159,17 @@ my %table=(
|
|||||||
"debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
"debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||||
"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||||
"debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll",
|
"debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll",
|
||||||
"debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -mcpu=i486 -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared",
|
"debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -m32 -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared",
|
||||||
"debug-steve-linux-pseudo64", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DOPENSSL_NO_ASM -g -mcpu=i486 -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:SIXTY_FOUR_BIT:${no_asm}:dlfcn:linux-shared",
|
"debug-steve-linux-pseudo64", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DOPENSSL_NO_ASM -g -mcpu=i486 -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:SIXTY_FOUR_BIT:${no_asm}:dlfcn:linux-shared",
|
||||||
"debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-geoff","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-geoff","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
|
"debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
|
||||||
"debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
|
"debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
|
||||||
"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"dist", "cc:-O::(unknown)::::::",
|
"dist", "cc:-O::(unknown)::::::",
|
||||||
|
|
||||||
# Basic configs that should work on any (32 and less bit) box
|
# Basic configs that should work on any (32 and less bit) box
|
||||||
@ -173,10 +177,8 @@ my %table=(
|
|||||||
"cc", "cc:-O::(unknown)::::::",
|
"cc", "cc:-O::(unknown)::::::",
|
||||||
|
|
||||||
####VOS Configurations
|
####VOS Configurations
|
||||||
"vos-gcc","gcc:-b hppa1.1-stratus-vos -O3 -Wall -Wuninitialized -D_POSIX_C_SOURCE=200112L -D_BSD::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
|
"vos-gcc","gcc:-O3 -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
|
||||||
"debug-vos-gcc","gcc:-b hppa1.1-stratus-vos -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
|
"debug-vos-gcc","gcc:-O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
|
||||||
"vos-vcc","vcc:-b i386-stratus-vos -O3 -D_POSIX_C_SOURCE=200112L -D_BSD::(unknown):VOS:-Wl,-map::${no_asm}:::::.so:",
|
|
||||||
"debug-vos-vcc","vcc:-b i386-stratus-vos -O0 -g -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map::${no_asm}:::::.so:",
|
|
||||||
|
|
||||||
#### Solaris x86 with GNU C setups
|
#### Solaris x86 with GNU C setups
|
||||||
# -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have to do it
|
# -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have to do it
|
||||||
@ -184,7 +186,7 @@ my %table=(
|
|||||||
# surrounds it with #APP #NO_APP comment pair which (at least Solaris
|
# surrounds it with #APP #NO_APP comment pair which (at least Solaris
|
||||||
# 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
|
# 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
|
||||||
# error message.
|
# error message.
|
||||||
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
# -shared -static-libgcc might appear controversial, but modules taken
|
# -shared -static-libgcc might appear controversial, but modules taken
|
||||||
# from static libgcc do not have relocations and linking them into our
|
# from static libgcc do not have relocations and linking them into our
|
||||||
# shared objects doesn't have any negative side-effects. On the contrary,
|
# shared objects doesn't have any negative side-effects. On the contrary,
|
||||||
@ -197,29 +199,29 @@ my %table=(
|
|||||||
|
|
||||||
#### Solaris x86 with Sun C setups
|
#### Solaris x86 with Sun C setups
|
||||||
"solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"solaris64-x86_64-cc","cc:-fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${no_asm}:dlfcn:solaris-shared:-KPIC:-xarch=amd64 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris64-x86_64-cc","cc:-fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:solaris-shared:-KPIC:-xarch=amd64 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
#### SPARC Solaris with GNU C setups
|
#### SPARC Solaris with GNU C setups
|
||||||
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
# -m32 should be safe to add as long as driver recognizes -mcpu=ultrasparc
|
# -m32 should be safe to add as long as driver recognizes -mcpu=ultrasparc
|
||||||
"solaris-sparcv9-gcc","gcc:-m32 -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8plus.o:des_enc-sparc.o fcrypt_b.o:::md5-sparcv8plus.o::::::dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-sparcv9-gcc","gcc:-m32 -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:::des_enc-sparc.o fcrypt_b.o:::md5-sparcv9.o::::::dlfcn:solaris-shared:-fPIC:-m64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-m64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
####
|
####
|
||||||
"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8.o::::::::::dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -O -g -mcpu=ultrasparc -pedantic -ansi -Wall -Wshadow -Wno-long-long -D__EXTENSIONS__ -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8plus.o:des_enc-sparc.o fcrypt_b.o:::md5-sparcv8plus.o::::::dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -O -g -mcpu=ultrasparc -pedantic -ansi -Wall -Wshadow -Wno-long-long -D__EXTENSIONS__ -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
#### SPARC Solaris with Sun C setups
|
#### SPARC Solaris with Sun C setups
|
||||||
# SC4.0 doesn't pass 'make test', upgrade to SC5.0 or SC4.2.
|
# SC4.0 doesn't pass 'make test', upgrade to SC5.0 or SC4.2.
|
||||||
# SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8
|
# SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8
|
||||||
# SC5.0 note: Compiler common patch 107357-01 or later is required!
|
# SC5.0 note: Compiler common patch 107357-01 or later is required!
|
||||||
"solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR::sparcv8plus.o:des_enc-sparc.o fcrypt_b.o:::md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:::des_enc-sparc.o fcrypt_b.o:::md5-sparcv9.o::::::dlfcn:solaris-shared:-KPIC:-xarch=v9 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs",
|
"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-xarch=v9 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs",
|
||||||
####
|
####
|
||||||
"debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::sparcv8.o::::::::::dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR::sparcv8plus.o::::md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
#### SunOS configs, assuming sparc for the gcc one.
|
#### SunOS configs, assuming sparc for the gcc one.
|
||||||
#"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::(unknown):SUNOS::DES_UNROLL:${no_asm}::",
|
#"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::(unknown):SUNOS::DES_UNROLL:${no_asm}::",
|
||||||
@ -232,11 +234,11 @@ my %table=(
|
|||||||
#### IRIX 6.x configs
|
#### IRIX 6.x configs
|
||||||
# Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
|
# Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
|
||||||
# './Configure irix-cc -o32' manually.
|
# './Configure irix-cc -o32' manually.
|
||||||
"irix-mips3-gcc","gcc:-mabi=n32 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT::mips3.o::::::::::dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT:${no_asm}:dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT::mips3.o::::::::::dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT:${no_asm}:dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
# N64 ABI builds.
|
# N64 ABI builds.
|
||||||
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::mips3.o::::::::::dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${no_asm}:dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::mips3.o::::::::::dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${no_asm}:dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
#### Unified HP-UX ANSI C configs.
|
#### Unified HP-UX ANSI C configs.
|
||||||
# Special notes:
|
# Special notes:
|
||||||
@ -269,8 +271,8 @@ my %table=(
|
|||||||
# Since there is mention of this in shlib/hpux10-cc.sh
|
# Since there is mention of this in shlib/hpux10-cc.sh
|
||||||
"hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-Wl,+s -ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-Wl,+s -ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"hpux-parisc2-gcc","gcc:-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1::pa-risc2.o::::::::::dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux-parisc2-gcc","gcc:-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::dlfcn:hpux-shared:-fpic:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dlfcn:hpux-shared:-fpic:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
# More attempts at unified 10.X and 11.X targets for HP C compiler.
|
# More attempts at unified 10.X and 11.X targets for HP C compiler.
|
||||||
#
|
#
|
||||||
@ -278,8 +280,8 @@ my %table=(
|
|||||||
# Kevin Steves <ks@hp.se>
|
# Kevin Steves <ks@hp.se>
|
||||||
"hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"hpux-parisc1_0-cc","cc:+DAportable +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux-parisc1_0-cc","cc:+DAportable +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2.o::::::::::dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::dlfcn:hpux-shared:+Z:+DD64 -b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dlfcn:hpux-shared:+Z:+DD64 -b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
# HP/UX IA-64 targets
|
# HP/UX IA-64 targets
|
||||||
"hpux-ia64-cc","cc:-Ae +DD32 +O2 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:+Z:+DD32 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux-ia64-cc","cc:-Ae +DD32 +O2 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:+Z:+DD32 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
@ -287,7 +289,7 @@ my %table=(
|
|||||||
# with debugging of the following config.
|
# with debugging of the following config.
|
||||||
"hpux64-ia64-cc","cc:-Ae +DD64 +O3 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:+Z:+DD64 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux64-ia64-cc","cc:-Ae +DD64 +O3 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:+Z:+DD64 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
# GCC builds...
|
# GCC builds...
|
||||||
"hpux-ia64-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT::ia64.o::aes-ia64.o:::sha256-ia64.o sha512-ia64.o::rc4-ia64.o:::dlfcn:hpux-shared:-fpic:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux-ia64-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:-fpic:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"hpux64-ia64-gcc","gcc:-mlp64 -O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:-fpic:-mlp64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"hpux64-ia64-gcc","gcc:-mlp64 -O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:-fpic:-mlp64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
# Legacy HPUX 9.X configs...
|
# Legacy HPUX 9.X configs...
|
||||||
@ -307,7 +309,7 @@ my %table=(
|
|||||||
# For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version
|
# For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version
|
||||||
#
|
#
|
||||||
"osf1-alpha-gcc", "gcc:-O3::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:${no_asm}:dlfcn:alpha-osf1-shared:::.so",
|
"osf1-alpha-gcc", "gcc:-O3::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:${no_asm}:dlfcn:alpha-osf1-shared:::.so",
|
||||||
"ofs1-alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${no_asm}:dlfcn:alpha-osf1-shared:::.so",
|
"osf1-alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${no_asm}:dlfcn:alpha-osf1-shared:::.so",
|
||||||
"tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${no_asm}:dlfcn:alpha-osf1-shared::-msym:.so",
|
"tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${no_asm}:dlfcn:alpha-osf1-shared::-msym:.so",
|
||||||
|
|
||||||
####
|
####
|
||||||
@ -316,27 +318,28 @@ my %table=(
|
|||||||
# *-generic* is endian-neutral target, but ./config is free to
|
# *-generic* is endian-neutral target, but ./config is free to
|
||||||
# throw in -D[BL]_ENDIAN, whichever appropriate...
|
# throw in -D[BL]_ENDIAN, whichever appropriate...
|
||||||
"linux-generic32","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-generic32","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc32.o::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
#### IA-32 targets...
|
#### IA-32 targets...
|
||||||
"linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
|
"linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
|
||||||
####
|
####
|
||||||
"linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
# -bpowerpc64-linux is transient option, -m64 should be the one to use...
|
"linux-ppc64", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"linux-ppc64", "gcc:-bpowerpc64-linux -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc64.o::::::::::dlfcn:linux-shared:-fPIC:-bpowerpc64-linux:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
|
||||||
"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
"linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
"linux-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
#### SPARC Linux setups
|
#### SPARC Linux setups
|
||||||
# Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
|
# Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
|
||||||
# assisted with debugging of following two configs.
|
# assisted with debugging of following two configs.
|
||||||
"linux-sparcv8","gcc:-mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-sparcv8","gcc:-mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
# it's a real mess with -mcpu=ultrasparc option under Linux, but
|
# it's a real mess with -mcpu=ultrasparc option under Linux, but
|
||||||
# -Wa,-Av8plus should do the trick no matter what.
|
# -Wa,-Av8plus should do the trick no matter what.
|
||||||
"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8plus.o:des_enc-sparc.o fcrypt_b.o:::md5-sparcv8plus.o::::::dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
# GCC 3.1 is a requirement
|
# GCC 3.1 is a requirement
|
||||||
"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:ULTRASPARC:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::des_enc-sparc.o fcrypt_b.o:::md5-sparcv9.o::::::dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:ULTRASPARC:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
#### Alpha Linux with GNU C and Compaq C setups
|
#### Alpha Linux with GNU C and Compaq C setups
|
||||||
# Special notes:
|
# Special notes:
|
||||||
# - linux-alpha+bwx-gcc is ment to be used from ./config only. If you
|
# - linux-alpha+bwx-gcc is ment to be used from ./config only. If you
|
||||||
@ -355,22 +358,25 @@ my %table=(
|
|||||||
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${no_asm}",
|
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${no_asm}",
|
||||||
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${no_asm}",
|
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${no_asm}",
|
||||||
|
|
||||||
|
# Android: Linux but without -DTERMIO and pointers to headers and libs.
|
||||||
|
"android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
#### *BSD [do see comment about ${BSDthreads} above!]
|
#### *BSD [do see comment about ${BSDthreads} above!]
|
||||||
"BSD-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"BSD-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"BSD-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"BSD-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"BSD-x86-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"BSD-x86-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"debug-BSD-x86-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall -g::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-BSD-x86-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall -g::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"BSD-sparcv8", "gcc:-DB_ENDIAN -DTERMIOS -O3 -mv8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL::sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"BSD-sparcv8", "gcc:-DB_ENDIAN -DTERMIOS -O3 -mv8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
"BSD-generic64","gcc:-DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"BSD-generic64","gcc:-DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
# -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
|
# -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
|
||||||
# simply *happens* to work around a compiler bug in gcc 3.3.3,
|
# simply *happens* to work around a compiler bug in gcc 3.3.3,
|
||||||
# triggered by RIPEMD160 code.
|
# triggered by RIPEMD160 code.
|
||||||
"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:::des_enc-sparc.o fcrypt_b.o:::md5-sparcv9.o::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"BSD-ia64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"BSD-ia64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"BSD-x86_64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"BSD-x86_64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
"bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
"nextstep", "cc:-O -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
|
"nextstep", "cc:-O -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||||
"nextstep3.3", "cc:-O3 -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
|
"nextstep3.3", "cc:-O3 -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||||
@ -397,21 +403,19 @@ my %table=(
|
|||||||
"unixware-2.0","cc:-DFILIO_H -DNO_STRINGS_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
|
"unixware-2.0","cc:-DFILIO_H -DNO_STRINGS_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||||
"unixware-2.1","cc:-O -DFILIO_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
|
"unixware-2.1","cc:-O -DFILIO_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||||
"unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=pentium -Wall::-D_REENTRANT::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"OpenUNIX-8","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
|
||||||
"OpenUNIX-8-gcc","gcc:-O -DFILIO_H -fomit-frame-pointer::-pthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
|
||||||
"sco3-gcc", "gcc:-O3 -fomit-frame-pointer -Dssize_t=int -DNO_SYS_UN_H::(unknown)::-lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::", # the SCO assembler doesn't seem to like our assembler files ...
|
|
||||||
# SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the SCO cc.
|
# SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the SCO cc.
|
||||||
"sco5-cc", "cc:-belf::(unknown)::-lsocket -lnsl:${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"sco5-cc", "cc:-belf::(unknown)::-lsocket -lnsl:${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"sco5-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown)::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"sco5-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown)::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
#### IBM's AIX.
|
#### IBM's AIX.
|
||||||
"aix3-cc", "cc:-O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::BN_LLONG RC4_CHAR:::",
|
"aix3-cc", "cc:-O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::BN_LLONG RC4_CHAR:::",
|
||||||
"aix-gcc", "gcc:-O -DB_ENDIAN::-D_THREAD_SAFE:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:",
|
"aix-gcc", "gcc:-O -DB_ENDIAN::-D_THREAD_SAFE:AIX::BN_LLONG RC4_CHAR:${no_asm}:dlfcn:aix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
|
||||||
|
"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-D_THREAD_SAFE:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${no_asm}:dlfcn:aix-shared::-maix64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X64",
|
||||||
# Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE
|
# Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE
|
||||||
# at build time. $OBJECT_MODE is respected at ./config stage!
|
# at build time. $OBJECT_MODE is respected at ./config stage!
|
||||||
"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384::-qthreaded:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared::-q32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
|
"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR:${no_asm}:dlfcn:aix-shared::-q32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
|
||||||
"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-q64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64",
|
"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${no_asm}:dlfcn:aix-shared::-q64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64",
|
||||||
|
|
||||||
#
|
#
|
||||||
# Cray T90 and similar (SDSC)
|
# Cray T90 and similar (SDSC)
|
||||||
@ -460,8 +464,8 @@ my %table=(
|
|||||||
"OS390-Unix","c89.sh:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
|
"OS390-Unix","c89.sh:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
|
||||||
|
|
||||||
# Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
|
# Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
|
||||||
"VC-WIN64I","cl::::WIN64I::SIXTY_FOUR_BIT EXPORT_VAR_AS_FN:${no_asm}:win32",
|
"VC-WIN64I","cl::::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32",
|
||||||
"VC-WIN64A","cl::::WIN64A::SIXTY_FOUR_BIT EXPORT_VAR_AS_FN:${no_asm}:win32",
|
"VC-WIN64A","cl::::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32",
|
||||||
|
|
||||||
# Visual C targets
|
# Visual C targets
|
||||||
"VC-NT","cl::::WINNT::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
|
"VC-NT","cl::::WINNT::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
|
||||||
@ -480,29 +484,32 @@ my %table=(
|
|||||||
# Cygwin
|
# Cygwin
|
||||||
"Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown):CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32",
|
"Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown):CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32",
|
||||||
"Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_coff_asm}:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
|
"Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_coff_asm}:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
|
||||||
"debug-Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:::CYGWIN32:::${no_asm}:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
|
"debug-Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:::CYGWIN32:::${no_asm}:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
|
||||||
|
|
||||||
# NetWare from David Ward (dsward@novell.com) - requires MetroWerks NLM development tools
|
# NetWare from David Ward (dsward@novell.com) - requires MetroWerks NLM development tools
|
||||||
# netware-clib => legacy CLib c-runtime support
|
# netware-clib => legacy CLib c-runtime support
|
||||||
"netware-clib", "mwccnlm:::::${x86_gcc_opts}:::",
|
"netware-clib", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::",
|
||||||
# netware-libc => LibC/NKS support
|
# netware-libc => LibC/NKS support
|
||||||
"netware-libc", "mwccnlm:::::BN_LLONG ${x86_gcc_opts}:::",
|
# NetWare defaults socket bio to WinSock sockets. However, the LibC build can be
|
||||||
"netware-libc-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall::::${x86_gcc_opts}:::",
|
# configured to use BSD sockets instead.
|
||||||
|
"netware-libc", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::",
|
||||||
|
"netware-libc-bsdsock", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::",
|
||||||
|
"netware-libc-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall:::::BN_LLONG ${x86_gcc_opts}::",
|
||||||
|
|
||||||
# DJGPP
|
# DJGPP
|
||||||
"DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall -DDEVRANDOM=\"/dev/urandom\\x24\":::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:",
|
"DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall:::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:",
|
||||||
|
|
||||||
# Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
|
# Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
|
||||||
"ultrix-cc","cc:-std1 -O -Olimit 2500 -DL_ENDIAN::(unknown):::::::",
|
"ultrix-cc","cc:-std1 -O -Olimit 2500 -DL_ENDIAN::(unknown):::::::",
|
||||||
"ultrix-gcc","gcc:-O3 -DL_ENDIAN::(unknown):::::::",
|
"ultrix-gcc","gcc:-O3 -DL_ENDIAN::(unknown):::BN_LLONG::::",
|
||||||
# K&R C is no longer supported; you need gcc on old Ultrix installations
|
# K&R C is no longer supported; you need gcc on old Ultrix installations
|
||||||
##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown):::::::",
|
##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown):::::::",
|
||||||
|
|
||||||
##### MacOS X (a.k.a. Rhapsody or Darwin) setup
|
##### MacOS X (a.k.a. Rhapsody or Darwin) setup
|
||||||
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
|
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
|
||||||
"darwin-ppc-cc","cc:-O3 -DB_ENDIAN::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o:::::::::::darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
"darwin-ppc-cc","cc:-O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||||
"darwin-i386-cc","cc:-O3 -fomit-frame-pointer -fno-common -DB_ENDIAN::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::darwin-shared:-fPIC:-dunamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
"darwin-i386-cc","cc:-O3 -fomit-frame-pointer -fno-common::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||||
"debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o:::::::::::darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
"debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||||
|
|
||||||
##### A/UX
|
##### A/UX
|
||||||
"aux3-gcc","gcc:-O2 -DTERMIO::(unknown):AUX:-lbsd:RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
|
"aux3-gcc","gcc:-O2 -DTERMIO::(unknown):AUX:-lbsd:RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
|
||||||
@ -511,15 +518,17 @@ my %table=(
|
|||||||
"newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
|
"newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
|
||||||
|
|
||||||
##### GNU Hurd
|
##### GNU Hurd
|
||||||
"hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
|
"hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
|
||||||
|
|
||||||
##### OS/2 EMX
|
##### OS/2 EMX
|
||||||
"OS2-EMX", "gcc::::::::",
|
"OS2-EMX", "gcc::::::::",
|
||||||
|
|
||||||
##### VxWorks for various targets
|
##### VxWorks for various targets
|
||||||
|
"vxworks-ppc60x","ccppc:-D_REENTRANT -mrtp -mhard-float -mstrict-align -fno-implicit-fp -DPPC32_fp60x -O2 -fstrength-reduce -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip:::VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/common:::linux_ppc32.o:::::::::::::::ranlibppc:",
|
||||||
|
"vxworks-ppcgen","ccppc:-D_REENTRANT -mrtp -msoft-float -mstrict-align -O1 -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip:::VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/sfcommon:::linux_ppc32.o:::::::::::::::ranlibppc:",
|
||||||
"vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
|
"vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
|
||||||
"vxworks-ppc750","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h \$(DEBUG_FLAG):::VXWORKS:-r:::::",
|
"vxworks-ppc750","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h \$(DEBUG_FLAG):::VXWORKS:-r:::::",
|
||||||
"vxworks-ppc750-debug","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g:::VXWORKS:-r:::::",
|
"vxworks-ppc750-debug","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g:::VXWORKS:-r:::::",
|
||||||
"vxworks-ppc860","ccppc:-nostdinc -msoft-float -DCPU=PPC860 -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
|
"vxworks-ppc860","ccppc:-nostdinc -msoft-float -DCPU=PPC860 -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
|
||||||
"vxworks-mipsle","ccmips:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -DL_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -DCPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r::${no_asm}::::::ranlibmips:",
|
"vxworks-mipsle","ccmips:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -DL_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -DCPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r::${no_asm}::::::ranlibmips:",
|
||||||
|
|
||||||
@ -530,7 +539,7 @@ my %table=(
|
|||||||
|
|
||||||
my @MK1MF_Builds=qw(VC-WIN64I VC-WIN64A
|
my @MK1MF_Builds=qw(VC-WIN64I VC-WIN64A
|
||||||
VC-NT VC-CE VC-WIN32
|
VC-NT VC-CE VC-WIN32
|
||||||
BC-32 OS2-EMX netware-clib netware-libc);
|
BC-32 OS2-EMX netware-clib netware-libc netware-libc-bsdsock);
|
||||||
|
|
||||||
my $idx = 0;
|
my $idx = 0;
|
||||||
my $idx_cc = $idx++;
|
my $idx_cc = $idx++;
|
||||||
@ -562,12 +571,19 @@ my $idx_arflags = $idx++;
|
|||||||
my $prefix="";
|
my $prefix="";
|
||||||
my $openssldir="";
|
my $openssldir="";
|
||||||
my $exe_ext="";
|
my $exe_ext="";
|
||||||
my $install_prefix="";
|
my $install_prefix="$ENV{'INSTALL_PREFIX'}";
|
||||||
|
my $cross_compile_prefix="$ENV{'CROSS_COMPILE'}";
|
||||||
|
my $fipslibdir="/usr/local/ssl/lib/fips-1.0/";
|
||||||
|
my $nofipscanistercheck=0;
|
||||||
|
my $fipsdso=0;
|
||||||
|
my $fipscanisterinternal="n";
|
||||||
|
my $baseaddr="0xFB00000";
|
||||||
my $no_threads=0;
|
my $no_threads=0;
|
||||||
my $threads=0;
|
my $threads=0;
|
||||||
my $no_shared=0; # but "no-shared" is default
|
my $no_shared=0; # but "no-shared" is default
|
||||||
my $zlib=1; # but "no-zlib" is default
|
my $zlib=1; # but "no-zlib" is default
|
||||||
my $no_krb5=0; # but "no-krb5" is implied unless "--with-krb5-..." is used
|
my $no_krb5=0; # but "no-krb5" is implied unless "--with-krb5-..." is used
|
||||||
|
my $no_rfc3779=1; # but "no-rfc3779" is default
|
||||||
my $no_asm=0;
|
my $no_asm=0;
|
||||||
my $no_dso=0;
|
my $no_dso=0;
|
||||||
my $no_gmp=0;
|
my $no_gmp=0;
|
||||||
@ -584,6 +600,7 @@ my $rc2 ="crypto/rc2/rc2.h";
|
|||||||
my $bf ="crypto/bf/bf_locl.h";
|
my $bf ="crypto/bf/bf_locl.h";
|
||||||
my $bn_asm ="bn_asm.o";
|
my $bn_asm ="bn_asm.o";
|
||||||
my $des_enc="des_enc.o fcrypt_b.o";
|
my $des_enc="des_enc.o fcrypt_b.o";
|
||||||
|
my $fips_des_enc="fips_des_enc.o";
|
||||||
my $aes_enc="aes_core.o aes_cbc.o";
|
my $aes_enc="aes_core.o aes_cbc.o";
|
||||||
my $bf_enc ="bf_enc.o";
|
my $bf_enc ="bf_enc.o";
|
||||||
my $cast_enc="c_enc.o";
|
my $cast_enc="c_enc.o";
|
||||||
@ -595,14 +612,18 @@ my $rmd160_obj="";
|
|||||||
my $processor="";
|
my $processor="";
|
||||||
my $default_ranlib;
|
my $default_ranlib;
|
||||||
my $perl;
|
my $perl;
|
||||||
|
my $fips=0;
|
||||||
|
|
||||||
|
|
||||||
# All of the following is disabled by default (RC5 was enabled before 0.9.8):
|
# All of the following is disabled by default (RC5 was enabled before 0.9.8):
|
||||||
|
|
||||||
my %disabled = ( # "what" => "comment"
|
my %disabled = ( # "what" => "comment"
|
||||||
"gmp" => "default",
|
"camellia" => "default",
|
||||||
|
"gmp" => "default",
|
||||||
"mdc2" => "default",
|
"mdc2" => "default",
|
||||||
"rc5" => "default",
|
"rc5" => "default",
|
||||||
|
"rfc3779" => "default",
|
||||||
|
"seed" => "default",
|
||||||
"shared" => "default",
|
"shared" => "default",
|
||||||
"zlib" => "default",
|
"zlib" => "default",
|
||||||
"zlib-dynamic" => "default"
|
"zlib-dynamic" => "default"
|
||||||
@ -613,7 +634,7 @@ my %disabled = ( # "what" => "comment"
|
|||||||
# For symmetry, "disable-..." is a synonym for "no-...".
|
# For symmetry, "disable-..." is a synonym for "no-...".
|
||||||
|
|
||||||
# This is what $depflags will look like with the above default:
|
# This is what $depflags will look like with the above default:
|
||||||
my $default_depflags = "-DOPENSSL_NO_GMP -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 ";
|
my $default_depflags = "-DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_GMP -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED ";
|
||||||
|
|
||||||
|
|
||||||
my $no_sse2=0;
|
my $no_sse2=0;
|
||||||
@ -697,7 +718,7 @@ PROCESS_ARGS:
|
|||||||
{
|
{
|
||||||
while (<IN>)
|
while (<IN>)
|
||||||
{
|
{
|
||||||
chop;
|
chomp;
|
||||||
if (/^CONFIGURE_ARGS=(.*)/)
|
if (/^CONFIGURE_ARGS=(.*)/)
|
||||||
{
|
{
|
||||||
$argvstring=$1;
|
$argvstring=$1;
|
||||||
@ -716,12 +737,36 @@ PROCESS_ARGS:
|
|||||||
}
|
}
|
||||||
elsif (/^386$/)
|
elsif (/^386$/)
|
||||||
{ $processor=386; }
|
{ $processor=386; }
|
||||||
|
elsif (/^fips$/)
|
||||||
|
{
|
||||||
|
$fips=1;
|
||||||
|
}
|
||||||
elsif (/^rsaref$/)
|
elsif (/^rsaref$/)
|
||||||
{
|
{
|
||||||
# No RSAref support any more since it's not needed.
|
# No RSAref support any more since it's not needed.
|
||||||
# The check for the option is there so scripts aren't
|
# The check for the option is there so scripts aren't
|
||||||
# broken
|
# broken
|
||||||
}
|
}
|
||||||
|
elsif (/^nofipscanistercheck$/)
|
||||||
|
{
|
||||||
|
$fips = 1;
|
||||||
|
$nofipscanistercheck = 1;
|
||||||
|
}
|
||||||
|
elsif (/^fipscanisterbuild$/)
|
||||||
|
{
|
||||||
|
$fips = 1;
|
||||||
|
$nofipscanistercheck = 1;
|
||||||
|
$fipslibdir="";
|
||||||
|
$fipscanisterinternal="y";
|
||||||
|
}
|
||||||
|
elsif (/^fipsdso$/)
|
||||||
|
{
|
||||||
|
$fips = 1;
|
||||||
|
$nofipscanistercheck = 1;
|
||||||
|
$fipslibdir="";
|
||||||
|
$fipscanisterinternal="y";
|
||||||
|
$fipsdso = 1;
|
||||||
|
}
|
||||||
elsif (/^[-+]/)
|
elsif (/^[-+]/)
|
||||||
{
|
{
|
||||||
if (/^-[lL](.*)$/)
|
if (/^-[lL](.*)$/)
|
||||||
@ -748,6 +793,22 @@ PROCESS_ARGS:
|
|||||||
{
|
{
|
||||||
$withargs{"krb5-".$1}=$2;
|
$withargs{"krb5-".$1}=$2;
|
||||||
}
|
}
|
||||||
|
elsif (/^--with-zlib-lib=(.*)$/)
|
||||||
|
{
|
||||||
|
$withargs{"zlib-lib"}=$1;
|
||||||
|
}
|
||||||
|
elsif (/^--with-zlib-include=(.*)$/)
|
||||||
|
{
|
||||||
|
$withargs{"zlib-include"}="-I$1";
|
||||||
|
}
|
||||||
|
elsif (/^--with-fipslibdir=(.*)$/)
|
||||||
|
{
|
||||||
|
$fipslibdir="$1/";
|
||||||
|
}
|
||||||
|
elsif (/^--with-baseaddr=(.*)$/)
|
||||||
|
{
|
||||||
|
$baseaddr="$1";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print STDERR $usage;
|
print STDERR $usage;
|
||||||
@ -761,7 +822,7 @@ PROCESS_ARGS:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
die "target already defined - $target\n" if ($target ne "");
|
die "target already defined - $target (offending arg: $_)\n" if ($target ne "");
|
||||||
$target=$_;
|
$target=$_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -851,83 +912,6 @@ print "Configuring for $target\n";
|
|||||||
|
|
||||||
&usage if (!defined($table{$target}));
|
&usage if (!defined($table{$target}));
|
||||||
|
|
||||||
|
|
||||||
foreach (sort (keys %disabled))
|
|
||||||
{
|
|
||||||
$options .= " no-$_";
|
|
||||||
|
|
||||||
printf " no-%-12s %-10s", $_, "[$disabled{$_}]";
|
|
||||||
|
|
||||||
if (/^dso$/)
|
|
||||||
{ $no_dso = 1; }
|
|
||||||
elsif (/^threads$/)
|
|
||||||
{ $no_threads = 1; }
|
|
||||||
elsif (/^shared$/)
|
|
||||||
{ $no_shared = 1; }
|
|
||||||
elsif (/^zlib$/)
|
|
||||||
{ $zlib = 0; }
|
|
||||||
elsif (/^zlib-dynamic$/)
|
|
||||||
{ }
|
|
||||||
elsif (/^symlinks$/)
|
|
||||||
{ $symlink = 0; }
|
|
||||||
elsif (/^sse2$/)
|
|
||||||
{ $no_sse2 = 1; }
|
|
||||||
else
|
|
||||||
{
|
|
||||||
my ($ALGO, $algo);
|
|
||||||
($ALGO = $algo = $_) =~ tr/[a-z]/[A-Z]/;
|
|
||||||
|
|
||||||
if (/^asm$/ || /^err$/ || /^hw$/ || /^hw-/)
|
|
||||||
{
|
|
||||||
$openssl_other_defines .= "#define OPENSSL_NO_$ALGO\n";
|
|
||||||
print " OPENSSL_NO_$ALGO";
|
|
||||||
|
|
||||||
if (/^err$/)
|
|
||||||
{ $flags .= "-DOPENSSL_NO_ERR "; }
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$openssl_algorithm_defines .= "#define OPENSSL_NO_$ALGO\n";
|
|
||||||
print " OPENSSL_NO_$ALGO";
|
|
||||||
|
|
||||||
if (/^krb5$/)
|
|
||||||
{ $no_krb5 = 1; }
|
|
||||||
else
|
|
||||||
{
|
|
||||||
push @skip, $algo;
|
|
||||||
print " (skip dir)";
|
|
||||||
|
|
||||||
$depflags .="-DOPENSSL_NO_$ALGO ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds;
|
|
||||||
|
|
||||||
$IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin");
|
|
||||||
|
|
||||||
$exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "mingw");
|
|
||||||
$exe_ext=".pm" if ($target =~ /vos/);
|
|
||||||
$openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq "");
|
|
||||||
$prefix=$openssldir if $prefix eq "";
|
|
||||||
|
|
||||||
$default_ranlib= &which("ranlib") or $default_ranlib="true";
|
|
||||||
$perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl")
|
|
||||||
or $perl="perl";
|
|
||||||
|
|
||||||
chop $openssldir if $openssldir =~ /\/$/;
|
|
||||||
chop $prefix if $prefix =~ /\/$/;
|
|
||||||
|
|
||||||
$openssldir=$prefix . "/ssl" if $openssldir eq "";
|
|
||||||
$openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/])/;
|
|
||||||
|
|
||||||
|
|
||||||
print "IsMK1MF=$IsMK1MF\n";
|
|
||||||
|
|
||||||
my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
|
my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
|
||||||
my $cc = $fields[$idx_cc];
|
my $cc = $fields[$idx_cc];
|
||||||
my $cflags = $fields[$idx_cflags];
|
my $cflags = $fields[$idx_cflags];
|
||||||
@ -955,6 +939,110 @@ my $shared_extension = $fields[$idx_shared_extension];
|
|||||||
my $ranlib = $fields[$idx_ranlib];
|
my $ranlib = $fields[$idx_ranlib];
|
||||||
my $arflags = $fields[$idx_arflags];
|
my $arflags = $fields[$idx_arflags];
|
||||||
|
|
||||||
|
if ($fips)
|
||||||
|
{
|
||||||
|
delete $disabled{"shared"} if ($disabled{"shared"} eq "default");
|
||||||
|
$disabled{"asm"}="forced"
|
||||||
|
if ($target !~ "VC\-.*" &&
|
||||||
|
"$cpuid_obj:$bn_obj:$aes_obj:$des_obj:$sha1_obj" eq "::::");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
foreach (sort (keys %disabled))
|
||||||
|
{
|
||||||
|
$options .= " no-$_";
|
||||||
|
|
||||||
|
printf " no-%-12s %-10s", $_, "[$disabled{$_}]";
|
||||||
|
|
||||||
|
if (/^dso$/)
|
||||||
|
{ $no_dso = 1; }
|
||||||
|
elsif (/^threads$/)
|
||||||
|
{ $no_threads = 1; }
|
||||||
|
elsif (/^shared$/)
|
||||||
|
{ $no_shared = 1; }
|
||||||
|
elsif (/^zlib$/)
|
||||||
|
{ $zlib = 0; }
|
||||||
|
elsif (/^static-engine$/)
|
||||||
|
{ }
|
||||||
|
elsif (/^zlib-dynamic$/)
|
||||||
|
{ }
|
||||||
|
elsif (/^symlinks$/)
|
||||||
|
{ $symlink = 0; }
|
||||||
|
elsif (/^sse2$/)
|
||||||
|
{ $no_sse2 = 1; }
|
||||||
|
else
|
||||||
|
{
|
||||||
|
my ($ALGO, $algo);
|
||||||
|
($ALGO = $algo = $_) =~ tr/[a-z]/[A-Z]/;
|
||||||
|
|
||||||
|
if (/^asm$/ || /^err$/ || /^hw$/ || /^hw-/)
|
||||||
|
{
|
||||||
|
$openssl_other_defines .= "#define OPENSSL_NO_$ALGO\n";
|
||||||
|
print " OPENSSL_NO_$ALGO";
|
||||||
|
|
||||||
|
if (/^err$/) { $flags .= "-DOPENSSL_NO_ERR "; }
|
||||||
|
elsif (/^asm$/) { $no_asm = 1; }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$openssl_algorithm_defines .= "#define OPENSSL_NO_$ALGO\n";
|
||||||
|
print " OPENSSL_NO_$ALGO";
|
||||||
|
|
||||||
|
if (/^krb5$/)
|
||||||
|
{ $no_krb5 = 1; }
|
||||||
|
else
|
||||||
|
{
|
||||||
|
push @skip, $algo;
|
||||||
|
print " (skip dir)";
|
||||||
|
|
||||||
|
$depflags .="-DOPENSSL_NO_$ALGO ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds;
|
||||||
|
|
||||||
|
$IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin" && !is_msys());
|
||||||
|
|
||||||
|
$no_shared = 0 if ($fipsdso && !$IsMK1MF);
|
||||||
|
|
||||||
|
$exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "mingw");
|
||||||
|
$exe_ext=".pm" if ($target =~ /vos/);
|
||||||
|
if ($openssldir eq "" and $prefix eq "")
|
||||||
|
{
|
||||||
|
if ($fips)
|
||||||
|
{
|
||||||
|
$openssldir="/usr/local/ssl/fips-1.0";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$openssldir="/usr/local/ssl";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$prefix=$openssldir if $prefix eq "";
|
||||||
|
|
||||||
|
$default_ranlib= &which("ranlib") or $default_ranlib="true";
|
||||||
|
$perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl")
|
||||||
|
or $perl="perl";
|
||||||
|
|
||||||
|
chop $openssldir if $openssldir =~ /\/$/;
|
||||||
|
chop $prefix if $prefix =~ /\/$/;
|
||||||
|
|
||||||
|
$openssldir=$prefix . "/ssl" if $openssldir eq "";
|
||||||
|
$openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/])/;
|
||||||
|
|
||||||
|
|
||||||
|
print "IsMK1MF=$IsMK1MF\n";
|
||||||
|
|
||||||
|
# '%' in $lflags is used to split flags to "pre-" and post-flags
|
||||||
|
my ($prelflags,$postlflags)=split('%',$lflags);
|
||||||
|
if (defined($postlflags)) { $lflags=$postlflags; }
|
||||||
|
else { $lflags=$prelflags; undef $prelflags; }
|
||||||
|
|
||||||
my $no_shared_warn=0;
|
my $no_shared_warn=0;
|
||||||
my $no_user_cflags=0;
|
my $no_user_cflags=0;
|
||||||
|
|
||||||
@ -1083,6 +1171,8 @@ if ($no_asm)
|
|||||||
{
|
{
|
||||||
$cpuid_obj=$bn_obj=$des_obj=$aes_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj="";
|
$cpuid_obj=$bn_obj=$des_obj=$aes_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj="";
|
||||||
$sha1_obj=$md5_obj=$rmd160_obj="";
|
$sha1_obj=$md5_obj=$rmd160_obj="";
|
||||||
|
$cflags=~s/\-D[BL]_ENDIAN// if ($fips);
|
||||||
|
$thread_cflags=~s/\-D[BL]_ENDIAN// if ($fips);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$no_shared)
|
if (!$no_shared)
|
||||||
@ -1113,7 +1203,7 @@ if ($zlib)
|
|||||||
my $shared_mark = "";
|
my $shared_mark = "";
|
||||||
if ($shared_target eq "")
|
if ($shared_target eq "")
|
||||||
{
|
{
|
||||||
$no_shared_warn = 1 if !$no_shared;
|
$no_shared_warn = 1 if !$no_shared && !$fips;
|
||||||
$no_shared = 1;
|
$no_shared = 1;
|
||||||
}
|
}
|
||||||
if (!$no_shared)
|
if (!$no_shared)
|
||||||
@ -1124,22 +1214,32 @@ if (!$no_shared)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($no_shared)
|
if (!$IsMK1MF)
|
||||||
{
|
{
|
||||||
$openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n";
|
if ($no_shared)
|
||||||
}
|
{
|
||||||
else
|
$openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n";
|
||||||
{
|
}
|
||||||
$openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n";
|
else
|
||||||
|
{
|
||||||
|
$openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
|
$cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
|
||||||
# Compiler fix-ups
|
|
||||||
if ($target =~ /icc$/)
|
#
|
||||||
|
# Platform fix-ups
|
||||||
|
#
|
||||||
|
if ($target =~ /\-icc$/) # Intel C compiler
|
||||||
{
|
{
|
||||||
my($iccver)=`$cc -V 2>&1`;
|
my $iccver=0;
|
||||||
if ($iccver =~ /Version ([0-9]+)\./) { $iccver=$1; }
|
if (open(FD,"$cc -V 2>&1 |"))
|
||||||
else { $iccver=0; }
|
{
|
||||||
|
while(<FD>) { $iccver=$1 if (/Version ([0-9]+)\./); }
|
||||||
|
close(FD);
|
||||||
|
}
|
||||||
|
|
||||||
if ($iccver>=8)
|
if ($iccver>=8)
|
||||||
{
|
{
|
||||||
# Eliminate unnecessary dependency from libirc.a. This is
|
# Eliminate unnecessary dependency from libirc.a. This is
|
||||||
@ -1147,6 +1247,28 @@ if ($target =~ /icc$/)
|
|||||||
# apps/openssl can end up in endless loop upon startup...
|
# apps/openssl can end up in endless loop upon startup...
|
||||||
$cflags.=" -Dmemcpy=__builtin_memcpy -Dmemset=__builtin_memset";
|
$cflags.=" -Dmemcpy=__builtin_memcpy -Dmemset=__builtin_memset";
|
||||||
}
|
}
|
||||||
|
if ($iccver>=9)
|
||||||
|
{
|
||||||
|
$cflags.=" -i-static";
|
||||||
|
$cflags=~s/\-no_cpprt/-no-cpprt/;
|
||||||
|
}
|
||||||
|
if ($iccver>=10)
|
||||||
|
{
|
||||||
|
$cflags=~s/\-i\-static/-static-intel/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Unlike other OSes (like Solaris, Linux, Tru64, IRIX) BSD run-time
|
||||||
|
# linkers (tested OpenBSD, NetBSD and FreeBSD) "demand" RPATH set on
|
||||||
|
# .so objects. Apparently application RPATH is not global and does
|
||||||
|
# not apply to .so linked with other .so. Problem manifests itself
|
||||||
|
# when libssl.so fails to load libcrypto.so. One can argue that we
|
||||||
|
# should engrave this into Makefile.shared rules or into BSD-* config
|
||||||
|
# lines above. Meanwhile let's try to be cautious and pass -rpath to
|
||||||
|
# linker only when --prefix is not /usr.
|
||||||
|
if ($target =~ /^BSD\-/)
|
||||||
|
{
|
||||||
|
$shared_ldflag.=" -Wl,-rpath,\$(LIBRPATH)" if ($prefix !~ m|^/usr[/]*$|);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($sys_id ne "")
|
if ($sys_id ne "")
|
||||||
@ -1172,6 +1294,13 @@ $bn_obj = $bn_asm unless $bn_obj ne "";
|
|||||||
$cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn86/);
|
$cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn86/);
|
||||||
$cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /bn86/);
|
$cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /bn86/);
|
||||||
|
|
||||||
|
$cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /\-mont|mo86\-/);
|
||||||
|
|
||||||
|
if ($fips)
|
||||||
|
{
|
||||||
|
$openssl_other_defines.="#define OPENSSL_FIPS\n";
|
||||||
|
}
|
||||||
|
|
||||||
$des_obj=$des_enc unless ($des_obj =~ /\.o$/);
|
$des_obj=$des_enc unless ($des_obj =~ /\.o$/);
|
||||||
$bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/);
|
$bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/);
|
||||||
$cast_obj=$cast_enc unless ($cast_obj =~ /\.o$/);
|
$cast_obj=$cast_enc unless ($cast_obj =~ /\.o$/);
|
||||||
@ -1183,7 +1312,7 @@ if ($sha1_obj =~ /\.o$/)
|
|||||||
$cflags.=" -DSHA1_ASM" if ($sha1_obj =~ /sx86/ || $sha1_obj =~ /sha1/);
|
$cflags.=" -DSHA1_ASM" if ($sha1_obj =~ /sx86/ || $sha1_obj =~ /sha1/);
|
||||||
$cflags.=" -DSHA256_ASM" if ($sha1_obj =~ /sha256/);
|
$cflags.=" -DSHA256_ASM" if ($sha1_obj =~ /sha256/);
|
||||||
$cflags.=" -DSHA512_ASM" if ($sha1_obj =~ /sha512/);
|
$cflags.=" -DSHA512_ASM" if ($sha1_obj =~ /sha512/);
|
||||||
if ($sha1_obj =~ /x86/)
|
if ($sha1_obj =~ /sse2/)
|
||||||
{ if ($no_sse2)
|
{ if ($no_sse2)
|
||||||
{ $sha1_obj =~ s/\S*sse2\S+//; }
|
{ $sha1_obj =~ s/\S*sse2\S+//; }
|
||||||
elsif ($cflags !~ /OPENSSL_IA32_SSE2/)
|
elsif ($cflags !~ /OPENSSL_IA32_SSE2/)
|
||||||
@ -1251,7 +1380,7 @@ print OUT "### Generated automatically from Makefile.org by Configure.\n\n";
|
|||||||
my $sdirs=0;
|
my $sdirs=0;
|
||||||
while (<IN>)
|
while (<IN>)
|
||||||
{
|
{
|
||||||
chop;
|
chomp;
|
||||||
$sdirs = 1 if /^SDIRS=/;
|
$sdirs = 1 if /^SDIRS=/;
|
||||||
if ($sdirs) {
|
if ($sdirs) {
|
||||||
my $dir;
|
my $dir;
|
||||||
@ -1274,10 +1403,20 @@ while (<IN>)
|
|||||||
s/^PLATFORM=.*$/PLATFORM=$target/;
|
s/^PLATFORM=.*$/PLATFORM=$target/;
|
||||||
s/^OPTIONS=.*$/OPTIONS=$options/;
|
s/^OPTIONS=.*$/OPTIONS=$options/;
|
||||||
s/^CONFIGURE_ARGS=.*$/CONFIGURE_ARGS=$argvstring/;
|
s/^CONFIGURE_ARGS=.*$/CONFIGURE_ARGS=$argvstring/;
|
||||||
s/^CC=.*$/CC= $cc/;
|
if ($cross_compile_prefix)
|
||||||
|
{
|
||||||
|
s/^CC=.*$/CROSS_COMPILE= $cross_compile_prefix\nCC= \$\(CROSS_COMPILE\)$cc/;
|
||||||
|
s/^AR=\s*/AR= \$\(CROSS_COMPILE\)/;
|
||||||
|
s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE\)/;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
s/^CC=.*$/CC= $cc/;
|
||||||
|
s/^RANLIB=.*/RANLIB= $ranlib/;
|
||||||
|
}
|
||||||
s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc";
|
s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc";
|
||||||
s/^CFLAG=.*$/CFLAG= $cflags/;
|
s/^CFLAG=.*$/CFLAG= $cflags/;
|
||||||
s/^DEPFLAG=.*$/DEPFLAG= $depflags/;
|
s/^DEPFLAG=.*$/DEPFLAG= $depflags/;
|
||||||
|
s/^PEX_LIBS=.*$/PEX_LIBS= $prelflags/;
|
||||||
s/^EX_LIBS=.*$/EX_LIBS= $lflags/;
|
s/^EX_LIBS=.*$/EX_LIBS= $lflags/;
|
||||||
s/^EXE_EXT=.*$/EXE_EXT= $exe_ext/;
|
s/^EXE_EXT=.*$/EXE_EXT= $exe_ext/;
|
||||||
s/^CPUID_OBJ=.*$/CPUID_OBJ= $cpuid_obj/;
|
s/^CPUID_OBJ=.*$/CPUID_OBJ= $cpuid_obj/;
|
||||||
@ -1292,14 +1431,30 @@ while (<IN>)
|
|||||||
s/^SHA1_ASM_OBJ=.*$/SHA1_ASM_OBJ= $sha1_obj/;
|
s/^SHA1_ASM_OBJ=.*$/SHA1_ASM_OBJ= $sha1_obj/;
|
||||||
s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
|
s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
|
||||||
s/^PROCESSOR=.*/PROCESSOR= $processor/;
|
s/^PROCESSOR=.*/PROCESSOR= $processor/;
|
||||||
s/^RANLIB=.*/RANLIB= $ranlib/;
|
|
||||||
s/^ARFLAGS=.*/ARFLAGS= $arflags/;
|
s/^ARFLAGS=.*/ARFLAGS= $arflags/;
|
||||||
s/^PERL=.*/PERL= $perl/;
|
s/^PERL=.*/PERL= $perl/;
|
||||||
s/^KRB5_INCLUDES=.*/KRB5_INCLUDES=$withargs{"krb5-include"}/;
|
s/^KRB5_INCLUDES=.*/KRB5_INCLUDES=$withargs{"krb5-include"}/;
|
||||||
s/^LIBKRB5=.*/LIBKRB5=$withargs{"krb5-lib"}/;
|
s/^LIBKRB5=.*/LIBKRB5=$withargs{"krb5-lib"}/;
|
||||||
|
s/^LIBZLIB=.*/LIBZLIB=$withargs{"zlib-lib"}/;
|
||||||
|
s/^ZLIB_INCLUDE=.*/ZLIB_INCLUDE=$withargs{"zlib-include"}/;
|
||||||
|
s/^FIPSLIBDIR=.*/FIPSLIBDIR=$fipslibdir/;
|
||||||
|
if ($fipsdso)
|
||||||
|
{
|
||||||
|
s/^FIPSCANLIB=.*/FIPSCANLIB=libfips/;
|
||||||
|
s/^SHARED_FIPS=.*/SHARED_FIPS=libfips\$(SHLIB_EXT)/;
|
||||||
|
s/^SHLIBDIRS=.*/SHLIBDIRS= crypto ssl fips/;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s/^FIPSCANLIB=.*/FIPSCANLIB=libcrypto/ if $fips;
|
||||||
|
s/^SHARED_FIPS=.*/SHARED_FIPS=/;
|
||||||
|
s/^SHLIBDIRS=.*/SHLIBDIRS= crypto ssl/;
|
||||||
|
}
|
||||||
|
s/^FIPSCANISTERINTERNAL=.*/FIPSCANISTERINTERNAL=$fipscanisterinternal/;
|
||||||
|
s/^BASEADDR=.*/BASEADDR=$baseaddr/;
|
||||||
s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/;
|
s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/;
|
||||||
s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
|
s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
|
||||||
s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared);
|
s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_FIPS) \$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared);
|
||||||
if ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*$/)
|
if ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*$/)
|
||||||
{
|
{
|
||||||
my $sotmp = $1;
|
my $sotmp = $1;
|
||||||
@ -1594,9 +1749,16 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "040904b0"
|
BLOCK "040904b0"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
#if defined(FIPS)
|
||||||
|
VALUE "Comments", "WARNING: TEST VERSION ONLY ***NOT*** FIPS 140-2 VALIDATED.\\0"
|
||||||
|
#endif
|
||||||
// Required:
|
// Required:
|
||||||
VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0"
|
VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0"
|
||||||
|
#if defined(FIPS)
|
||||||
|
VALUE "FileDescription", "TEST UNVALIDATED FIPS140-2 DLL\\0"
|
||||||
|
#else
|
||||||
VALUE "FileDescription", "OpenSSL Shared Library\\0"
|
VALUE "FileDescription", "OpenSSL Shared Library\\0"
|
||||||
|
#endif
|
||||||
VALUE "FileVersion", "$version\\0"
|
VALUE "FileVersion", "$version\\0"
|
||||||
#if defined(CRYPTO)
|
#if defined(CRYPTO)
|
||||||
VALUE "InternalName", "libeay32\\0"
|
VALUE "InternalName", "libeay32\\0"
|
||||||
@ -1604,12 +1766,15 @@ BEGIN
|
|||||||
#elif defined(SSL)
|
#elif defined(SSL)
|
||||||
VALUE "InternalName", "ssleay32\\0"
|
VALUE "InternalName", "ssleay32\\0"
|
||||||
VALUE "OriginalFilename", "ssleay32.dll\\0"
|
VALUE "OriginalFilename", "ssleay32.dll\\0"
|
||||||
|
#elif defined(FIPS)
|
||||||
|
VALUE "InternalName", "libosslfips\\0"
|
||||||
|
VALUE "OriginalFilename", "libosslfips.dll\\0"
|
||||||
#endif
|
#endif
|
||||||
VALUE "ProductName", "The OpenSSL Toolkit\\0"
|
VALUE "ProductName", "The OpenSSL Toolkit\\0"
|
||||||
VALUE "ProductVersion", "$version\\0"
|
VALUE "ProductVersion", "$version\\0"
|
||||||
// Optional:
|
// Optional:
|
||||||
//VALUE "Comments", "\\0"
|
//VALUE "Comments", "\\0"
|
||||||
VALUE "LegalCopyright", "Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
|
VALUE "LegalCopyright", "Copyright © 1998-2007 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
|
||||||
//VALUE "LegalTrademarks", "\\0"
|
//VALUE "LegalTrademarks", "\\0"
|
||||||
//VALUE "PrivateBuild", "\\0"
|
//VALUE "PrivateBuild", "\\0"
|
||||||
//VALUE "SpecialBuild", "\\0"
|
//VALUE "SpecialBuild", "\\0"
|
||||||
@ -1646,6 +1811,21 @@ libraries on this platform, they will at least look at it and try their best
|
|||||||
(but please first make sure you have tried with a current version of OpenSSL).
|
(but please first make sure you have tried with a current version of OpenSSL).
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
print <<\EOF if ($fipscanisterinternal eq "y");
|
||||||
|
|
||||||
|
WARNING: OpenSSL has been configured using unsupported option(s) to internally
|
||||||
|
generate a fipscanister.o object module for TESTING PURPOSES ONLY; that
|
||||||
|
compiled module is NOT FIPS 140-2 validated and CANNOT be used to replace the
|
||||||
|
OpenSSL FIPS Object Module as identified by the CMVP
|
||||||
|
(http://csrc.nist.gov/cryptval/) in any application requiring the use of FIPS
|
||||||
|
140-2 validated software.
|
||||||
|
|
||||||
|
This is an OpenSSL 0.9.8-fips test version.
|
||||||
|
|
||||||
|
See the file README.FIPS for details of how to build a test library.
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
|
|
||||||
sub usage
|
sub usage
|
||||||
@ -1791,3 +1971,11 @@ sub test_sanity
|
|||||||
print STDERR "No sanity errors detected!\n" if $errorcnt == 0;
|
print STDERR "No sanity errors detected!\n" if $errorcnt == 0;
|
||||||
return $errorcnt;
|
return $errorcnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Attempt to detect MSYS environment
|
||||||
|
|
||||||
|
sub is_msys
|
||||||
|
{
|
||||||
|
return 1 if (exists $ENV{"TERM"} && $ENV{"TERM"} eq "msys");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
91
FAQ
91
FAQ
@ -31,6 +31,7 @@ OpenSSL - Frequently Asked Questions
|
|||||||
* Why does my browser give a warning about a mismatched hostname?
|
* Why does my browser give a warning about a mismatched hostname?
|
||||||
* How do I install a CA certificate into a browser?
|
* How do I install a CA certificate into a browser?
|
||||||
* Why is OpenSSL x509 DN output not conformant to RFC2253?
|
* Why is OpenSSL x509 DN output not conformant to RFC2253?
|
||||||
|
* What is a "128 bit certificate"? Can I create one with OpenSSL?
|
||||||
|
|
||||||
[BUILD] Questions about building and testing OpenSSL
|
[BUILD] Questions about building and testing OpenSSL
|
||||||
|
|
||||||
@ -47,6 +48,8 @@ OpenSSL - Frequently Asked Questions
|
|||||||
* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
|
* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
|
||||||
* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
|
* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
|
||||||
* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
|
* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
|
||||||
|
* Why does compiler fail to compile sha512.c?
|
||||||
|
* Test suite still fails, what to do?
|
||||||
|
|
||||||
[PROG] Questions about programming with OpenSSL
|
[PROG] Questions about programming with OpenSSL
|
||||||
|
|
||||||
@ -71,7 +74,7 @@ OpenSSL - Frequently Asked Questions
|
|||||||
* Which is the current version of OpenSSL?
|
* Which is the current version of OpenSSL?
|
||||||
|
|
||||||
The current version is available from <URL: http://www.openssl.org>.
|
The current version is available from <URL: http://www.openssl.org>.
|
||||||
OpenSSL 0.9.7g was released on April 11, 2005.
|
OpenSSL 0.9.8e was released on February 23rd, 2007.
|
||||||
|
|
||||||
In addition to the current stable release, you can also access daily
|
In addition to the current stable release, you can also access daily
|
||||||
snapshots of the OpenSSL development version at <URL:
|
snapshots of the OpenSSL development version at <URL:
|
||||||
@ -142,8 +145,8 @@ less Unix-centric, it might have been used much earlier.
|
|||||||
|
|
||||||
With version 0.9.6 OpenSSL was extended to interface to external crypto
|
With version 0.9.6 OpenSSL was extended to interface to external crypto
|
||||||
hardware. This was realized in a special release '0.9.6-engine'. With
|
hardware. This was realized in a special release '0.9.6-engine'. With
|
||||||
version 0.9.7 (not yet released) the changes were merged into the main
|
version 0.9.7 the changes were merged into the main development line,
|
||||||
development line, so that the special release is no longer necessary.
|
so that the special release is no longer necessary.
|
||||||
|
|
||||||
* How do I check the authenticity of the OpenSSL distribution?
|
* How do I check the authenticity of the OpenSSL distribution?
|
||||||
|
|
||||||
@ -385,6 +388,43 @@ interface, the "-nameopt" option could be introduded. See the manual
|
|||||||
page of the "openssl x509" commandline tool for details. The old behaviour
|
page of the "openssl x509" commandline tool for details. The old behaviour
|
||||||
has however been left as default for the sake of compatibility.
|
has however been left as default for the sake of compatibility.
|
||||||
|
|
||||||
|
* What is a "128 bit certificate"? Can I create one with OpenSSL?
|
||||||
|
|
||||||
|
The term "128 bit certificate" is a highly misleading marketing term. It does
|
||||||
|
*not* refer to the size of the public key in the certificate! A certificate
|
||||||
|
containing a 128 bit RSA key would have negligible security.
|
||||||
|
|
||||||
|
There were various other names such as "magic certificates", "SGC
|
||||||
|
certificates", "step up certificates" etc.
|
||||||
|
|
||||||
|
You can't generally create such a certificate using OpenSSL but there is no
|
||||||
|
need to any more. Nowadays web browsers using unrestricted strong encryption
|
||||||
|
are generally available.
|
||||||
|
|
||||||
|
When there were tight export restrictions on the export of strong encryption
|
||||||
|
software from the US only weak encryption algorithms could be freely exported
|
||||||
|
(initially 40 bit and then 56 bit). It was widely recognised that this was
|
||||||
|
inadequate. A relaxation the rules allowed the use of strong encryption but
|
||||||
|
only to an authorised server.
|
||||||
|
|
||||||
|
Two slighly different techniques were developed to support this, one used by
|
||||||
|
Netscape was called "step up", the other used by MSIE was called "Server Gated
|
||||||
|
Cryptography" (SGC). When a browser initially connected to a server it would
|
||||||
|
check to see if the certificate contained certain extensions and was issued by
|
||||||
|
an authorised authority. If these test succeeded it would reconnect using
|
||||||
|
strong encryption.
|
||||||
|
|
||||||
|
Only certain (initially one) certificate authorities could issue the
|
||||||
|
certificates and they generally cost more than ordinary certificates.
|
||||||
|
|
||||||
|
Although OpenSSL can create certificates containing the appropriate extensions
|
||||||
|
the certificate would not come from a permitted authority and so would not
|
||||||
|
be recognized.
|
||||||
|
|
||||||
|
The export laws were later changed to allow almost unrestricted use of strong
|
||||||
|
encryption so these certificates are now obsolete.
|
||||||
|
|
||||||
|
|
||||||
[BUILD] =======================================================================
|
[BUILD] =======================================================================
|
||||||
|
|
||||||
* Why does the linker complain about undefined symbols?
|
* Why does the linker complain about undefined symbols?
|
||||||
@ -607,6 +647,27 @@ Intel P4, under control of kernel which does not support SSE2
|
|||||||
instruction extentions. See accompanying INSTALL file and
|
instruction extentions. See accompanying INSTALL file and
|
||||||
OPENSSL_ia32cap(3) documentation page for further information.
|
OPENSSL_ia32cap(3) documentation page for further information.
|
||||||
|
|
||||||
|
* Why does compiler fail to compile sha512.c?
|
||||||
|
|
||||||
|
OpenSSL SHA-512 implementation depends on compiler support for 64-bit
|
||||||
|
integer type. Few elder compilers [ULTRIX cc, SCO compiler to mention a
|
||||||
|
couple] lack support for this and therefore are incapable of compiling
|
||||||
|
the module in question. The recommendation is to disable SHA-512 by
|
||||||
|
adding no-sha512 to ./config [or ./Configure] command line. Another
|
||||||
|
possible alternative might be to switch to GCC.
|
||||||
|
|
||||||
|
* Test suite still fails, what to do?
|
||||||
|
|
||||||
|
Another common reason for failure to complete some particular test is
|
||||||
|
simply bad code generated by a buggy component in toolchain or deficiency
|
||||||
|
in run-time environment. There are few cases documented in PROBLEMS file,
|
||||||
|
consult it for possible workaround before you beat the drum. Even if you
|
||||||
|
don't find solution or even mention there, do reserve for possibility of
|
||||||
|
a compiler bug. Compiler bugs might appear in rather bizarre ways, they
|
||||||
|
never make sense, and tend to emerge when you least expect them. In order
|
||||||
|
to identify one, drop optimization level, e.g. by editing CFLAG line in
|
||||||
|
top-level Makefile, recompile and re-run the test.
|
||||||
|
|
||||||
[PROG] ========================================================================
|
[PROG] ========================================================================
|
||||||
|
|
||||||
* Is OpenSSL thread-safe?
|
* Is OpenSSL thread-safe?
|
||||||
@ -618,8 +679,9 @@ libraries. If your platform is not one of these, consult the INSTALL
|
|||||||
file.
|
file.
|
||||||
|
|
||||||
Multi-threaded applications must provide two callback functions to
|
Multi-threaded applications must provide two callback functions to
|
||||||
OpenSSL. This is described in the threads(3) manpage.
|
OpenSSL by calling CRYPTO_set_locking_callback() and
|
||||||
|
CRYPTO_set_id_callback(). This is described in the threads(3)
|
||||||
|
manpage.
|
||||||
|
|
||||||
* I've compiled a program under Windows and it crashes: why?
|
* I've compiled a program under Windows and it crashes: why?
|
||||||
|
|
||||||
@ -639,10 +701,10 @@ your application must link against the same by which OpenSSL was
|
|||||||
built. If you are using MS Visual C++ (Studio) this can be changed
|
built. If you are using MS Visual C++ (Studio) this can be changed
|
||||||
by:
|
by:
|
||||||
|
|
||||||
1. Select Settings... from the Project Menu.
|
1. Select Settings... from the Project Menu.
|
||||||
2. Select the C/C++ Tab.
|
2. Select the C/C++ Tab.
|
||||||
3. Select "Code Generation from the "Category" drop down list box
|
3. Select "Code Generation from the "Category" drop down list box
|
||||||
4. Select the Appropriate library (see table below) from the "Use
|
4. Select the Appropriate library (see table below) from the "Use
|
||||||
run-time library" drop down list box. Perform this step for both
|
run-time library" drop down list box. Perform this step for both
|
||||||
your debug and release versions of your application (look at the
|
your debug and release versions of your application (look at the
|
||||||
top left of the settings panel to change between the two)
|
top left of the settings panel to change between the two)
|
||||||
@ -662,16 +724,19 @@ Note that debug and release libraries are NOT interchangeable. If you
|
|||||||
built OpenSSL with /MD your application must use /MD and cannot use /MDd.
|
built OpenSSL with /MD your application must use /MD and cannot use /MDd.
|
||||||
|
|
||||||
As per 0.9.8 the above limitation is eliminated for .DLLs. OpenSSL
|
As per 0.9.8 the above limitation is eliminated for .DLLs. OpenSSL
|
||||||
.DLLs compiled with some specific run-time option [we recommend the
|
.DLLs compiled with some specific run-time option [we insist on the
|
||||||
default /MD] can be deployed with application compiled with different
|
default /MD] can be deployed with application compiled with different
|
||||||
option or even different compiler. But there is a catch! Instead of
|
option or even different compiler. But there is a catch! Instead of
|
||||||
re-compiling OpenSSL toolkit, as you would have to with prior versions,
|
re-compiling OpenSSL toolkit, as you would have to with prior versions,
|
||||||
you have to compile small C snippet with compiler and/or options of
|
you have to compile small C snippet with compiler and/or options of
|
||||||
your choice. The snippet gets installed as
|
your choice. The snippet gets installed as
|
||||||
<install-root>/include/openssl/applink.c and should be either added to
|
<install-root>/include/openssl/applink.c and should be either added to
|
||||||
your project or simply #include-d in one [and only one] of your source
|
your application project or simply #include-d in one [and only one]
|
||||||
files. Failure to do either manifests itself as fatal "no
|
of your application source files. Failure to link this shim module
|
||||||
OPENSSL_Applink" error.
|
into your application manifests itself as fatal "no OPENSSL_Applink"
|
||||||
|
run-time error. An explicit reminder is due that in this situation
|
||||||
|
[mixing compiler options] it is as important to add CRYPTO_malloc_init
|
||||||
|
prior first call to OpenSSL.
|
||||||
|
|
||||||
* How do I read or write a DER encoded buffer using the ASN1 functions?
|
* How do I read or write a DER encoded buffer using the ASN1 functions?
|
||||||
|
|
||||||
|
16
INSTALL
16
INSTALL
@ -75,7 +75,9 @@
|
|||||||
no-asm Do not use assembler code.
|
no-asm Do not use assembler code.
|
||||||
|
|
||||||
386 Use the 80386 instruction set only (the default x86 code is
|
386 Use the 80386 instruction set only (the default x86 code is
|
||||||
more efficient, but requires at least a 486).
|
more efficient, but requires at least a 486). Note: Use
|
||||||
|
compiler flags for any other CPU specific configuration,
|
||||||
|
e.g. "-m32" to build x86 code on an x64 system.
|
||||||
|
|
||||||
no-sse2 Exclude SSE2 code pathes. Normally SSE2 extention is
|
no-sse2 Exclude SSE2 code pathes. Normally SSE2 extention is
|
||||||
detected at run-time, but the decision whether or not the
|
detected at run-time, but the decision whether or not the
|
||||||
@ -96,7 +98,7 @@
|
|||||||
The crypto/<cipher> directory can be removed after running
|
The crypto/<cipher> directory can be removed after running
|
||||||
"make depend".
|
"make depend".
|
||||||
|
|
||||||
-Dxxx, -lxxx, -Lxxx, -fxxx, -Kxxx These system specific options will
|
-Dxxx, -lxxx, -Lxxx, -fxxx, -mxxx, -Kxxx These system specific options will
|
||||||
be passed through to the compiler to allow you to
|
be passed through to the compiler to allow you to
|
||||||
define preprocessor symbols, specify additional libraries,
|
define preprocessor symbols, specify additional libraries,
|
||||||
library directories or other compiler options.
|
library directories or other compiler options.
|
||||||
@ -300,10 +302,10 @@
|
|||||||
Note on shared libraries
|
Note on shared libraries
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
Shared library is currently an experimental feature. The only reason to
|
Shared libraries have certain caveats. Binary backward compatibility
|
||||||
have them would be to conserve memory on systems where several program
|
can't be guaranteed before OpenSSL version 1.0. The only reason to
|
||||||
are using OpenSSL. Binary backward compatibility can't be guaranteed
|
use them would be to conserve memory on systems where several programs
|
||||||
before OpenSSL version 1.0.
|
are using OpenSSL.
|
||||||
|
|
||||||
For some systems, the OpenSSL Configure script knows what is needed to
|
For some systems, the OpenSSL Configure script knows what is needed to
|
||||||
build shared libraries for libcrypto and libssl. On these systems,
|
build shared libraries for libcrypto and libssl. On these systems,
|
||||||
@ -328,7 +330,7 @@
|
|||||||
Note on support for multiple builds
|
Note on support for multiple builds
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
OpenSSL is usually built in it's source tree. Unfortunately, this doesn't
|
OpenSSL is usually built in its source tree. Unfortunately, this doesn't
|
||||||
support building for multiple platforms from the same source tree very well.
|
support building for multiple platforms from the same source tree very well.
|
||||||
It is however possible to build in a separate tree through the use of lots
|
It is however possible to build in a separate tree through the use of lots
|
||||||
of symbolic links, which should be prepared like this:
|
of symbolic links, which should be prepared like this:
|
||||||
|
36
INSTALL.NW
36
INSTALL.NW
@ -32,6 +32,10 @@ The necessary LibC functionality ships with NetWare 6. However, earlier
|
|||||||
NetWare 5.x versions will require updates in order to run the OpenSSL LibC
|
NetWare 5.x versions will require updates in order to run the OpenSSL LibC
|
||||||
build.
|
build.
|
||||||
|
|
||||||
|
As of June 2005, the LibC build can be configured to use BSD sockets instead
|
||||||
|
of WinSock sockets. Call Configure (usually through netware\build.bat) using
|
||||||
|
a target of "netware-libc-bsdsock" instead of "netware-libc".
|
||||||
|
|
||||||
|
|
||||||
REQUIRED TOOLS:
|
REQUIRED TOOLS:
|
||||||
---------------
|
---------------
|
||||||
@ -95,7 +99,12 @@ following tools may be required:
|
|||||||
Microsoft SDK. Note: The winsock2.h support headers may change
|
Microsoft SDK. Note: The winsock2.h support headers may change
|
||||||
with various versions of winsock2.h. Check the dependencies
|
with various versions of winsock2.h. Check the dependencies
|
||||||
section on the NDK WinSock2 download page for the latest
|
section on the NDK WinSock2 download page for the latest
|
||||||
information on dependencies.
|
information on dependencies. These components are unsupported by
|
||||||
|
Novell. They are provided as a courtesy, but it is strongly
|
||||||
|
suggested that all development be done using LIBC, not CLIB.
|
||||||
|
|
||||||
|
As of June 2005, the WinSock2 components are available at:
|
||||||
|
http://forgeftp.novell.com//ws2comp/
|
||||||
|
|
||||||
|
|
||||||
NLM and NetWare libraries for C (including CLIB and XPlat):
|
NLM and NetWare libraries for C (including CLIB and XPlat):
|
||||||
@ -121,7 +130,8 @@ following tools may be required:
|
|||||||
|
|
||||||
NOTE: The LibC SDK includes the necessary WinSock2 support. It
|
NOTE: The LibC SDK includes the necessary WinSock2 support. It
|
||||||
It is not necessary to download the WinSock2 Developer when building
|
It is not necessary to download the WinSock2 Developer when building
|
||||||
for LibC.
|
for LibC. The LibC SDK also includes the appropriate BSD socket support
|
||||||
|
if configuring to use BSD sockets.
|
||||||
|
|
||||||
|
|
||||||
BUILDING:
|
BUILDING:
|
||||||
@ -172,8 +182,9 @@ the assembly code. Always run build.bat from the "openssl" directory.
|
|||||||
|
|
||||||
netware\build [target] [debug opts] [assembly opts] [configure opts]
|
netware\build [target] [debug opts] [assembly opts] [configure opts]
|
||||||
|
|
||||||
target - "netware-clib" - CLib NetWare build
|
target - "netware-clib" - CLib NetWare build (WinSock Sockets)
|
||||||
- "netware-libc" - LibC NetWare build
|
- "netware-libc" - LibC NetWare build (WinSock Sockets)
|
||||||
|
- "netware-libc-bsdsock" - LibC NetWare build (BSD Sockets)
|
||||||
|
|
||||||
debug opts - "debug" - build debug
|
debug opts - "debug" - build debug
|
||||||
|
|
||||||
@ -192,25 +203,29 @@ the assembly code. Always run build.bat from the "openssl" directory.
|
|||||||
LibC build, non-debug, using NASM assembly:
|
LibC build, non-debug, using NASM assembly:
|
||||||
netware\build.bat netware-libc nw-nasm
|
netware\build.bat netware-libc nw-nasm
|
||||||
|
|
||||||
|
LibC build, BSD sockets, non-debug, without assembly:
|
||||||
|
netware\build.bat netware-libc-bsdsock no-asm
|
||||||
|
|
||||||
Running build.bat generates a make file to be processed by your make
|
Running build.bat generates a make file to be processed by your make
|
||||||
tool (gmake or nmake):
|
tool (gmake or nmake):
|
||||||
|
|
||||||
CLIB ex: gmake -f netware\nlm_clib.mak
|
CLIB ex: gmake -f netware\nlm_clib_dbg.mak
|
||||||
LibC ex: gmake -f netware\nlm_libc.mak
|
LibC ex: gmake -f netware\nlm_libc.mak
|
||||||
|
LibC ex: gmake -f netware\nlm_libc_bsdsock.mak
|
||||||
|
|
||||||
|
|
||||||
You can also run the build scripts manually if you do not want to use the
|
You can also run the build scripts manually if you do not want to use the
|
||||||
build.bat file. Run the following scripts in the "\openssl"
|
build.bat file. Run the following scripts in the "\openssl"
|
||||||
subdirectory (in the order listed below):
|
subdirectory (in the order listed below):
|
||||||
|
|
||||||
perl configure no-asm [other config opts] [netware-clib|netware-libc]
|
perl configure no-asm [other config opts] [netware-clib|netware-libc|netware-libc-bsdsock]
|
||||||
configures no assembly build for specified netware environment
|
configures no assembly build for specified netware environment
|
||||||
(CLIB or LibC).
|
(CLIB or LibC).
|
||||||
|
|
||||||
perl util\mkfiles.pl >MINFO
|
perl util\mkfiles.pl >MINFO
|
||||||
generates a listing of source files (used by mk1mf)
|
generates a listing of source files (used by mk1mf)
|
||||||
|
|
||||||
perl util\mk1mf.pl no-asm [other config opts] [netware-clib|netware-libc >netware\nlm.mak
|
perl util\mk1mf.pl no-asm [other config opts] [netware-clib|netware-libc|netware-libc-bsdsock >netware\nlm.mak
|
||||||
generates the makefile for NetWare
|
generates the makefile for NetWare
|
||||||
|
|
||||||
gmake -f netware\nlm.mak
|
gmake -f netware\nlm.mak
|
||||||
@ -288,13 +303,6 @@ The do_tests.pl script generates a log file "\openssl\test_out\tests.log"
|
|||||||
which should be reviewed for errors. Any errors will be denoted by the word
|
which should be reviewed for errors. Any errors will be denoted by the word
|
||||||
"ERROR" in the log.
|
"ERROR" in the log.
|
||||||
|
|
||||||
NOTE: Currently (11/2002), the LibC test nlms report an error while loading
|
|
||||||
when launched from the perl script (do_tests.pl). The problems are
|
|
||||||
being addressed by the LibC development team and should be fixed in the
|
|
||||||
next release. Until the problems are corrected, the LibC test nlms
|
|
||||||
will have to be executed manually.
|
|
||||||
|
|
||||||
|
|
||||||
DEVELOPING WITH THE OPENSSL SDK:
|
DEVELOPING WITH THE OPENSSL SDK:
|
||||||
--------------------------------
|
--------------------------------
|
||||||
Now that everything is built and tested, you are ready to use the OpenSSL
|
Now that everything is built and tested, you are ready to use the OpenSSL
|
||||||
|
39
INSTALL.W32
39
INSTALL.W32
@ -3,6 +3,7 @@
|
|||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
[Instructions for building for Windows CE can be found in INSTALL.WCE]
|
[Instructions for building for Windows CE can be found in INSTALL.WCE]
|
||||||
|
[Instructions for building for Win64 can be found in INSTALL.W64]
|
||||||
|
|
||||||
Heres a few comments about building OpenSSL in Windows environments. Most
|
Heres a few comments about building OpenSSL in Windows environments. Most
|
||||||
of this is tested on Win32 but it may also work in Win 3.1 with some
|
of this is tested on Win32 but it may also work in Win 3.1 with some
|
||||||
@ -48,7 +49,9 @@
|
|||||||
|
|
||||||
Firstly you should run Configure:
|
Firstly you should run Configure:
|
||||||
|
|
||||||
> perl Configure VC-WIN32
|
> perl Configure VC-WIN32 --prefix=c:/some/openssl/dir
|
||||||
|
|
||||||
|
Where the prefix argument specifies where OpenSSL will be installed to.
|
||||||
|
|
||||||
Next you need to build the Makefiles and optionally the assembly language
|
Next you need to build the Makefiles and optionally the assembly language
|
||||||
files:
|
files:
|
||||||
@ -76,8 +79,12 @@
|
|||||||
If all is well it should compile and you will have some DLLs and executables
|
If all is well it should compile and you will have some DLLs and executables
|
||||||
in out32dll. If you want to try the tests then do:
|
in out32dll. If you want to try the tests then do:
|
||||||
|
|
||||||
> cd out32dll
|
> nmake -f ms\ntdll.mak test
|
||||||
> ..\ms\test
|
|
||||||
|
|
||||||
|
To install OpenSSL to the specified location do:
|
||||||
|
|
||||||
|
> nmake -f ms\ntdll.mak install
|
||||||
|
|
||||||
Tweaks:
|
Tweaks:
|
||||||
|
|
||||||
@ -87,6 +94,12 @@
|
|||||||
compiled in. Note that mk1mf.pl expects the platform to be the last argument
|
compiled in. Note that mk1mf.pl expects the platform to be the last argument
|
||||||
on the command line, so 'debug' must appear before that, as all other options.
|
on the command line, so 'debug' must appear before that, as all other options.
|
||||||
|
|
||||||
|
|
||||||
|
By default in 0.9.8 OpenSSL will compile builtin ENGINES into the libeay32.dll
|
||||||
|
shared library. If you specify the "no-static-engine" option on the command
|
||||||
|
line to Configure the shared library build (ms\ntdll.mak) will compile the
|
||||||
|
engines as separate DLLs.
|
||||||
|
|
||||||
The default Win32 environment is to leave out any Windows NT specific
|
The default Win32 environment is to leave out any Windows NT specific
|
||||||
features.
|
features.
|
||||||
|
|
||||||
@ -97,6 +110,8 @@
|
|||||||
You can also build a static version of the library using the Makefile
|
You can also build a static version of the library using the Makefile
|
||||||
ms\nt.mak
|
ms\nt.mak
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Borland C++ builder 5
|
Borland C++ builder 5
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
@ -286,3 +301,21 @@
|
|||||||
(e.g. fopen()), and OpenSSL cannot change these; so in general you cannot
|
(e.g. fopen()), and OpenSSL cannot change these; so in general you cannot
|
||||||
rely on CRYPTO_malloc_init() solving your problem, and you should
|
rely on CRYPTO_malloc_init() solving your problem, and you should
|
||||||
consistently use the multithreaded library.
|
consistently use the multithreaded library.
|
||||||
|
|
||||||
|
Linking your application
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
If you link with static OpenSSL libraries [those built with ms/nt.mak],
|
||||||
|
then you're expected to additionally link your application with
|
||||||
|
WSOCK32.LIB, ADVAPI32.LIB, GDI32.LIB and USER32.LIB. Those developing
|
||||||
|
non-interactive service applications might feel concerned about linking
|
||||||
|
with latter two, as they are justly associated with interactive desktop,
|
||||||
|
which is not available to service processes. The toolkit is designed
|
||||||
|
to detect in which context it's currently executed, GUI, console app
|
||||||
|
or service, and act accordingly, namely whether or not to actually make
|
||||||
|
GUI calls.
|
||||||
|
|
||||||
|
If you link with OpenSSL .DLLs, then you're expected to include into
|
||||||
|
your application code small "shim" snippet, which provides glue between
|
||||||
|
OpenSSL BIO layer and your compiler run-time. Look up OPENSSL_Applink
|
||||||
|
reference page for further details.
|
||||||
|
66
INSTALL.W64
Normal file
66
INSTALL.W64
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
|
||||||
|
INSTALLATION ON THE WIN64 PLATFORM
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Caveat lector
|
||||||
|
-------------
|
||||||
|
|
||||||
|
As of moment of this writing Win64 support is classified "initial"
|
||||||
|
for the following reasons.
|
||||||
|
|
||||||
|
- No assembler modules are engaged upon initial 0.9.8 release.
|
||||||
|
- API might change within 0.9.8 life-span, *but* in a manner which
|
||||||
|
doesn't break backward binary compatibility. Or in other words,
|
||||||
|
application programs compiled with initial 0.9.8 headers will
|
||||||
|
be expected to work with future minor release .DLL without need
|
||||||
|
to re-compile, even if future minor release features modified API.
|
||||||
|
- Above mentioned API modifications have everything to do with
|
||||||
|
elimination of a number of limitations, which are normally
|
||||||
|
considered inherent to 32-bit platforms. Which in turn is why they
|
||||||
|
are treated as limitations on 64-bit platform such as Win64:-)
|
||||||
|
The current list comprises [but not necessarily limited to]:
|
||||||
|
|
||||||
|
- null-terminated strings may not be longer than 2G-1 bytes,
|
||||||
|
longer strings are treated as zero-length;
|
||||||
|
- dynamically and *internally* allocated chunks can't be larger
|
||||||
|
than 2G-1 bytes;
|
||||||
|
- inability to encrypt/decrypt chunks of data larger than 4GB
|
||||||
|
[it's possibly to *hash* chunks of arbitrary size through];
|
||||||
|
|
||||||
|
Neither of these is actually big deal and hardly encountered
|
||||||
|
in real-life applications.
|
||||||
|
|
||||||
|
Compiling procedure
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
You will need Perl. You can run under Cygwin or you can download
|
||||||
|
ActiveState Perl from http://www.activestate.com/ActivePerl.
|
||||||
|
|
||||||
|
You will need Microsoft Platform SDK, available for download at
|
||||||
|
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. As per
|
||||||
|
April 2005 Platform SDK is equipped with Win64 compilers, as well
|
||||||
|
as assemblers, but it might change in the future.
|
||||||
|
|
||||||
|
To build for Win64/x64:
|
||||||
|
|
||||||
|
> perl Configure VC-WIN64A
|
||||||
|
> ms\do_win64a
|
||||||
|
> nmake -f ms\ntdll.mak
|
||||||
|
> cd out32dll
|
||||||
|
> ..\ms\test
|
||||||
|
|
||||||
|
To build for Win64/IA64:
|
||||||
|
|
||||||
|
> perl Configure VC-WIN64I
|
||||||
|
> ms\do_win64i
|
||||||
|
> nmake -f ms\ntdll.mak
|
||||||
|
> cd out32dll
|
||||||
|
> ..\ms\test
|
||||||
|
|
||||||
|
Naturally test-suite itself has to be executed on the target platform.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
TBD, for now see INSTALL.W32.
|
||||||
|
|
@ -11,8 +11,11 @@
|
|||||||
You also need Perl for Win32. You will need ActiveState Perl, available
|
You also need Perl for Win32. You will need ActiveState Perl, available
|
||||||
from http://www.activestate.com/ActivePerl.
|
from http://www.activestate.com/ActivePerl.
|
||||||
|
|
||||||
Windows CE support in OpenSSL relies on wcecompat. All Windows CE specific
|
Windows CE support in OpenSSL relies on wcecompat and therefore it's
|
||||||
issues should be directed to www.essemer.com.au.
|
appropriate to check http://www.essemer.com.au/windowsce/ for updates in
|
||||||
|
case of compilation problems. As for the moment of this writing version
|
||||||
|
1.1 is available and actually required for WCE 4.2 and newer platforms.
|
||||||
|
All Windows CE specific issues should be directed to www.essemer.com.au.
|
||||||
|
|
||||||
The C Runtime Library implementation for Windows CE that is included with
|
The C Runtime Library implementation for Windows CE that is included with
|
||||||
Microsoft eMbedded Visual C++ 3.0 is incomplete and in some places
|
Microsoft eMbedded Visual C++ 3.0 is incomplete and in some places
|
||||||
|
2
LICENSE
2
LICENSE
@ -12,7 +12,7 @@
|
|||||||
---------------
|
---------------
|
||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
* Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved.
|
* Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
356
Makefile.org
356
Makefile.org
@ -65,6 +65,7 @@ EX_LIBS=
|
|||||||
EXE_EXT=
|
EXE_EXT=
|
||||||
ARFLAGS=
|
ARFLAGS=
|
||||||
AR=ar $(ARFLAGS) r
|
AR=ar $(ARFLAGS) r
|
||||||
|
ARD=ar $(ARFLAGS) d
|
||||||
RANLIB= ranlib
|
RANLIB= ranlib
|
||||||
PERL= perl
|
PERL= perl
|
||||||
TAR= tar
|
TAR= tar
|
||||||
@ -100,18 +101,50 @@ RMD160_ASM_OBJ=
|
|||||||
KRB5_INCLUDES=
|
KRB5_INCLUDES=
|
||||||
LIBKRB5=
|
LIBKRB5=
|
||||||
|
|
||||||
DIRS= crypto ssl engines apps test tools
|
# Zlib stuff
|
||||||
SHLIBDIRS= crypto ssl
|
ZLIB_INCLUDE=
|
||||||
|
LIBZLIB=
|
||||||
|
|
||||||
|
# This is the location of fipscanister.o and friends.
|
||||||
|
# The FIPS module build will place it $(INSTALLTOP)/lib
|
||||||
|
# but since $(INSTALLTOP) can only take the default value
|
||||||
|
# when the module is built it will be in /usr/local/ssl/lib
|
||||||
|
# $(INSTALLTOP) for this build make be different so hard
|
||||||
|
# code the path.
|
||||||
|
|
||||||
|
FIPSLIBDIR=/usr/local/ssl/lib/
|
||||||
|
|
||||||
|
# This is set to "y" if fipscanister.o is compiled internally as
|
||||||
|
# opposed to coming from an external validated location.
|
||||||
|
|
||||||
|
FIPSCANISTERINTERNAL=n
|
||||||
|
|
||||||
|
# The location of the library which contains fipscanister.o
|
||||||
|
# normally it will be libcrypto unless fipsdso is set in which
|
||||||
|
# case it will be libfips. If not compiling in FIPS mode at all
|
||||||
|
# this is empty making it a useful test for a FIPS compile.
|
||||||
|
|
||||||
|
FIPSCANLIB=
|
||||||
|
|
||||||
|
# Shared library base address. Currently only used on Windows.
|
||||||
|
#
|
||||||
|
|
||||||
|
BASEADDR=
|
||||||
|
|
||||||
|
DIRS= crypto fips ssl engines apps test tools
|
||||||
|
SHLIBDIRS= crypto ssl fips
|
||||||
|
|
||||||
# dirs in crypto to build
|
# dirs in crypto to build
|
||||||
SDIRS= \
|
SDIRS= \
|
||||||
objects \
|
objects \
|
||||||
md2 md4 md5 sha mdc2 hmac ripemd \
|
md2 md4 md5 sha mdc2 hmac ripemd \
|
||||||
des aes rc2 rc4 rc5 idea bf cast \
|
des aes rc2 rc4 rc5 idea bf cast camellia seed \
|
||||||
bn ec rsa dsa ecdsa dh ecdh dso engine \
|
bn ec rsa dsa ecdsa dh ecdh dso engine \
|
||||||
buffer bio stack lhash rand err \
|
buffer bio stack lhash rand err \
|
||||||
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
|
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
|
||||||
store pqueue
|
store pqueue
|
||||||
|
# keep in mind that the above list is adjusted by ./Configure
|
||||||
|
# according to no-xxx arguments...
|
||||||
|
|
||||||
# tests to perform. "alltests" is a special word indicating that all tests
|
# tests to perform. "alltests" is a special word indicating that all tests
|
||||||
# should be performed.
|
# should be performed.
|
||||||
@ -132,30 +165,48 @@ WDIRS= windows
|
|||||||
LIBS= libcrypto.a libssl.a
|
LIBS= libcrypto.a libssl.a
|
||||||
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
|
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
|
||||||
SHARED_SSL=libssl$(SHLIB_EXT)
|
SHARED_SSL=libssl$(SHLIB_EXT)
|
||||||
|
SHARED_FIPS=
|
||||||
SHARED_LIBS=
|
SHARED_LIBS=
|
||||||
SHARED_LIBS_LINK_EXTS=
|
SHARED_LIBS_LINK_EXTS=
|
||||||
SHARED_LDFLAGS=
|
SHARED_LDFLAGS=
|
||||||
|
|
||||||
GENERAL= Makefile
|
GENERAL= Makefile
|
||||||
BASENAME= openssl
|
BASENAME= openssl
|
||||||
NAME= $(BASENAME)-$(VERSION)
|
NAME= $(BASENAME)-fips-$(VERSION)
|
||||||
TARFILE= $(NAME).tar
|
TARFILE= $(NAME).tar
|
||||||
WTARFILE= $(NAME)-win.tar
|
WTARFILE= $(NAME)-win.tar
|
||||||
EXHEADER= e_os2.h
|
EXHEADER= e_os2.h
|
||||||
HEADER= e_os.h
|
HEADER= e_os.h
|
||||||
|
|
||||||
all: Makefile build_all openssl.pc
|
all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
|
||||||
|
|
||||||
|
# as we stick to -e, CLEARENV ensures that local variables in lower
|
||||||
|
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
|
||||||
|
# shell, which [annoyingly enough] terminates unset with error if VAR
|
||||||
|
# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
|
||||||
|
# which terminates unset with error if no variable was present:-(
|
||||||
|
CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \
|
||||||
|
$${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \
|
||||||
|
$${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \
|
||||||
|
$${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \
|
||||||
|
$${EXHEADER+EXHEADER} $${HEADER+HEADER} \
|
||||||
|
$${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \
|
||||||
|
$${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \
|
||||||
|
$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} \
|
||||||
|
$${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \
|
||||||
|
$${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
|
||||||
|
|
||||||
BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
|
BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
|
||||||
CC='${CC}' CFLAG='${CFLAG}' \
|
CC='${CC}' CFLAG='${CFLAG}' \
|
||||||
AS='${CC}' ASFLAG='${CFLAG} -c' \
|
AS='${CC}' ASFLAG='${CFLAG} -c' \
|
||||||
AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}' \
|
AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}' \
|
||||||
SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/lib' \
|
SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib' \
|
||||||
|
INSTALL_PREFIX='${INSTALL_PREFIX}' \
|
||||||
INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' \
|
INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' \
|
||||||
MAKEDEPEND='$$(TOP)/util/domd $$(TOP) -MD $(MAKEDEPPROG)'\
|
MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \
|
||||||
DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}' \
|
DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}' \
|
||||||
MAKEDEPPROG='${MAKEDEPPROG}' \
|
MAKEDEPPROG='${MAKEDEPPROG}' \
|
||||||
LDFLAGS="$(LDFLAGS)" SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
|
SHARED_LDFLAGS='${SHARED_LDFLAGS}' \
|
||||||
KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' \
|
KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' \
|
||||||
EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \
|
EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \
|
||||||
SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' \
|
SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' \
|
||||||
@ -168,44 +219,147 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
|
|||||||
SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' \
|
SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' \
|
||||||
MD5_ASM_OBJ='${MD5_ASM_OBJ}' \
|
MD5_ASM_OBJ='${MD5_ASM_OBJ}' \
|
||||||
RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' \
|
RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' \
|
||||||
THIS=$${THIS:-$@}
|
FIPSLIBDIR='${FIPSLIBDIR}' FIPSCANLIB='${FIPSCANLIB}' \
|
||||||
|
FIPSCANISTERINTERNAL='${FIPSCANISTERINTERNAL}' \
|
||||||
|
FIPS_EX_OBJ='${FIPS_EX_OBJ}' \
|
||||||
|
THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
|
||||||
|
# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
|
||||||
|
# which in turn eliminates ambiguities in variable treatment with -e.
|
||||||
|
|
||||||
BUILD_CMD=if echo " $(DIRS) " | grep " $$dir " >/dev/null 2>/dev/null; then \
|
# BUILD_CMD is a generic macro to build a given target in a given
|
||||||
if [ -d "$$dir" ]; then \
|
# subdirectory. The target must be given through the shell variable
|
||||||
(cd $$dir && echo "making $$target in $$dir..." && \
|
# `target' and the subdirectory to build in must be given through `dir'.
|
||||||
$(MAKE) $(BUILDENV) $$target ) || exit 1; \
|
# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or
|
||||||
else \
|
# BUILD_ONE_CMD instead.
|
||||||
$(MAKE) $$dir; \
|
#
|
||||||
fi; fi
|
# BUILD_ONE_CMD is a macro to build a given target in a given
|
||||||
|
# subdirectory if that subdirectory is part of $(DIRS). It requires
|
||||||
|
# exactly the same shell variables as BUILD_CMD.
|
||||||
|
#
|
||||||
|
# RECURSIVE_BUILD_CMD is a macro to build a given target in all
|
||||||
|
# subdirectories defined in $(DIRS). It requires that the target
|
||||||
|
# is given through the shell variable `target'.
|
||||||
|
BUILD_CMD= if [ -d "$$dir" ]; then \
|
||||||
|
( cd $$dir && echo "making $$target in $$dir..." && \
|
||||||
|
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \
|
||||||
|
) || exit 1; \
|
||||||
|
fi
|
||||||
|
RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done
|
||||||
|
BUILD_ONE_CMD=\
|
||||||
|
if echo " $(DIRS) " | grep " $$dir " >/dev/null 2>/dev/null; then \
|
||||||
|
$(BUILD_CMD); \
|
||||||
|
fi
|
||||||
|
|
||||||
reflect:
|
reflect:
|
||||||
@[ -n "$(THIS)" ] && $(MAKE) $(THIS) $(BUILDENV)
|
@[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
|
||||||
|
|
||||||
|
FIPS_EX_OBJ= ../crypto/aes/aes_cfb.o \
|
||||||
|
../crypto/aes/aes_ecb.o \
|
||||||
|
../crypto/aes/aes_ofb.o \
|
||||||
|
../crypto/bn/bn_add.o \
|
||||||
|
../crypto/bn/bn_blind.o \
|
||||||
|
../crypto/bn/bn_ctx.o \
|
||||||
|
../crypto/bn/bn_div.o \
|
||||||
|
../crypto/bn/bn_exp2.o \
|
||||||
|
../crypto/bn/bn_exp.o \
|
||||||
|
../crypto/bn/bn_gcd.o \
|
||||||
|
../crypto/bn/bn_lib.o \
|
||||||
|
../crypto/bn/bn_mod.o \
|
||||||
|
../crypto/bn/bn_mont.o \
|
||||||
|
../crypto/bn/bn_mul.o \
|
||||||
|
../crypto/bn/bn_prime.o \
|
||||||
|
../crypto/bn/bn_rand.o \
|
||||||
|
../crypto/bn/bn_recp.o \
|
||||||
|
../crypto/bn/bn_shift.o \
|
||||||
|
../crypto/bn/bn_sqr.o \
|
||||||
|
../crypto/bn/bn_word.o \
|
||||||
|
../crypto/bn/bn_x931p.o \
|
||||||
|
../crypto/buffer/buf_str.o \
|
||||||
|
../crypto/cryptlib.o \
|
||||||
|
../crypto/des/cfb64ede.o \
|
||||||
|
../crypto/des/cfb64enc.o \
|
||||||
|
../crypto/des/cfb_enc.o \
|
||||||
|
../crypto/des/ecb3_enc.o \
|
||||||
|
../crypto/des/ecb_enc.o \
|
||||||
|
../crypto/des/ofb64ede.o \
|
||||||
|
../crypto/des/ofb64enc.o \
|
||||||
|
../crypto/des/fcrypt.o \
|
||||||
|
../crypto/des/set_key.o \
|
||||||
|
../crypto/dsa/dsa_utl.o \
|
||||||
|
../crypto/dsa/dsa_sign.o \
|
||||||
|
../crypto/dsa/dsa_vrf.o \
|
||||||
|
../crypto/err/err.o \
|
||||||
|
../crypto/evp/digest.o \
|
||||||
|
../crypto/evp/enc_min.o \
|
||||||
|
../crypto/evp/e_aes.o \
|
||||||
|
../crypto/evp/e_des3.o \
|
||||||
|
../crypto/evp/p_sign.o \
|
||||||
|
../crypto/evp/p_verify.o \
|
||||||
|
../crypto/mem_clr.o \
|
||||||
|
../crypto/mem.o \
|
||||||
|
../crypto/rand/md_rand.o \
|
||||||
|
../crypto/rand/rand_egd.o \
|
||||||
|
../crypto/rand/randfile.o \
|
||||||
|
../crypto/rand/rand_lib.o \
|
||||||
|
../crypto/rand/rand_os2.o \
|
||||||
|
../crypto/rand/rand_unix.o \
|
||||||
|
../crypto/rand/rand_win.o \
|
||||||
|
../crypto/rsa/rsa_lib.o \
|
||||||
|
../crypto/rsa/rsa_none.o \
|
||||||
|
../crypto/rsa/rsa_oaep.o \
|
||||||
|
../crypto/rsa/rsa_pk1.o \
|
||||||
|
../crypto/rsa/rsa_pss.o \
|
||||||
|
../crypto/rsa/rsa_ssl.o \
|
||||||
|
../crypto/rsa/rsa_x931.o \
|
||||||
|
../crypto/sha/sha1dgst.o \
|
||||||
|
../crypto/sha/sha256.o \
|
||||||
|
../crypto/sha/sha512.o \
|
||||||
|
../crypto/uid.o
|
||||||
|
|
||||||
sub_all: build_all
|
sub_all: build_all
|
||||||
build_all: build_libs build_apps build_tests build_tools
|
build_all: build_libs build_apps build_tests build_tools
|
||||||
|
|
||||||
build_libs: build_crypto build_ssl build_engines
|
build_libs: build_crypto build_fips build_ssl build_shared build_engines
|
||||||
|
|
||||||
build_crypto:
|
build_crypto:
|
||||||
@dir=crypto; target=all; $(BUILD_CMD)
|
if [ -n "$(FIPSCANLIB)" ]; then \
|
||||||
|
EXCL_OBJ='$(AES_ASM_OBJ) $(BN_ASM) $(DES_ENC) $(CPUID_OBJ) $(SHA1_ASM_OBJ) $(FIPS_EX_OBJ)' ; export EXCL_OBJ ; \
|
||||||
|
ARX='$(PERL) $${TOP}/util/arx.pl $(AR)' ; \
|
||||||
|
else \
|
||||||
|
ARX='${AR}' ; \
|
||||||
|
fi ; export ARX ; \
|
||||||
|
dir=crypto; target=all; $(BUILD_ONE_CMD)
|
||||||
|
build_fips:
|
||||||
|
@dir=fips; target=all; [ -z "$(FIPSCANLIB)" ] || $(BUILD_ONE_CMD)
|
||||||
build_ssl:
|
build_ssl:
|
||||||
@dir=ssl; target=all; $(BUILD_CMD)
|
@dir=ssl; target=all; $(BUILD_ONE_CMD)
|
||||||
build_engines:
|
build_engines:
|
||||||
@dir=engines; target=all; $(BUILD_CMD)
|
@dir=engines; target=all; $(BUILD_ONE_CMD)
|
||||||
build_apps:
|
build_apps:
|
||||||
@dir=apps; target=all; $(BUILD_CMD)
|
@dir=apps; target=all; $(BUILD_ONE_CMD)
|
||||||
build_tests:
|
build_tests:
|
||||||
@dir=test; target=all; $(BUILD_CMD)
|
@dir=test; target=all; $(BUILD_ONE_CMD)
|
||||||
build_tools:
|
build_tools:
|
||||||
@dir=tools; target=all; $(BUILD_CMD)
|
@dir=tools; target=all; $(BUILD_ONE_CMD)
|
||||||
|
|
||||||
all_testapps: build_libs build_testapps
|
all_testapps: build_libs build_testapps
|
||||||
build_testapps:
|
build_testapps:
|
||||||
@dir=crypto; target=testapps; $(BUILD_CMD)
|
@dir=crypto; target=testapps; $(BUILD_ONE_CMD)
|
||||||
|
|
||||||
libcrypto$(SHLIB_EXT): libcrypto.a
|
build_shared: $(SHARED_LIBS)
|
||||||
|
libcrypto$(SHLIB_EXT): libcrypto.a $(SHARED_FIPS)
|
||||||
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||||
$(MAKE) SHLIBDIRS=crypto build-shared; \
|
if [ "$(FIPSCANLIB)" = "libfips" ]; then \
|
||||||
|
$(ARD) libcrypto.a fipscanister.o ; \
|
||||||
|
$(MAKE) SHLIBDIRS='crypto' SHLIBDEPS='-lfips' build-shared; \
|
||||||
|
$(AR) libcrypto.a fips/fipscanister.o ; \
|
||||||
|
else \
|
||||||
|
if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \
|
||||||
|
FIPSLD_CC=$(CC); CC=fips/fipsld; \
|
||||||
|
export CC FIPSLD_CC; \
|
||||||
|
fi; \
|
||||||
|
$(MAKE) -e SHLIBDIRS='crypto' build-shared; \
|
||||||
|
fi \
|
||||||
else \
|
else \
|
||||||
echo "There's no support for shared libraries on this platform" >&2; \
|
echo "There's no support for shared libraries on this platform" >&2; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
@ -213,12 +367,32 @@ libcrypto$(SHLIB_EXT): libcrypto.a
|
|||||||
|
|
||||||
libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
|
libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
|
||||||
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||||
$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
|
shlibdeps=-lcrypto; \
|
||||||
|
[ "$(FIPSCANLIB)" = "libfips" ] && shlibdeps="$$shlibdeps -lfips"; \
|
||||||
|
$(MAKE) SHLIBDIRS=ssl SHLIBDEPS="$$shlibdeps" build-shared; \
|
||||||
|
else \
|
||||||
|
echo "There's no support for shared libraries on this platform" >&2 ; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
fips/fipscanister.o: build_fips
|
||||||
|
libfips$(SHLIB_EXT): fips/fipscanister.o
|
||||||
|
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||||
|
FIPSLD_CC=$(CC); CC=fips/fipsld; export CC FIPSLD_CC; \
|
||||||
|
$(MAKE) -f Makefile.shared -e $(BUILDENV) \
|
||||||
|
CC=$${CC} LIBNAME=fips THIS=$@ \
|
||||||
|
LIBEXTRAS=fips/fipscanister.o \
|
||||||
|
LIBDEPS="$(EX_LIBS)" \
|
||||||
|
LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||||
|
link_o.$(SHLIB_TARGET) || { rm -f $@; exit 1; } \
|
||||||
else \
|
else \
|
||||||
echo "There's no support for shared libraries on this platform" >&2; \
|
echo "There's no support for shared libraries on this platform" >&2; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
libfips.a:
|
||||||
|
dir=fips; target=all; $(BUILD_ONE_CMD)
|
||||||
|
|
||||||
clean-shared:
|
clean-shared:
|
||||||
@set -e; for i in $(SHLIBDIRS); do \
|
@set -e; for i in $(SHLIBDIRS); do \
|
||||||
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
|
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
|
||||||
@ -235,7 +409,7 @@ clean-shared:
|
|||||||
|
|
||||||
link-shared:
|
link-shared:
|
||||||
@ set -e; for i in ${SHLIBDIRS}; do \
|
@ set -e; for i in ${SHLIBDIRS}; do \
|
||||||
$(MAKE) -f $(HERE)/Makefile.shared \
|
$(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
|
||||||
LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||||
LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
|
LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
|
||||||
symlink.$(SHLIB_TARGET); \
|
symlink.$(SHLIB_TARGET); \
|
||||||
@ -249,7 +423,7 @@ do_$(SHLIB_TARGET):
|
|||||||
if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \
|
if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \
|
||||||
libs="$(LIBKRB5) $$libs"; \
|
libs="$(LIBKRB5) $$libs"; \
|
||||||
fi; \
|
fi; \
|
||||||
$(MAKE) -f Makefile.shared $(BUILDENV) \
|
$(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
|
||||||
LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||||
LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
|
LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
|
||||||
LIBDEPS="$$libs $(EX_LIBS)" \
|
LIBDEPS="$$libs $(EX_LIBS)" \
|
||||||
@ -257,6 +431,32 @@ do_$(SHLIB_TARGET):
|
|||||||
libs="-l$$i $$libs"; \
|
libs="-l$$i $$libs"; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
libcrypto.pc: Makefile
|
||||||
|
@ ( echo 'prefix=$(INSTALLTOP)'; \
|
||||||
|
echo 'exec_prefix=$${prefix}'; \
|
||||||
|
echo 'libdir=$${exec_prefix}/lib'; \
|
||||||
|
echo 'includedir=$${prefix}/include'; \
|
||||||
|
echo ''; \
|
||||||
|
echo 'Name: OpenSSL-libcrypto'; \
|
||||||
|
echo 'Description: OpenSSL cryptography library'; \
|
||||||
|
echo 'Version: '$(VERSION); \
|
||||||
|
echo 'Requires: '; \
|
||||||
|
echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
|
||||||
|
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
|
||||||
|
|
||||||
|
libssl.pc: Makefile
|
||||||
|
@ ( echo 'prefix=$(INSTALLTOP)'; \
|
||||||
|
echo 'exec_prefix=$${prefix}'; \
|
||||||
|
echo 'libdir=$${exec_prefix}/lib'; \
|
||||||
|
echo 'includedir=$${prefix}/include'; \
|
||||||
|
echo ''; \
|
||||||
|
echo 'Name: OpenSSL'; \
|
||||||
|
echo 'Description: Secure Sockets Layer and cryptography libraries'; \
|
||||||
|
echo 'Version: '$(VERSION); \
|
||||||
|
echo 'Requires: '; \
|
||||||
|
echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
|
||||||
|
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
|
||||||
|
|
||||||
openssl.pc: Makefile
|
openssl.pc: Makefile
|
||||||
@ ( echo 'prefix=$(INSTALLTOP)'; \
|
@ ( echo 'prefix=$(INSTALLTOP)'; \
|
||||||
echo 'exec_prefix=$${prefix}'; \
|
echo 'exec_prefix=$${prefix}'; \
|
||||||
@ -280,15 +480,9 @@ libclean:
|
|||||||
|
|
||||||
clean: libclean
|
clean: libclean
|
||||||
rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
|
rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
|
||||||
@set -e; for i in $(DIRS) ;\
|
@set -e; target=clean; $(RECURSIVE_BUILD_CMD)
|
||||||
do \
|
rm -f $(LIBS)
|
||||||
if [ -d "$$i" ]; then \
|
rm -f openssl.pc libssl.pc libcrypto.pc
|
||||||
(cd $$i && echo "making clean in $$i..." && \
|
|
||||||
$(MAKE) SDIRS='${SDIRS}' clean ) || exit 1; \
|
|
||||||
rm -f $(LIBS); \
|
|
||||||
fi; \
|
|
||||||
done;
|
|
||||||
rm -f openssl.pc
|
|
||||||
rm -f speed.* .pure
|
rm -f speed.* .pure
|
||||||
rm -f $(TARFILE)
|
rm -f $(TARFILE)
|
||||||
@set -e; for i in $(ONEDIRS) ;\
|
@set -e; for i in $(ONEDIRS) ;\
|
||||||
@ -302,68 +496,46 @@ makefile.one: files
|
|||||||
|
|
||||||
files:
|
files:
|
||||||
$(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
|
$(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
|
||||||
@set -e; for i in $(DIRS) ;\
|
@set -e; target=files; $(RECURSIVE_BUILD_CMD)
|
||||||
do \
|
|
||||||
if [ -d "$$i" ]; then \
|
|
||||||
(cd $$i && echo "making 'files' in $$i..." && \
|
|
||||||
$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' files ) || exit 1; \
|
|
||||||
fi; \
|
|
||||||
done;
|
|
||||||
|
|
||||||
links:
|
links:
|
||||||
@$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
|
@$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
|
||||||
@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
|
@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
|
||||||
@set -e; target=links; for dir in $(DIRS); do $(BUILD_CMD); done
|
@set -e; target=links; $(RECURSIVE_BUILD_CMD)
|
||||||
|
|
||||||
gentests:
|
gentests:
|
||||||
@(cd test && echo "generating dummy tests (if needed)..." && \
|
@(cd test && echo "generating dummy tests (if needed)..." && \
|
||||||
$(MAKE) $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
|
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
rm -f *.bak
|
rm -f *.bak
|
||||||
@set -e; for i in $(DIRS) ;\
|
@set -e; target=dclean; $(RECURSIVE_BUILD_CMD)
|
||||||
do \
|
|
||||||
if [ -d "$$i" ]; then \
|
|
||||||
(cd $$i && echo "making dclean in $$i..." && \
|
|
||||||
$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' dclean ) || exit 1; \
|
|
||||||
fi; \
|
|
||||||
done;
|
|
||||||
|
|
||||||
rehash: rehash.time
|
rehash: rehash.time
|
||||||
rehash.time: certs
|
rehash.time: certs apps
|
||||||
@(OPENSSL="`pwd`/util/opensslwrap.sh"; \
|
@if [ -z "$(CROSS_COMPILE)" ]; then \
|
||||||
OPENSSL_DEBUG_MEMORY=on; \
|
(OPENSSL="`pwd`/util/opensslwrap.sh"; \
|
||||||
export OPENSSL OPENSSL_DEBUG_MEMORY; \
|
OPENSSL_DEBUG_MEMORY=on; \
|
||||||
$(PERL) tools/c_rehash certs)
|
export OPENSSL OPENSSL_DEBUG_MEMORY; \
|
||||||
touch rehash.time
|
$(PERL) tools/c_rehash certs) && \
|
||||||
|
touch rehash.time; \
|
||||||
|
else :; fi
|
||||||
|
|
||||||
test: tests
|
test: tests
|
||||||
|
|
||||||
tests: rehash
|
tests: rehash
|
||||||
@(cd test && echo "testing..." && \
|
@(cd test && echo "testing..." && \
|
||||||
$(MAKE) $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
|
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
|
||||||
util/opensslwrap.sh version -a
|
util/opensslwrap.sh version -a
|
||||||
|
|
||||||
report:
|
report:
|
||||||
@$(PERL) util/selftest.pl
|
@$(PERL) util/selftest.pl
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
@set -e; for i in $(DIRS) ;\
|
@set -e; target=depend; $(RECURSIVE_BUILD_CMD)
|
||||||
do \
|
|
||||||
if [ -d "$$i" ]; then \
|
|
||||||
(cd $$i && echo "making dependencies $$i..." && \
|
|
||||||
$(MAKE) $(BUILDENV) depend ) || exit 1; \
|
|
||||||
fi; \
|
|
||||||
done;
|
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
@set -e; for i in $(DIRS) ;\
|
@set -e; target=lint; $(RECURSIVE_BUILD_CMD)
|
||||||
do \
|
|
||||||
if [ -d "$$i" ]; then \
|
|
||||||
(cd $$i && echo "making lint $$i..." && \
|
|
||||||
$(MAKE) SDIRS='${SDIRS}' lint ) || exit 1; \
|
|
||||||
fi; \
|
|
||||||
done;
|
|
||||||
|
|
||||||
tags:
|
tags:
|
||||||
rm -f TAGS
|
rm -f TAGS
|
||||||
@ -391,11 +563,15 @@ crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt c
|
|||||||
apps/openssl-vms.cnf: apps/openssl.cnf
|
apps/openssl-vms.cnf: apps/openssl.cnf
|
||||||
$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
|
$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
|
||||||
|
|
||||||
|
crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
|
||||||
|
$(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h
|
||||||
|
|
||||||
|
|
||||||
TABLE: Configure
|
TABLE: Configure
|
||||||
(echo 'Output of `Configure TABLE'"':"; \
|
(echo 'Output of `Configure TABLE'"':"; \
|
||||||
$(PERL) Configure TABLE) > TABLE
|
$(PERL) Configure TABLE) > TABLE
|
||||||
|
|
||||||
update: depend errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf TABLE
|
update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend
|
||||||
|
|
||||||
# Build distribution tar-file. As the list of files returned by "find" is
|
# Build distribution tar-file. As the list of files returned by "find" is
|
||||||
# pretty long, on several platforms a "too many arguments" error or similar
|
# pretty long, on several platforms a "too many arguments" error or similar
|
||||||
@ -410,7 +586,7 @@ tar:
|
|||||||
$(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
|
$(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
|
||||||
tardy --user_number=0 --user_name=openssl \
|
tardy --user_number=0 --user_name=openssl \
|
||||||
--group_number=0 --group_name=openssl \
|
--group_number=0 --group_name=openssl \
|
||||||
--prefix=openssl-$(VERSION) - |\
|
--prefix=openssl-fips-$(VERSION) - |\
|
||||||
gzip --best >../$(TARFILE).gz; \
|
gzip --best >../$(TARFILE).gz; \
|
||||||
rm -f ../$(TARFILE).list; \
|
rm -f ../$(TARFILE).list; \
|
||||||
ls -l ../$(TARFILE).gz
|
ls -l ../$(TARFILE).gz
|
||||||
@ -430,9 +606,9 @@ dist:
|
|||||||
@$(MAKE) TAR='${TAR}' TARFLAGS='${TARFLAGS}' tar
|
@$(MAKE) TAR='${TAR}' TARFLAGS='${TARFLAGS}' tar
|
||||||
|
|
||||||
dist_pem_h:
|
dist_pem_h:
|
||||||
(cd crypto/pem; $(MAKE) $(BUILDENV) pem.h; $(MAKE) clean)
|
(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
|
||||||
|
|
||||||
install: all install_docs install_sw
|
install: all install_sw
|
||||||
|
|
||||||
install_sw:
|
install_sw:
|
||||||
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
|
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
|
||||||
@ -448,13 +624,7 @@ install_sw:
|
|||||||
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
|
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
|
||||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
||||||
done;
|
done;
|
||||||
@set -e; for i in $(DIRS) ;\
|
@set -e; target=install; $(RECURSIVE_BUILD_CMD)
|
||||||
do \
|
|
||||||
if [ -d "$$i" ]; then \
|
|
||||||
(cd $$i; echo "installing $$i..."; \
|
|
||||||
$(MAKE) $(BUILDENV) install ); \
|
|
||||||
fi; \
|
|
||||||
done
|
|
||||||
@set -e; for i in $(LIBS) ;\
|
@set -e; for i in $(LIBS) ;\
|
||||||
do \
|
do \
|
||||||
if [ -f "$$i" ]; then \
|
if [ -f "$$i" ]; then \
|
||||||
@ -496,6 +666,10 @@ install_sw:
|
|||||||
sed -e '1,/^$$/d' doc/openssl-shared.txt; \
|
sed -e '1,/^$$/d' doc/openssl-shared.txt; \
|
||||||
fi; \
|
fi; \
|
||||||
fi
|
fi
|
||||||
|
cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
|
||||||
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libcrypto.pc
|
||||||
|
cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
|
||||||
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libssl.pc
|
||||||
cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
|
cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
|
||||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc
|
||||||
|
|
||||||
@ -521,8 +695,8 @@ install_docs:
|
|||||||
--release=$(VERSION) `basename $$i`") \
|
--release=$(VERSION) `basename $$i`") \
|
||||||
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
|
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
|
||||||
$(PERL) util/extract-names.pl < $$i | \
|
$(PERL) util/extract-names.pl < $$i | \
|
||||||
grep -v $$filecase "^$$fn\$$" | \
|
(grep -v $$filecase "^$$fn\$$"; true) | \
|
||||||
grep -v "[ ]" | \
|
(grep -v "[ ]"; true) | \
|
||||||
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
|
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
|
||||||
while read n; do \
|
while read n; do \
|
||||||
$$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
|
$$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
|
||||||
@ -538,8 +712,8 @@ install_docs:
|
|||||||
--release=$(VERSION) `basename $$i`") \
|
--release=$(VERSION) `basename $$i`") \
|
||||||
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
|
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
|
||||||
$(PERL) util/extract-names.pl < $$i | \
|
$(PERL) util/extract-names.pl < $$i | \
|
||||||
grep -v $$filecase "^$$fn\$$" | \
|
(grep -v $$filecase "^$$fn\$$"; true) | \
|
||||||
grep -v "[ ]" | \
|
(grep -v "[ ]"; true) | \
|
||||||
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
|
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
|
||||||
while read n; do \
|
while read n; do \
|
||||||
$$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
|
$$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
|
||||||
|
@ -89,25 +89,25 @@ CALC_VERSIONS= \
|
|||||||
|
|
||||||
LINK_APP= \
|
LINK_APP= \
|
||||||
( $(SET_X); \
|
( $(SET_X); \
|
||||||
LIBDEPS=$${LIBDEPS:-$(LIBDEPS)}; \
|
LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
|
||||||
|
LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
|
||||||
LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
|
LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
|
||||||
LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
|
LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
|
||||||
LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
|
LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
|
||||||
$${LDCMD:=$(CC)} $${LDFLAGS:=$(CFLAGS)} \
|
$${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )
|
||||||
-o $${APPNAME:=$(APPNAME)} $(OBJECTS) $$LIBDEPS )
|
|
||||||
|
|
||||||
LINK_SO= \
|
LINK_SO= \
|
||||||
( $(SET_X); \
|
( $(SET_X); \
|
||||||
LIBDEPS=$${LIBDEPS:-$(LIBDEPS)}; \
|
LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
|
||||||
nm -Pg $$SHOBJECTS | grep ' [BDT] ' | cut -f1 -d' ' > lib$(LIBNAME).exp; \
|
SHAREDCMD="$${SHAREDCMD:-$(CC)}"; \
|
||||||
|
SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
|
||||||
LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
|
LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
|
||||||
LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
|
LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
|
||||||
LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
|
LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
|
||||||
$${SHAREDCMD:=$(CC)} $${SHAREDFLAGS:=$(CFLAGS) $(SHARED_LDFLAGS)} \
|
$${SHAREDCMD} $${SHAREDFLAGS} \
|
||||||
-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
|
-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
|
||||||
$$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS \
|
$$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS \
|
||||||
) && $(SYMLINK_SO); \
|
) && $(SYMLINK_SO)
|
||||||
( $(SET_X); rm -f lib$(LIBNAME).exp )
|
|
||||||
|
|
||||||
SYMLINK_SO= \
|
SYMLINK_SO= \
|
||||||
if [ -n "$$INHIBIT_SYMLINKS" ]; then :; else \
|
if [ -n "$$INHIBIT_SYMLINKS" ]; then :; else \
|
||||||
@ -194,12 +194,19 @@ link_app.bsd:
|
|||||||
fi; $(LINK_APP)
|
fi; $(LINK_APP)
|
||||||
|
|
||||||
# For Darwin AKA Mac OS/X (dyld)
|
# For Darwin AKA Mac OS/X (dyld)
|
||||||
|
# link_o.darwin produces .so, because we let it use dso_dlfcn module,
|
||||||
|
# which has .so extension hard-coded. One can argue that one should
|
||||||
|
# develop special dso module for MacOS X. At least manual encourages
|
||||||
|
# to use native NSModule(3) API and refers to dlfcn as termporary hack.
|
||||||
link_o.darwin:
|
link_o.darwin:
|
||||||
@ $(CALC_VERSIONS); \
|
@ $(CALC_VERSIONS); \
|
||||||
SHLIB=lib$(LIBNAME); \
|
SHLIB=`expr "$$THIS" : '.*/\([^/\.]*\)\.'`; \
|
||||||
SHLIB_SUFFIX=.dylib; \
|
SHLIB=$${SHLIB:-lib$(LIBNAME)}; \
|
||||||
|
SHLIB_SUFFIX=`expr "$$THIS" : '.*\(\.[^\.]*\)$$'`; \
|
||||||
|
SHLIB_SUFFIX=$${SHLIB_SUFFIX:-.so}; \
|
||||||
ALLSYMSFLAGS='-all_load'; \
|
ALLSYMSFLAGS='-all_load'; \
|
||||||
NOALLSYMSFLAGS=''; \
|
NOALLSYMSFLAGS=''; \
|
||||||
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
|
||||||
if [ -n "$(LIBVERSION)" ]; then \
|
if [ -n "$(LIBVERSION)" ]; then \
|
||||||
SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
|
SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
|
||||||
fi; \
|
fi; \
|
||||||
@ -213,12 +220,14 @@ link_a.darwin:
|
|||||||
SHLIB_SUFFIX=.dylib; \
|
SHLIB_SUFFIX=.dylib; \
|
||||||
ALLSYMSFLAGS='-all_load'; \
|
ALLSYMSFLAGS='-all_load'; \
|
||||||
NOALLSYMSFLAGS=''; \
|
NOALLSYMSFLAGS=''; \
|
||||||
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
|
||||||
if [ -n "$(LIBVERSION)" ]; then \
|
if [ -n "$(LIBVERSION)" ]; then \
|
||||||
SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
|
SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
|
||||||
fi; \
|
fi; \
|
||||||
if [ -n "$$SHLIB_SOVER_NODOT" ]; then \
|
if [ -n "$$SHLIB_SOVER_NODOT" ]; then \
|
||||||
SHAREDFLAGS="$$SHAREDFLAGS -compatibility_version $$SHLIB_SOVER_NODOT"; \
|
SHAREDFLAGS="$$SHAREDFLAGS -compatibility_version $$SHLIB_SOVER_NODOT"; \
|
||||||
fi; \
|
fi; \
|
||||||
|
SHAREDFLAGS="$$SHAREDFLAGS -install_name ${INSTALLTOP}/lib/$$SHLIB${SHLIB_EXT}"; \
|
||||||
$(LINK_SO_A)
|
$(LINK_SO_A)
|
||||||
link_app.darwin: # is there run-path on darwin?
|
link_app.darwin: # is there run-path on darwin?
|
||||||
$(LINK_APP)
|
$(LINK_APP)
|
||||||
@ -227,24 +236,30 @@ link_o.cygwin:
|
|||||||
@ $(CALC_VERSIONS); \
|
@ $(CALC_VERSIONS); \
|
||||||
INHIBIT_SYMLINKS=yes; \
|
INHIBIT_SYMLINKS=yes; \
|
||||||
SHLIB=cyg$(LIBNAME); \
|
SHLIB=cyg$(LIBNAME); \
|
||||||
expr $(PLATFORM) : 'mingw' > /dev/null && SHLIB=$(LIBNAME)eay32; \
|
base=-Wl,--enable-auto-image-base; \
|
||||||
|
if expr $(PLATFORM) : 'mingw' > /dev/null; then \
|
||||||
|
SHLIB=$(LIBNAME)eay32; base=; \
|
||||||
|
fi; \
|
||||||
SHLIB_SUFFIX=.dll; \
|
SHLIB_SUFFIX=.dll; \
|
||||||
LIBVERSION="$(LIBVERSION)"; \
|
LIBVERSION="$(LIBVERSION)"; \
|
||||||
SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \
|
SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \
|
||||||
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
||||||
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
|
||||||
$(LINK_SO_O)
|
$(LINK_SO_O)
|
||||||
link_a.cygwin:
|
link_a.cygwin:
|
||||||
@ $(CALC_VERSIONS); \
|
@ $(CALC_VERSIONS); \
|
||||||
INHIBIT_SYMLINKS=yes; \
|
INHIBIT_SYMLINKS=yes; \
|
||||||
SHLIB=cyg$(LIBNAME); \
|
SHLIB=cyg$(LIBNAME); \
|
||||||
expr $(PLATFORM) : 'mingw' > /dev/null && SHLIB=$(LIBNAME)eay32; \
|
base=-Wl,--enable-auto-image-base; \
|
||||||
|
if expr $(PLATFORM) : 'mingw' > /dev/null; then \
|
||||||
|
SHLIB=$(LIBNAME)eay32; \
|
||||||
|
base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
|
||||||
|
fi; \
|
||||||
SHLIB_SUFFIX=.dll; \
|
SHLIB_SUFFIX=.dll; \
|
||||||
SHLIB_SOVER=-$(LIBVERSION); \
|
SHLIB_SOVER=-$(LIBVERSION); \
|
||||||
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
||||||
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
||||||
base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
|
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
|
||||||
[ -f apps/$$SHLIB$$SHLIB_SUFFIX ] && rm apps/$$SHLIB$$SHLIB_SUFFIX; \
|
[ -f apps/$$SHLIB$$SHLIB_SUFFIX ] && rm apps/$$SHLIB$$SHLIB_SUFFIX; \
|
||||||
[ -f test/$$SHLIB$$SHLIB_SUFFIX ] && rm test/$$SHLIB$$SHLIB_SUFFIX; \
|
[ -f test/$$SHLIB$$SHLIB_SUFFIX ] && rm test/$$SHLIB$$SHLIB_SUFFIX; \
|
||||||
@ -269,9 +284,9 @@ link_o.alpha-osf1:
|
|||||||
SHLIB_SOVER=; \
|
SHLIB_SOVER=; \
|
||||||
ALLSYMSFLAGS='-all'; \
|
ALLSYMSFLAGS='-all'; \
|
||||||
NOALLSYMSFLAGS='-none'; \
|
NOALLSYMSFLAGS='-none'; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-B,symbolic"; \
|
||||||
if [ -n "$$SHLIB_HIST" ]; then \
|
if [ -n "$$SHLIB_HIST" ]; then \
|
||||||
SHAREDFLAGS="$$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
|
SHAREDFLAGS="$$SHAREDFLAGS -set_version $$SHLIB_HIST"; \
|
||||||
fi; \
|
fi; \
|
||||||
fi; \
|
fi; \
|
||||||
$(LINK_SO_O)
|
$(LINK_SO_O)
|
||||||
@ -290,9 +305,9 @@ link_a.alpha-osf1:
|
|||||||
SHLIB_SOVER=; \
|
SHLIB_SOVER=; \
|
||||||
ALLSYMSFLAGS='-all'; \
|
ALLSYMSFLAGS='-all'; \
|
||||||
NOALLSYMSFLAGS='-none'; \
|
NOALLSYMSFLAGS='-none'; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-B,symbolic"; \
|
||||||
if [ -n "$$SHLIB_HIST" ]; then \
|
if [ -n "$$SHLIB_HIST" ]; then \
|
||||||
SHAREDFLAGS="$$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
|
SHAREDFLAGS="$$SHAREDFLAGS -set_version $$SHLIB_HIST"; \
|
||||||
fi; \
|
fi; \
|
||||||
fi; \
|
fi; \
|
||||||
$(LINK_SO_A)
|
$(LINK_SO_A)
|
||||||
@ -413,7 +428,7 @@ link_o.irix:
|
|||||||
($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSWL="-Wl,"; \
|
($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSWL="-Wl,"; \
|
||||||
ALLSYMSFLAGS="$${MINUSWL}-all"; \
|
ALLSYMSFLAGS="$${MINUSWL}-all"; \
|
||||||
NOALLSYMSFLAGS="$${MINUSWL}-none"; \
|
NOALLSYMSFLAGS="$${MINUSWL}-none"; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,-B,symbolic"; \
|
||||||
fi; \
|
fi; \
|
||||||
$(LINK_SO_O)
|
$(LINK_SO_O)
|
||||||
link_a.irix:
|
link_a.irix:
|
||||||
@ -427,7 +442,7 @@ link_a.irix:
|
|||||||
($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSWL="-Wl,"; \
|
($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSWL="-Wl,"; \
|
||||||
ALLSYMSFLAGS="$${MINUSWL}-all"; \
|
ALLSYMSFLAGS="$${MINUSWL}-all"; \
|
||||||
NOALLSYMSFLAGS="$${MINUSWL}-none"; \
|
NOALLSYMSFLAGS="$${MINUSWL}-none"; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,-B,symbolic"; \
|
||||||
fi; \
|
fi; \
|
||||||
$(LINK_SO_A)
|
$(LINK_SO_A)
|
||||||
link_app.irix:
|
link_app.irix:
|
||||||
@ -446,13 +461,14 @@ link_o.hpux:
|
|||||||
@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
|
@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
|
||||||
$(CALC_VERSIONS); \
|
$(CALC_VERSIONS); \
|
||||||
SHLIB=lib$(LIBNAME).sl; \
|
SHLIB=lib$(LIBNAME).sl; \
|
||||||
expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
|
expr "$(CFLAGS)" : '.*DSO_DLFCN' > /dev/null && SHLIB=lib$(LIBNAME).so; \
|
||||||
SHLIB_SUFFIX=; \
|
SHLIB_SUFFIX=; \
|
||||||
ALLSYMSFLAGS='-Wl,-Fl'; \
|
ALLSYMSFLAGS='-Wl,-Fl'; \
|
||||||
NOALLSYMSFLAGS=''; \
|
NOALLSYMSFLAGS=''; \
|
||||||
expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
|
expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,+cdp,../:,+cdp,./:"; \
|
||||||
fi; \
|
fi; \
|
||||||
|
rm -f $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX || :; \
|
||||||
$(LINK_SO_O) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
|
$(LINK_SO_O) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
|
||||||
link_a.hpux:
|
link_a.hpux:
|
||||||
@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
|
@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
|
||||||
@ -463,8 +479,9 @@ link_a.hpux:
|
|||||||
ALLSYMSFLAGS='-Wl,-Fl'; \
|
ALLSYMSFLAGS='-Wl,-Fl'; \
|
||||||
NOALLSYMSFLAGS=''; \
|
NOALLSYMSFLAGS=''; \
|
||||||
expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
|
expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,+cdp,../:,+cdp,./:"; \
|
||||||
fi; \
|
fi; \
|
||||||
|
rm -f $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX || :; \
|
||||||
$(LINK_SO_A) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
|
$(LINK_SO_A) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
|
||||||
link_app.hpux:
|
link_app.hpux:
|
||||||
@if ${DETECT_GNU_LD}; then $(DO_GNU_APP); else \
|
@if ${DETECT_GNU_LD}; then $(DO_GNU_APP); else \
|
||||||
@ -474,26 +491,26 @@ link_app.hpux:
|
|||||||
|
|
||||||
link_o.aix:
|
link_o.aix:
|
||||||
@ $(CALC_VERSIONS); \
|
@ $(CALC_VERSIONS); \
|
||||||
OBJECT_MODE=`expr x$(SHARED_LDFLAGS) : 'x\-[a-z]\([0-9]*\)'`; \
|
OBJECT_MODE=`expr x$(SHARED_LDFLAGS) : 'x\-[a-z]*\(64\)'` || :; \
|
||||||
OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \
|
OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \
|
||||||
SHLIB=lib$(LIBNAME).so; \
|
SHLIB=lib$(LIBNAME).so; \
|
||||||
SHLIB_SUFFIX=; \
|
SHLIB_SUFFIX=; \
|
||||||
ALLSYMSFLAGS='-bnogc'; \
|
ALLSYMSFLAGS=''; \
|
||||||
NOALLSYMSFLAGS=''; \
|
NOALLSYMSFLAGS=''; \
|
||||||
SHAREDFLAGS='$(CFLAGS) $(SHARED_LDFLAGS) -G -bE:lib$(LIBNAME).exp -bM:SRE'; \
|
SHAREDFLAGS='$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-G,-bexpall,-bnolibpath,-bM:SRE'; \
|
||||||
$(LINK_SO_O); rm -rf lib$(LIBNAME).exp
|
$(LINK_SO_O);
|
||||||
link_a.aix:
|
link_a.aix:
|
||||||
@ $(CALC_VERSIONS); \
|
@ $(CALC_VERSIONS); \
|
||||||
OBJECT_MODE=`expr x$(SHARED_LDFLAGS) : 'x\-[a-z]\([0-9]*\)'`; \
|
OBJECT_MODE=`expr x$(SHARED_LDFLAGS) : 'x\-[a-z]*\(64\)'` || : ; \
|
||||||
OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \
|
OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \
|
||||||
SHLIB=lib$(LIBNAME).so; \
|
SHLIB=lib$(LIBNAME).so; \
|
||||||
SHLIB_SUFFIX=; \
|
SHLIB_SUFFIX=; \
|
||||||
ALLSYMSFLAGS='-bnogc'; \
|
ALLSYMSFLAGS='-bnogc'; \
|
||||||
NOALLSYMSFLAGS=''; \
|
NOALLSYMSFLAGS=''; \
|
||||||
SHAREDFLAGS='$(CFLAGS) $(SHARED_LDFLAGS) -G -bE:lib$(LIBNAME).exp -bM:SRE'; \
|
SHAREDFLAGS='$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-G,-bexpall,-bnolibpath,-bM:SRE'; \
|
||||||
$(LINK_SO_A_VIA_O)
|
$(LINK_SO_A_VIA_O)
|
||||||
link_app.aix:
|
link_app.aix:
|
||||||
LDFLAGS="$(CFLAGS) -blibpath:$(LIBRPATH)"; \
|
LDFLAGS="$(CFLAGS) -Wl,-brtl,-blibpath:$(LIBRPATH):$${LIBPATH:-/usr/lib:/lib}"; \
|
||||||
$(LINK_APP)
|
$(LINK_APP)
|
||||||
|
|
||||||
link_o.reliantunix:
|
link_o.reliantunix:
|
||||||
@ -532,7 +549,7 @@ symlink.hpux:
|
|||||||
expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
|
expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
|
||||||
$(SYMLINK_SO)
|
$(SYMLINK_SO)
|
||||||
# The following lines means those specific architectures do no symlinks
|
# The following lines means those specific architectures do no symlinks
|
||||||
symlink.cygwin symlib.alpha-osf1 symlink.tru64 symlink.tru64-rpath:
|
symlink.cygwin symlink.alpha-osf1 symlink.tru64 symlink.tru64-rpath:
|
||||||
|
|
||||||
# Compatibility targets
|
# Compatibility targets
|
||||||
link_o.bsd-gcc-shared link_o.linux-shared link_o.gnu-shared: link_o.gnu
|
link_o.bsd-gcc-shared link_o.linux-shared link_o.gnu-shared: link_o.gnu
|
||||||
|
129
NEWS
129
NEWS
@ -5,6 +5,135 @@
|
|||||||
This file gives a brief overview of the major changes between each OpenSSL
|
This file gives a brief overview of the major changes between each OpenSSL
|
||||||
release. For more details please read the CHANGES file.
|
release. For more details please read the CHANGES file.
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e:
|
||||||
|
|
||||||
|
o Various ciphersuite selection fixes.
|
||||||
|
o RFC3779 support.
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d:
|
||||||
|
|
||||||
|
o Introduce limits to prevent malicious key DoS (CVE-2006-2940)
|
||||||
|
o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343)
|
||||||
|
o Changes to ciphersuite selection algorithm
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c:
|
||||||
|
|
||||||
|
o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339
|
||||||
|
o New cipher Camellia
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b:
|
||||||
|
|
||||||
|
o Cipher string fixes.
|
||||||
|
o Fixes for VC++ 2005.
|
||||||
|
o Updated ECC cipher suite support.
|
||||||
|
o New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free().
|
||||||
|
o Zlib compression usage fixes.
|
||||||
|
o Built in dynamic engine compilation support on Win32.
|
||||||
|
o Fixes auto dynamic engine loading in Win32.
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a:
|
||||||
|
|
||||||
|
o Fix potential SSL 2.0 rollback, CVE-2005-2969
|
||||||
|
o Extended Windows CE support
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8:
|
||||||
|
|
||||||
|
o Major work on the BIGNUM library for higher efficiency and to
|
||||||
|
make operations more streamlined and less contradictory. This
|
||||||
|
is the result of a major audit of the BIGNUM library.
|
||||||
|
o Addition of BIGNUM functions for fields GF(2^m) and NIST
|
||||||
|
curves, to support the Elliptic Crypto functions.
|
||||||
|
o Major work on Elliptic Crypto; ECDH and ECDSA added, including
|
||||||
|
the use through EVP, X509 and ENGINE.
|
||||||
|
o New ASN.1 mini-compiler that's usable through the OpenSSL
|
||||||
|
configuration file.
|
||||||
|
o Added support for ASN.1 indefinite length constructed encoding.
|
||||||
|
o New PKCS#12 'medium level' API to manipulate PKCS#12 files.
|
||||||
|
o Complete rework of shared library construction and linking
|
||||||
|
programs with shared or static libraries, through a separate
|
||||||
|
Makefile.shared.
|
||||||
|
o Rework of the passing of parameters from one Makefile to another.
|
||||||
|
o Changed ENGINE framework to load dynamic engine modules
|
||||||
|
automatically from specifically given directories.
|
||||||
|
o New structure and ASN.1 functions for CertificatePair.
|
||||||
|
o Changed the ZLIB compression method to be stateful.
|
||||||
|
o Changed the key-generation and primality testing "progress"
|
||||||
|
mechanism to take a structure that contains the ticker
|
||||||
|
function and an argument.
|
||||||
|
o New engine module: GMP (performs private key exponentiation).
|
||||||
|
o New engine module: VIA PadLOck ACE extension in VIA C3
|
||||||
|
Nehemiah processors.
|
||||||
|
o Added support for IPv6 addresses in certificate extensions.
|
||||||
|
See RFC 1884, section 2.2.
|
||||||
|
o Added support for certificate policy mappings, policy
|
||||||
|
constraints and name constraints.
|
||||||
|
o Added support for multi-valued AVAs in the OpenSSL
|
||||||
|
configuration file.
|
||||||
|
o Added support for multiple certificates with the same subject
|
||||||
|
in the 'openssl ca' index file.
|
||||||
|
o Make it possible to create self-signed certificates using
|
||||||
|
'openssl ca -selfsign'.
|
||||||
|
o Make it possible to generate a serial number file with
|
||||||
|
'openssl ca -create_serial'.
|
||||||
|
o New binary search functions with extended functionality.
|
||||||
|
o New BUF functions.
|
||||||
|
o New STORE structure and library to provide an interface to all
|
||||||
|
sorts of data repositories. Supports storage of public and
|
||||||
|
private keys, certificates, CRLs, numbers and arbitrary blobs.
|
||||||
|
This library is unfortunately unfinished and unused withing
|
||||||
|
OpenSSL.
|
||||||
|
o New control functions for the error stack.
|
||||||
|
o Changed the PKCS#7 library to support one-pass S/MIME
|
||||||
|
processing.
|
||||||
|
o Added the possibility to compile without old deprecated
|
||||||
|
functionality with the OPENSSL_NO_DEPRECATED macro or the
|
||||||
|
'no-deprecated' argument to the config and Configure scripts.
|
||||||
|
o Constification of all ASN.1 conversion functions, and other
|
||||||
|
affected functions.
|
||||||
|
o Improved platform support for PowerPC.
|
||||||
|
o New FIPS 180-2 algorithms (SHA-224, -256, -384 and -512).
|
||||||
|
o New X509_VERIFY_PARAM structure to support parametrisation
|
||||||
|
of X.509 path validation.
|
||||||
|
o Major overhaul of RC4 performance on Intel P4, IA-64 and
|
||||||
|
AMD64.
|
||||||
|
o Changed the Configure script to have some algorithms disabled
|
||||||
|
by default. Those can be explicitely enabled with the new
|
||||||
|
argument form 'enable-xxx'.
|
||||||
|
o Change the default digest in 'openssl' commands from MD5 to
|
||||||
|
SHA-1.
|
||||||
|
o Added support for DTLS.
|
||||||
|
o New BIGNUM blinding.
|
||||||
|
o Added support for the RSA-PSS encryption scheme
|
||||||
|
o Added support for the RSA X.931 padding.
|
||||||
|
o Added support for BSD sockets on NetWare.
|
||||||
|
o Added support for files larger than 2GB.
|
||||||
|
o Added initial support for Win64.
|
||||||
|
o Added alternate pkg-config files.
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l:
|
||||||
|
|
||||||
|
o Introduce limits to prevent malicious key DoS (CVE-2006-2940)
|
||||||
|
o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343)
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k:
|
||||||
|
|
||||||
|
o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j:
|
||||||
|
|
||||||
|
o Visual C++ 2005 fixes.
|
||||||
|
o Update Windows build system for FIPS.
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i:
|
||||||
|
|
||||||
|
o Give EVP_MAX_MD_SIZE it's old value, except for a FIPS build.
|
||||||
|
|
||||||
|
Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h:
|
||||||
|
|
||||||
|
o Fix SSL 2.0 Rollback, CVE-2005-2969
|
||||||
|
o Allow use of fixed-length exponent on DSA signing
|
||||||
|
o Default fixed-window RSA, DSA, DH private-key operations
|
||||||
|
|
||||||
Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:
|
Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:
|
||||||
|
|
||||||
o More compilation issues fixed.
|
o More compilation issues fixed.
|
||||||
|
@ -6,14 +6,15 @@ rem
|
|||||||
rem usage:
|
rem usage:
|
||||||
rem build [target] [debug opts] [assembly opts] [configure opts]
|
rem build [target] [debug opts] [assembly opts] [configure opts]
|
||||||
rem
|
rem
|
||||||
rem target - "netware-clib" - CLib NetWare build
|
rem target - "netware-clib" - CLib NetWare build (WinSock Sockets)
|
||||||
rem - "netware-libc" - LibC NKS NetWare build
|
rem - "netware-libc" - LibC NKS NetWare build (WinSock Sockets)
|
||||||
|
rem - "netware-libc-bsdsock" - LibC NKS NetWare build (BSD Sockets)
|
||||||
rem
|
rem
|
||||||
rem debug opts - "debug" - build debug
|
rem debug opts - "debug" - build debug
|
||||||
rem
|
rem
|
||||||
rem assembly opts - "nw-mwasm" - use Metrowerks assembler
|
rem assembly opts - "nw-mwasm" - use Metrowerks assembler
|
||||||
rem "nw-nasm" - use NASM assembler
|
rem - "nw-nasm" - use NASM assembler
|
||||||
rem "no-asm" - don't use assembly
|
rem - "no-asm" - don't use assembly
|
||||||
rem
|
rem
|
||||||
rem configure opts- all unrecognized arguments are passed to the
|
rem configure opts- all unrecognized arguments are passed to the
|
||||||
rem perl configure script
|
rem perl configure script
|
||||||
@ -76,6 +77,8 @@ if "%1" == "netware-clib" set BLD_TARGET=netware-clib
|
|||||||
if "%1" == "netware-clib" set ARG_PROCESSED=YES
|
if "%1" == "netware-clib" set ARG_PROCESSED=YES
|
||||||
if "%1" == "netware-libc" set BLD_TARGET=netware-libc
|
if "%1" == "netware-libc" set BLD_TARGET=netware-libc
|
||||||
if "%1" == "netware-libc" set ARG_PROCESSED=YES
|
if "%1" == "netware-libc" set ARG_PROCESSED=YES
|
||||||
|
if "%1" == "netware-libc-bsdsock" set BLD_TARGET=netware-libc-bsdsock
|
||||||
|
if "%1" == "netware-libc-bsdsock" set ARG_PROCESSED=YES
|
||||||
|
|
||||||
rem If we didn't recognize the argument, consider it an option for config
|
rem If we didn't recognize the argument, consider it an option for config
|
||||||
if "%ARG_PROCESSED%" == "NO" set CONFIG_OPTS=%CONFIG_OPTS% %1
|
if "%ARG_PROCESSED%" == "NO" set CONFIG_OPTS=%CONFIG_OPTS% %1
|
||||||
@ -92,6 +95,7 @@ rem build the nlm make file name which includes target and debug info
|
|||||||
set NLM_MAKE=
|
set NLM_MAKE=
|
||||||
if "%BLD_TARGET%" == "netware-clib" set NLM_MAKE=netware\nlm_clib
|
if "%BLD_TARGET%" == "netware-clib" set NLM_MAKE=netware\nlm_clib
|
||||||
if "%BLD_TARGET%" == "netware-libc" set NLM_MAKE=netware\nlm_libc
|
if "%BLD_TARGET%" == "netware-libc" set NLM_MAKE=netware\nlm_libc
|
||||||
|
if "%BLD_TARGET%" == "netware-libc-bsdsock" set NLM_MAKE=netware\nlm_libc_bsdsock
|
||||||
if "%DEBUG%" == "" set NLM_MAKE=%NLM_MAKE%.mak
|
if "%DEBUG%" == "" set NLM_MAKE=%NLM_MAKE%.mak
|
||||||
if "%DEBUG%" == "debug" set NLM_MAKE=%NLM_MAKE%_dbg.mak
|
if "%DEBUG%" == "debug" set NLM_MAKE=%NLM_MAKE%_dbg.mak
|
||||||
|
|
||||||
@ -184,8 +188,9 @@ echo . No build target specified!!!
|
|||||||
echo .
|
echo .
|
||||||
echo . usage: build [target] [debug opts] [assembly opts] [configure opts]
|
echo . usage: build [target] [debug opts] [assembly opts] [configure opts]
|
||||||
echo .
|
echo .
|
||||||
echo . target - "netware-clib" - CLib NetWare build
|
echo . target - "netware-clib" - CLib NetWare build (WinSock Sockets)
|
||||||
echo . - "netware-libc" - LibC NKS NetWare build
|
echo . - "netware-libc" - LibC NKS NetWare build (WinSock Sockets)
|
||||||
|
echo . - "netware-libc-bsdsock" - LibC NKS NetWare build (BSD Sockets)
|
||||||
echo .
|
echo .
|
||||||
echo . debug opts - "debug" - build debug
|
echo . debug opts - "debug" - build debug
|
||||||
echo .
|
echo .
|
||||||
|
@ -42,8 +42,8 @@ sub main()
|
|||||||
encryption_tests();
|
encryption_tests();
|
||||||
pem_tests();
|
pem_tests();
|
||||||
verify_tests();
|
verify_tests();
|
||||||
ssl_tests();
|
|
||||||
ca_tests();
|
ca_tests();
|
||||||
|
ssl_tests();
|
||||||
|
|
||||||
close(OUT);
|
close(OUT);
|
||||||
|
|
||||||
@ -67,10 +67,17 @@ sub algorithm_tests
|
|||||||
|
|
||||||
foreach $i (@tests)
|
foreach $i (@tests)
|
||||||
{
|
{
|
||||||
$outFile = "$output_path\\$i.out";
|
if (-e "$base_path\\$i.nlm")
|
||||||
system("$i > $outFile");
|
{
|
||||||
log_desc("Test: $i\.nlm:");
|
$outFile = "$output_path\\$i.out";
|
||||||
log_output("", $outFile );
|
system("$i > $outFile");
|
||||||
|
log_desc("Test: $i\.nlm:");
|
||||||
|
log_output("", $outFile );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
log_desc("Test: $i\.nlm: file not found");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,61 +253,63 @@ sub verify_tests
|
|||||||
sub ssl_tests
|
sub ssl_tests
|
||||||
{
|
{
|
||||||
my $outFile = "$output_path\\ssl_tst.out";
|
my $outFile = "$output_path\\ssl_tst.out";
|
||||||
|
my($CAcert) = "$output_path\\certCA.ss";
|
||||||
|
my($Ukey) = "$output_path\\keyU.ss";
|
||||||
|
my($Ucert) = "$output_path\\certU.ss";
|
||||||
|
my($ssltest)= "ssltest -key $Ukey -cert $Ucert -c_key $Ukey -c_cert $Ucert -CAfile $CAcert";
|
||||||
|
|
||||||
print( "\nRUNNING SSL TESTS:\n\n");
|
print( "\nRUNNING SSL TESTS:\n\n");
|
||||||
|
|
||||||
print( OUT "\n========================================================\n");
|
print( OUT "\n========================================================\n");
|
||||||
print( OUT "SSL TESTS:\n\n");
|
print( OUT "SSL TESTS:\n\n");
|
||||||
|
|
||||||
make_tmp_cert_file();
|
|
||||||
|
|
||||||
system("ssltest -ssl2 >$outFile");
|
system("ssltest -ssl2 >$outFile");
|
||||||
log_desc("Testing sslv2:");
|
log_desc("Testing sslv2:");
|
||||||
log_output("ssltest -ssl2", $outFile);
|
log_output("ssltest -ssl2", $outFile);
|
||||||
|
|
||||||
system("ssltest -ssl2 -server_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -ssl2 -server_auth >$outFile");
|
||||||
log_desc("Testing sslv2 with server authentication:");
|
log_desc("Testing sslv2 with server authentication:");
|
||||||
log_output("ssltest -ssl2 -server_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -ssl2 -server_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -ssl2 -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -ssl2 -client_auth >$outFile");
|
||||||
log_desc("Testing sslv2 with client authentication:");
|
log_desc("Testing sslv2 with client authentication:");
|
||||||
log_output("ssltest -ssl2 -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -ssl2 -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -ssl2 -server_auth -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -ssl2 -server_auth -client_auth >$outFile");
|
||||||
log_desc("Testing sslv2 with both client and server authentication:");
|
log_desc("Testing sslv2 with both client and server authentication:");
|
||||||
log_output("ssltest -ssl2 -server_auth -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -ssl2 -server_auth -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -ssl3 >$outFile");
|
system("ssltest -ssl3 >$outFile");
|
||||||
log_desc("Testing sslv3:");
|
log_desc("Testing sslv3:");
|
||||||
log_output("ssltest -ssl3", $outFile);
|
log_output("ssltest -ssl3", $outFile);
|
||||||
|
|
||||||
system("ssltest -ssl3 -server_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -ssl3 -server_auth >$outFile");
|
||||||
log_desc("Testing sslv3 with server authentication:");
|
log_desc("Testing sslv3 with server authentication:");
|
||||||
log_output("ssltest -ssl3 -server_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -ssl3 -server_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -ssl3 -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -ssl3 -client_auth >$outFile");
|
||||||
log_desc("Testing sslv3 with client authentication:");
|
log_desc("Testing sslv3 with client authentication:");
|
||||||
log_output("ssltest -ssl3 -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -ssl3 -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -ssl3 -server_auth -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -ssl3 -server_auth -client_auth >$outFile");
|
||||||
log_desc("Testing sslv3 with both client and server authentication:");
|
log_desc("Testing sslv3 with both client and server authentication:");
|
||||||
log_output("ssltest -ssl3 -server_auth -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -ssl3 -server_auth -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest >$outFile");
|
system("ssltest >$outFile");
|
||||||
log_desc("Testing sslv2/sslv3:");
|
log_desc("Testing sslv2/sslv3:");
|
||||||
log_output("ssltest", $outFile);
|
log_output("ssltest", $outFile);
|
||||||
|
|
||||||
system("ssltest -server_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -server_auth >$outFile");
|
||||||
log_desc("Testing sslv2/sslv3 with server authentication:");
|
log_desc("Testing sslv2/sslv3 with server authentication:");
|
||||||
log_output("ssltest -server_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -server_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -client_auth >$outFile");
|
||||||
log_desc("Testing sslv2/sslv3 with client authentication:");
|
log_desc("Testing sslv2/sslv3 with client authentication:");
|
||||||
log_output("ssltest -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -client_auth ", $outFile);
|
||||||
|
|
||||||
system("ssltest -server_auth -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -server_auth -client_auth >$outFile");
|
||||||
log_desc("Testing sslv2/sslv3 with both client and server authentication:");
|
log_desc("Testing sslv2/sslv3 with both client and server authentication:");
|
||||||
log_output("ssltest -server_auth -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -server_auth -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -ssl2 >$outFile");
|
system("ssltest -bio_pair -ssl2 >$outFile");
|
||||||
log_desc("Testing sslv2 via BIO pair:");
|
log_desc("Testing sslv2 via BIO pair:");
|
||||||
@ -310,49 +319,49 @@ sub ssl_tests
|
|||||||
log_desc("Testing sslv2/sslv3 with 1024 bit DHE via BIO pair:");
|
log_desc("Testing sslv2/sslv3 with 1024 bit DHE via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -dhe1024dsa -v", $outFile);
|
log_output("ssltest -bio_pair -dhe1024dsa -v", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -ssl2 -server_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -ssl2 -server_auth >$outFile");
|
||||||
log_desc("Testing sslv2 with server authentication via BIO pair:");
|
log_desc("Testing sslv2 with server authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -ssl2 -server_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -ssl2 -server_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -ssl2 -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -ssl2 -client_auth >$outFile");
|
||||||
log_desc("Testing sslv2 with client authentication via BIO pair:");
|
log_desc("Testing sslv2 with client authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -ssl2 -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -ssl2 -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -ssl2 -server_auth -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -ssl2 -server_auth -client_auth >$outFile");
|
||||||
log_desc("Testing sslv2 with both client and server authentication via BIO pair:");
|
log_desc("Testing sslv2 with both client and server authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -ssl2 -server_auth -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -ssl2 -server_auth -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -ssl3 >$outFile");
|
system("ssltest -bio_pair -ssl3 >$outFile");
|
||||||
log_desc("Testing sslv3 via BIO pair:");
|
log_desc("Testing sslv3 via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -ssl3", $outFile);
|
log_output("ssltest -bio_pair -ssl3", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -ssl3 -server_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -ssl3 -server_auth >$outFile");
|
||||||
log_desc("Testing sslv3 with server authentication via BIO pair:");
|
log_desc("Testing sslv3 with server authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -ssl3 -server_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -ssl3 -server_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -ssl3 -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -ssl3 -client_auth >$outFile");
|
||||||
log_desc("Testing sslv3 with client authentication via BIO pair:");
|
log_desc("Testing sslv3 with client authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -ssl3 -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -ssl3 -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -ssl3 -server_auth -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -ssl3 -server_auth -client_auth >$outFile");
|
||||||
log_desc("Testing sslv3 with both client and server authentication via BIO pair:");
|
log_desc("Testing sslv3 with both client and server authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -ssl3 -server_auth -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -ssl3 -server_auth -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair >$outFile");
|
system("ssltest -bio_pair >$outFile");
|
||||||
log_desc("Testing sslv2/sslv3 via BIO pair:");
|
log_desc("Testing sslv2/sslv3 via BIO pair:");
|
||||||
log_output("ssltest -bio_pair", $outFile);
|
log_output("ssltest -bio_pair", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -server_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -server_auth >$outFile");
|
||||||
log_desc("Testing sslv2/sslv3 with server authentication via BIO pair:");
|
log_desc("Testing sslv2/sslv3 with server authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -server_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -server_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -client_auth >$outFile");
|
||||||
log_desc("Testing sslv2/sslv3 with client authentication via BIO pair:");
|
log_desc("Testing sslv2/sslv3 with client authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -client_auth", $outFile);
|
||||||
|
|
||||||
system("ssltest -bio_pair -server_auth -client_auth -CAfile $tmp_cert >$outFile");
|
system("$ssltest -bio_pair -server_auth -client_auth >$outFile");
|
||||||
log_desc("Testing sslv2/sslv3 with both client and server authentication via BIO pair:");
|
log_desc("Testing sslv2/sslv3 with both client and server authentication via BIO pair:");
|
||||||
log_output("ssltest -bio_pair -server_auth -client_auth -CAfile $tmp_cert", $outFile);
|
log_output("$ssltest -bio_pair -server_auth -client_auth", $outFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
93
PROBLEMS
93
PROBLEMS
@ -12,8 +12,8 @@ along the whole library path before it bothers looking for .a libraries. This
|
|||||||
means that -L switches won't matter unless OpenSSL is built with shared
|
means that -L switches won't matter unless OpenSSL is built with shared
|
||||||
library support.
|
library support.
|
||||||
|
|
||||||
The workaround may be to change the following lines in apps/Makefile.ssl and
|
The workaround may be to change the following lines in apps/Makefile and
|
||||||
test/Makefile.ssl:
|
test/Makefile:
|
||||||
|
|
||||||
LIBCRYPTO=-L.. -lcrypto
|
LIBCRYPTO=-L.. -lcrypto
|
||||||
LIBSSL=-L.. -lssl
|
LIBSSL=-L.. -lssl
|
||||||
@ -48,20 +48,34 @@ will interfere with each other and lead to test failure.
|
|||||||
The solution is simple for now: don't run parallell make when testing.
|
The solution is simple for now: don't run parallell make when testing.
|
||||||
|
|
||||||
|
|
||||||
* Bugs in gcc 3.0 triggered
|
* Bugs in gcc triggered
|
||||||
|
|
||||||
According to a problem report, there are bugs in gcc 3.0 that are
|
- According to a problem report, there are bugs in gcc 3.0 that are
|
||||||
triggered by some of the code in OpenSSL, more specifically in
|
triggered by some of the code in OpenSSL, more specifically in
|
||||||
PEM_get_EVP_CIPHER_INFO(). The triggering code is the following:
|
PEM_get_EVP_CIPHER_INFO(). The triggering code is the following:
|
||||||
|
|
||||||
header+=11;
|
header+=11;
|
||||||
if (*header != '4') return(0); header++;
|
if (*header != '4') return(0); header++;
|
||||||
if (*header != ',') return(0); header++;
|
if (*header != ',') return(0); header++;
|
||||||
|
|
||||||
What happens is that gcc might optimize a little too agressively, and
|
What happens is that gcc might optimize a little too agressively, and
|
||||||
you end up with an extra incrementation when *header != '4'.
|
you end up with an extra incrementation when *header != '4'.
|
||||||
|
|
||||||
We recommend that you upgrade gcc to as high a 3.x version as you can.
|
We recommend that you upgrade gcc to as high a 3.x version as you can.
|
||||||
|
|
||||||
|
- According to multiple problem reports, some of our message digest
|
||||||
|
implementations trigger bug[s] in code optimizer in gcc 3.3 for sparc64
|
||||||
|
and gcc 2.96 for ppc. Former fails to complete RIPEMD160 test, while
|
||||||
|
latter - SHA one.
|
||||||
|
|
||||||
|
The recomendation is to upgrade your compiler. This naturally applies to
|
||||||
|
other similar cases.
|
||||||
|
|
||||||
|
- There is a subtle Solaris x86-specific gcc run-time environment bug, which
|
||||||
|
"falls between" OpenSSL [0.9.8 and later], Solaris ld and GCC. The bug
|
||||||
|
manifests itself as Segmentation Fault upon early application start-up.
|
||||||
|
The problem can be worked around by patching the environment according to
|
||||||
|
http://www.openssl.org/~appro/values.c.
|
||||||
|
|
||||||
* solaris64-sparcv9-cc SHA-1 performance with WorkShop 6 compiler.
|
* solaris64-sparcv9-cc SHA-1 performance with WorkShop 6 compiler.
|
||||||
|
|
||||||
@ -120,3 +134,64 @@ Any information helping to solve this issue would be deeply
|
|||||||
appreciated.
|
appreciated.
|
||||||
|
|
||||||
NOTE: building non-shared doesn't come with this problem.
|
NOTE: building non-shared doesn't come with this problem.
|
||||||
|
|
||||||
|
* ULTRIX build fails with shell errors, such as "bad substitution"
|
||||||
|
and "test: argument expected"
|
||||||
|
|
||||||
|
The problem is caused by ULTRIX /bin/sh supporting only original
|
||||||
|
Bourne shell syntax/semantics, and the trouble is that the vast
|
||||||
|
majority is so accustomed to more modern syntax, that very few
|
||||||
|
people [if any] would recognize the ancient syntax even as valid.
|
||||||
|
This inevitably results in non-trivial scripts breaking on ULTRIX,
|
||||||
|
and OpenSSL isn't an exclusion. Fortunately there is workaround,
|
||||||
|
hire /bin/ksh to do the job /bin/sh fails to do.
|
||||||
|
|
||||||
|
1. Trick make(1) to use /bin/ksh by setting up following environ-
|
||||||
|
ment variables *prior* you execute ./Configure and make:
|
||||||
|
|
||||||
|
PROG_ENV=POSIX
|
||||||
|
MAKESHELL=/bin/ksh
|
||||||
|
export PROG_ENV MAKESHELL
|
||||||
|
|
||||||
|
or if your shell is csh-compatible:
|
||||||
|
|
||||||
|
setenv PROG_ENV POSIX
|
||||||
|
setenv MAKESHELL /bin/ksh
|
||||||
|
|
||||||
|
2. Trick /bin/sh to use alternative expression evaluator. Create
|
||||||
|
following 'test' script for example in /tmp:
|
||||||
|
|
||||||
|
#!/bin/ksh
|
||||||
|
${0##*/} "$@"
|
||||||
|
|
||||||
|
Then 'chmod a+x /tmp/test; ln /tmp/test /tmp/[' and *prepend*
|
||||||
|
your $PATH with chosen location, e.g. PATH=/tmp:$PATH. Alter-
|
||||||
|
natively just replace system /bin/test and /bin/[ with the
|
||||||
|
above script.
|
||||||
|
|
||||||
|
* hpux64-ia64-cc fails blowfish test.
|
||||||
|
|
||||||
|
Compiler bug, presumably at particular patch level. It should be noted
|
||||||
|
that same compiler generates correct 32-bit code, a.k.a. hpux-ia64-cc
|
||||||
|
target. Drop optimization level to +O2 when compiling 64-bit bf_skey.o.
|
||||||
|
|
||||||
|
* no-engines generates errors.
|
||||||
|
|
||||||
|
Unfortunately, the 'no-engines' configuration option currently doesn't
|
||||||
|
work properly. Use 'no-hw' and you'll will at least get no hardware
|
||||||
|
support. We'll see how we fix that on OpenSSL versions past 0.9.8.
|
||||||
|
|
||||||
|
* 'make test' fails in BN_sqr [commonly with "error 139" denoting SIGSEGV]
|
||||||
|
if elder GNU binutils were deployed to link shared libcrypto.so.
|
||||||
|
|
||||||
|
As subject suggests the failure is caused by a bug in elder binutils,
|
||||||
|
either as or ld, and was observed on FreeBSD and Linux. There are two
|
||||||
|
options. First is naturally to upgrade binutils, the second one - to
|
||||||
|
reconfigure with additional no-sse2 [or 386] option passed to ./config.
|
||||||
|
|
||||||
|
* If configured with ./config no-dso, toolkit still gets linked with -ldl,
|
||||||
|
which most notably poses a problem when linking with dietlibc.
|
||||||
|
|
||||||
|
We don't have framework to associate -ldl with no-dso, therefore the only
|
||||||
|
way is to edit Makefile right after ./config no-dso and remove -ldl from
|
||||||
|
EX_LIBS line.
|
||||||
|
27
README
27
README
@ -1,10 +1,16 @@
|
|||||||
|
|
||||||
OpenSSL 0.9.9-dev XX xxx XXXX
|
OpenSSL 0.9.8f-fips-dev test version
|
||||||
|
|
||||||
Copyright (c) 1998-2005 The OpenSSL Project
|
Copyright (c) 1998-2007 The OpenSSL Project
|
||||||
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
WARNING
|
||||||
|
-------
|
||||||
|
|
||||||
|
This version of OpenSSL is an initial port of the FIPS 140-2 code to OpenSSL
|
||||||
|
0.9.8. See the file README.FIPS for brief usage details.
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
@ -36,12 +42,13 @@
|
|||||||
actually logically part of it. It includes routines for the following:
|
actually logically part of it. It includes routines for the following:
|
||||||
|
|
||||||
Ciphers
|
Ciphers
|
||||||
libdes - EAY's libdes DES encryption package which has been floating
|
libdes - EAY's libdes DES encryption package which was floating
|
||||||
around the net for a few years. It includes 15
|
around the net for a few years, and was then relicensed by
|
||||||
'modes/variations' of DES (1, 2 and 3 key versions of ecb,
|
him as part of SSLeay. It includes 15 'modes/variations'
|
||||||
cbc, cfb and ofb; pcbc and a more general form of cfb and
|
of DES (1, 2 and 3 key versions of ecb, cbc, cfb and ofb;
|
||||||
ofb) including desx in cbc mode, a fast crypt(3), and
|
pcbc and a more general form of cfb and ofb) including desx
|
||||||
routines to read passwords from the keyboard.
|
in cbc mode, a fast crypt(3), and routines to read
|
||||||
|
passwords from the keyboard.
|
||||||
RC4 encryption,
|
RC4 encryption,
|
||||||
RC2 encryption - 4 different modes, ecb, cbc, cfb and ofb.
|
RC2 encryption - 4 different modes, ecb, cbc, cfb and ofb.
|
||||||
Blowfish encryption - 4 different modes, ecb, cbc, cfb and ofb.
|
Blowfish encryption - 4 different modes, ecb, cbc, cfb and ofb.
|
||||||
@ -113,6 +120,10 @@
|
|||||||
|
|
||||||
The MDC2 algorithm is patented by IBM.
|
The MDC2 algorithm is patented by IBM.
|
||||||
|
|
||||||
|
NTT and Mitsubishi have patents and pending patents on the Camellia
|
||||||
|
algorithm, but allow use at no charge without requiring an explicit
|
||||||
|
licensing agreement: http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
|
||||||
|
|
||||||
INSTALLATION
|
INSTALLATION
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
35
README.FIPS
Normal file
35
README.FIPS
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
Brief instructions on using OpenSSL 0.9.8 FIPS test branch.
|
||||||
|
|
||||||
|
To avoid any confusion that this might generate a validate library just
|
||||||
|
supplying "fips" on the command line wont work. Additional options are
|
||||||
|
needed...
|
||||||
|
|
||||||
|
To build fipscanister and produce a usable distribution the configuration
|
||||||
|
option "fipscanisterbuild" is used to either the config or Configure scripts.
|
||||||
|
For example:
|
||||||
|
|
||||||
|
./config fipscanisterbuild
|
||||||
|
|
||||||
|
This builds static libraries in a way similar to the FIPS 1.1.1 distro.
|
||||||
|
|
||||||
|
To build the shared library fipscanister version use the configuration
|
||||||
|
options "fipsdso".
|
||||||
|
|
||||||
|
Note that the fipscanister.o file is totally incompatible with the version
|
||||||
|
produced by the FIPS 1.1.1 distribution and cannot be made to work with
|
||||||
|
it.
|
||||||
|
|
||||||
|
Both options should also work under Windows and VC++. With this version the
|
||||||
|
use of MinGW is unnecessary and the normal VC++ build procedure can be
|
||||||
|
followed *except* the GNU linker "ld.exe" (for example from MinGW) must be
|
||||||
|
accessible somewhere on the PATH. For example:
|
||||||
|
|
||||||
|
perl Configure VC-WIN32 fipsdso
|
||||||
|
ms\do_masm
|
||||||
|
nmake -f ms\ntdll.mak
|
||||||
|
|
||||||
|
Note that any warnings from a Windows version of "tar" about being unable to
|
||||||
|
create symbolic links can be ignored.
|
||||||
|
|
||||||
|
|
16
STATUS
16
STATUS
@ -1,11 +1,22 @@
|
|||||||
|
|
||||||
OpenSSL STATUS Last modified at
|
OpenSSL STATUS Last modified at
|
||||||
______________ $Date: 2005/05/19 19:43:28 $
|
______________ $Date: 2007/02/23 12:12:27 $
|
||||||
|
|
||||||
DEVELOPMENT STATE
|
DEVELOPMENT STATE
|
||||||
|
|
||||||
o OpenSSL 0.9.9: Under development...
|
o OpenSSL 0.9.9: Under development...
|
||||||
o OpenSSL 0.9.8-beta1: Released on May 19th, 2005
|
o OpenSSL 0.9.8e: Released on February 23rd, 2007
|
||||||
|
o OpenSSL 0.9.8d: Released on September 28th, 2006
|
||||||
|
o OpenSSL 0.9.8c: Released on September 5th, 2006
|
||||||
|
o OpenSSL 0.9.8b: Released on May 4th, 2006
|
||||||
|
o OpenSSL 0.9.8a: Released on October 11th, 2005
|
||||||
|
o OpenSSL 0.9.8: Released on July 5th, 2005
|
||||||
|
o OpenSSL 0.9.7m: Released on February 23rd, 2007
|
||||||
|
o OpenSSL 0.9.7l: Released on September 28th, 2006
|
||||||
|
o OpenSSL 0.9.7k: Released on September 5th, 2006
|
||||||
|
o OpenSSL 0.9.7j: Released on May 4th, 2006
|
||||||
|
o OpenSSL 0.9.7i: Released on October 14th, 2005
|
||||||
|
o OpenSSL 0.9.7h: Released on October 11th, 2005
|
||||||
o OpenSSL 0.9.7g: Released on April 11th, 2005
|
o OpenSSL 0.9.7g: Released on April 11th, 2005
|
||||||
o OpenSSL 0.9.7f: Released on March 22nd, 2005
|
o OpenSSL 0.9.7f: Released on March 22nd, 2005
|
||||||
o OpenSSL 0.9.7e: Released on October 25th, 2004
|
o OpenSSL 0.9.7e: Released on October 25th, 2004
|
||||||
@ -40,6 +51,7 @@
|
|||||||
|
|
||||||
RELEASE SHOWSTOPPERS
|
RELEASE SHOWSTOPPERS
|
||||||
|
|
||||||
|
o The Makefiles fail with some SysV makes.
|
||||||
o
|
o
|
||||||
|
|
||||||
AVAILABLE PATCHES
|
AVAILABLE PATCHES
|
||||||
|
@ -68,19 +68,19 @@ foreach (@ARGV) {
|
|||||||
exit 0;
|
exit 0;
|
||||||
} elsif (/^-newcert$/) {
|
} elsif (/^-newcert$/) {
|
||||||
# create a certificate
|
# create a certificate
|
||||||
system ("$REQ -new -x509 -keyout newreq.pem -out newreq.pem $DAYS");
|
system ("$REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS");
|
||||||
$RET=$?;
|
$RET=$?;
|
||||||
print "Certificate (and private key) is in newreq.pem\n"
|
print "Certificate is in newcert.pem, private key is in newkey.pem\n"
|
||||||
} elsif (/^-newreq$/) {
|
} elsif (/^-newreq$/) {
|
||||||
# create a certificate request
|
# create a certificate request
|
||||||
system ("$REQ -new -keyout newreq.pem -out newreq.pem $DAYS");
|
system ("$REQ -new -keyout newkey.pem -out newreq.pem $DAYS");
|
||||||
$RET=$?;
|
$RET=$?;
|
||||||
print "Request (and private key) is in newreq.pem\n";
|
print "Request is in newreq.pem, private key is in newkey.pem\n";
|
||||||
} elsif (/^-newreq-nodes$/) {
|
} elsif (/^-newreq-nodes$/) {
|
||||||
# create a certificate request
|
# create a certificate request
|
||||||
system ("$REQ -new -nodes -keyout newreq.pem -out newreq.pem $DAYS");
|
system ("$REQ -new -nodes -keyout newkey.pem -out newreq.pem $DAYS");
|
||||||
$RET=$?;
|
$RET=$?;
|
||||||
print "Request (and private key) is in newreq.pem\n";
|
print "Request is in newreq.pem, private key is in newkey.pem\n";
|
||||||
} elsif (/^-newca$/) {
|
} elsif (/^-newca$/) {
|
||||||
# if explicitly asked for or it doesn't exist then setup the
|
# if explicitly asked for or it doesn't exist then setup the
|
||||||
# directory structure that Eric likes to manage things
|
# directory structure that Eric likes to manage things
|
||||||
@ -94,6 +94,9 @@ foreach (@ARGV) {
|
|||||||
mkdir "${CATOP}/private", $DIRMODE;
|
mkdir "${CATOP}/private", $DIRMODE;
|
||||||
open OUT, ">${CATOP}/index.txt";
|
open OUT, ">${CATOP}/index.txt";
|
||||||
close OUT;
|
close OUT;
|
||||||
|
open OUT, ">${CATOP}/crlnumber";
|
||||||
|
print OUT "01\n";
|
||||||
|
close OUT;
|
||||||
}
|
}
|
||||||
if ( ! -f "${CATOP}/private/$CAKEY" ) {
|
if ( ! -f "${CATOP}/private/$CAKEY" ) {
|
||||||
print "CA certificate filename (or enter to create)\n";
|
print "CA certificate filename (or enter to create)\n";
|
||||||
@ -113,6 +116,7 @@ foreach (@ARGV) {
|
|||||||
system ("$CA -create_serial " .
|
system ("$CA -create_serial " .
|
||||||
"-out ${CATOP}/$CACERT $CADAYS -batch " .
|
"-out ${CATOP}/$CACERT $CADAYS -batch " .
|
||||||
"-keyfile ${CATOP}/private/$CAKEY -selfsign " .
|
"-keyfile ${CATOP}/private/$CAKEY -selfsign " .
|
||||||
|
"-extensions v3_ca " .
|
||||||
"-infiles ${CATOP}/$CAREQ ");
|
"-infiles ${CATOP}/$CAREQ ");
|
||||||
$RET=$?;
|
$RET=$?;
|
||||||
}
|
}
|
||||||
@ -120,10 +124,11 @@ foreach (@ARGV) {
|
|||||||
} elsif (/^-pkcs12$/) {
|
} elsif (/^-pkcs12$/) {
|
||||||
my $cname = $ARGV[1];
|
my $cname = $ARGV[1];
|
||||||
$cname = "My Certificate" unless defined $cname;
|
$cname = "My Certificate" unless defined $cname;
|
||||||
system ("$PKCS12 -in newcert.pem -inkey newreq.pem " .
|
system ("$PKCS12 -in newcert.pem -inkey newkey.pem " .
|
||||||
"-certfile ${CATOP}/$CACERT -out newcert.p12 " .
|
"-certfile ${CATOP}/$CACERT -out newcert.p12 " .
|
||||||
"-export -name \"$cname\"");
|
"-export -name \"$cname\"");
|
||||||
$RET=$?;
|
$RET=$?;
|
||||||
|
print "PKCS #12 file is in newcert.p12\n";
|
||||||
exit $RET;
|
exit $RET;
|
||||||
} elsif (/^-xsign$/) {
|
} elsif (/^-xsign$/) {
|
||||||
system ("$CA -policy policy_anything -infiles newreq.pem");
|
system ("$CA -policy policy_anything -infiles newreq.pem");
|
||||||
|
@ -53,15 +53,15 @@ case $i in
|
|||||||
;;
|
;;
|
||||||
-newcert)
|
-newcert)
|
||||||
# create a certificate
|
# create a certificate
|
||||||
$REQ -new -x509 -keyout newreq.pem -out newreq.pem $DAYS
|
$REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS
|
||||||
RET=$?
|
RET=$?
|
||||||
echo "Certificate (and private key) is in newreq.pem"
|
echo "Certificate is in newcert.pem, private key is in newkey.pem"
|
||||||
;;
|
;;
|
||||||
-newreq)
|
-newreq)
|
||||||
# create a certificate request
|
# create a certificate request
|
||||||
$REQ -new -keyout newreq.pem -out newreq.pem $DAYS
|
$REQ -new -keyout newkey.pem -out newreq.pem $DAYS
|
||||||
RET=$?
|
RET=$?
|
||||||
echo "Request (and private key) is in newreq.pem"
|
echo "Request is in newreq.pem, private key is in newkey.pem"
|
||||||
;;
|
;;
|
||||||
-newca)
|
-newca)
|
||||||
# if explicitly asked for or it doesn't exist then setup the directory
|
# if explicitly asked for or it doesn't exist then setup the directory
|
||||||
|
889
apps/Makefile
889
apps/Makefile
File diff suppressed because it is too large
Load Diff
26
apps/apps.c
26
apps/apps.c
@ -125,7 +125,9 @@
|
|||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
#include <openssl/engine.h>
|
#include <openssl/engine.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
#include <openssl/rsa.h>
|
#include <openssl/rsa.h>
|
||||||
|
#endif
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
|
|
||||||
#define NON_MAIN
|
#define NON_MAIN
|
||||||
@ -374,10 +376,17 @@ int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[])
|
|||||||
/* The start of something good :-) */
|
/* The start of something good :-) */
|
||||||
if (num >= arg->count)
|
if (num >= arg->count)
|
||||||
{
|
{
|
||||||
arg->count+=20;
|
char **tmp_p;
|
||||||
arg->data=(char **)OPENSSL_realloc(arg->data,
|
int tlen = arg->count + 20;
|
||||||
sizeof(char *)*arg->count);
|
tmp_p = (char **)OPENSSL_realloc(arg->data,
|
||||||
if (argc == 0) return(0);
|
sizeof(char *)*tlen);
|
||||||
|
if (tmp_p == NULL)
|
||||||
|
return 0;
|
||||||
|
arg->data = tmp_p;
|
||||||
|
arg->count = tlen;
|
||||||
|
/* initialize newly allocated data */
|
||||||
|
for (i = num; i < arg->count; i++)
|
||||||
|
arg->data[i] = NULL;
|
||||||
}
|
}
|
||||||
arg->data[num++]=p;
|
arg->data[num++]=p;
|
||||||
|
|
||||||
@ -1604,8 +1613,9 @@ int rotate_serial(char *serialfile, char *new_suffix, char *old_suffix)
|
|||||||
{
|
{
|
||||||
if (errno != ENOENT
|
if (errno != ENOENT
|
||||||
#ifdef ENOTDIR
|
#ifdef ENOTDIR
|
||||||
&& errno != ENOTDIR)
|
&& errno != ENOTDIR
|
||||||
#endif
|
#endif
|
||||||
|
)
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1893,8 +1903,9 @@ int rotate_index(const char *dbfile, const char *new_suffix, const char *old_suf
|
|||||||
{
|
{
|
||||||
if (errno != ENOENT
|
if (errno != ENOENT
|
||||||
#ifdef ENOTDIR
|
#ifdef ENOTDIR
|
||||||
&& errno != ENOTDIR)
|
&& errno != ENOTDIR
|
||||||
#endif
|
#endif
|
||||||
|
)
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1929,8 +1940,9 @@ int rotate_index(const char *dbfile, const char *new_suffix, const char *old_suf
|
|||||||
{
|
{
|
||||||
if (errno != ENOENT
|
if (errno != ENOENT
|
||||||
#ifdef ENOTDIR
|
#ifdef ENOTDIR
|
||||||
&& errno != ENOTDIR)
|
&& errno != ENOTDIR
|
||||||
#endif
|
#endif
|
||||||
|
)
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -146,9 +146,11 @@ int WIN32_rename(const char *oldname,const char *newname);
|
|||||||
#ifndef NON_MAIN
|
#ifndef NON_MAIN
|
||||||
CONF *config=NULL;
|
CONF *config=NULL;
|
||||||
BIO *bio_err=NULL;
|
BIO *bio_err=NULL;
|
||||||
|
int in_FIPS_mode=0;
|
||||||
#else
|
#else
|
||||||
extern CONF *config;
|
extern CONF *config;
|
||||||
extern BIO *bio_err;
|
extern BIO *bio_err;
|
||||||
|
extern int in_FIPS_mode;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@ -157,6 +159,7 @@ extern BIO *bio_err;
|
|||||||
extern CONF *config;
|
extern CONF *config;
|
||||||
extern char *default_config_file;
|
extern char *default_config_file;
|
||||||
extern BIO *bio_err;
|
extern BIO *bio_err;
|
||||||
|
extern int in_FIPS_mode;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -196,7 +196,7 @@ int MAIN(int argc, char **argv)
|
|||||||
bad:
|
bad:
|
||||||
BIO_printf(bio_err,"%s [options] <infile\n",prog);
|
BIO_printf(bio_err,"%s [options] <infile\n",prog);
|
||||||
BIO_printf(bio_err,"where options are\n");
|
BIO_printf(bio_err,"where options are\n");
|
||||||
BIO_printf(bio_err," -inform arg input format - one of DER TXT PEM\n");
|
BIO_printf(bio_err," -inform arg input format - one of DER PEM\n");
|
||||||
BIO_printf(bio_err," -in arg input file\n");
|
BIO_printf(bio_err," -in arg input file\n");
|
||||||
BIO_printf(bio_err," -out arg output file (output format is always DER\n");
|
BIO_printf(bio_err," -out arg output file (output format is always DER\n");
|
||||||
BIO_printf(bio_err," -noout arg don't produce any output\n");
|
BIO_printf(bio_err," -noout arg don't produce any output\n");
|
||||||
|
58
apps/ca.c
58
apps/ca.c
@ -105,6 +105,9 @@
|
|||||||
|
|
||||||
#define ENV_DEFAULT_CA "default_ca"
|
#define ENV_DEFAULT_CA "default_ca"
|
||||||
|
|
||||||
|
#define STRING_MASK "string_mask"
|
||||||
|
#define UTF8_IN "utf8"
|
||||||
|
|
||||||
#define ENV_DIR "dir"
|
#define ENV_DIR "dir"
|
||||||
#define ENV_CERTS "certs"
|
#define ENV_CERTS "certs"
|
||||||
#define ENV_CRL_DIR "crl_dir"
|
#define ENV_CRL_DIR "crl_dir"
|
||||||
@ -174,6 +177,7 @@ static const char *ca_usage[]={
|
|||||||
" -msie_hack - msie modifications to handle all those universal strings\n",
|
" -msie_hack - msie modifications to handle all those universal strings\n",
|
||||||
" -revoke file - Revoke a certificate (given in file)\n",
|
" -revoke file - Revoke a certificate (given in file)\n",
|
||||||
" -subj arg - Use arg instead of request's subject\n",
|
" -subj arg - Use arg instead of request's subject\n",
|
||||||
|
" -utf8 - input characters are UTF8 (default ASCII)\n",
|
||||||
" -multivalue-rdn - enable support for multivalued RDNs\n",
|
" -multivalue-rdn - enable support for multivalued RDNs\n",
|
||||||
" -extensions .. - Extension section (override value in config file)\n",
|
" -extensions .. - Extension section (override value in config file)\n",
|
||||||
" -extfile file - Configuration file with X509v3 extentions to add\n",
|
" -extfile file - Configuration file with X509v3 extentions to add\n",
|
||||||
@ -195,27 +199,27 @@ extern int EF_ALIGNMENT;
|
|||||||
static void lookup_fail(const char *name, const char *tag);
|
static void lookup_fail(const char *name, const char *tag);
|
||||||
static int certify(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
static int certify(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
||||||
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,CA_DB *db,
|
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,CA_DB *db,
|
||||||
BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate,
|
BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate,
|
||||||
char *enddate, long days, int batch, char *ext_sect, CONF *conf,
|
char *enddate, long days, int batch, char *ext_sect, CONF *conf,
|
||||||
int verbose, unsigned long certopt, unsigned long nameopt,
|
int verbose, unsigned long certopt, unsigned long nameopt,
|
||||||
int default_op, int ext_copy, int selfsign);
|
int default_op, int ext_copy, int selfsign);
|
||||||
static int certify_cert(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
static int certify_cert(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
||||||
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,
|
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,
|
||||||
CA_DB *db, BIGNUM *serial, char *subj, int multirdn, int email_dn,
|
CA_DB *db, BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn,
|
||||||
char *startdate, char *enddate, long days, int batch,
|
char *startdate, char *enddate, long days, int batch,
|
||||||
char *ext_sect, CONF *conf,int verbose, unsigned long certopt,
|
char *ext_sect, CONF *conf,int verbose, unsigned long certopt,
|
||||||
unsigned long nameopt, int default_op, int ext_copy,
|
unsigned long nameopt, int default_op, int ext_copy,
|
||||||
ENGINE *e);
|
ENGINE *e);
|
||||||
static int certify_spkac(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
static int certify_spkac(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
||||||
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,
|
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,
|
||||||
CA_DB *db, BIGNUM *serial,char *subj, int multirdn, int email_dn,
|
CA_DB *db, BIGNUM *serial,char *subj,unsigned long chtype, int multirdn, int email_dn,
|
||||||
char *startdate, char *enddate, long days, char *ext_sect,
|
char *startdate, char *enddate, long days, char *ext_sect,
|
||||||
CONF *conf, int verbose, unsigned long certopt,
|
CONF *conf, int verbose, unsigned long certopt,
|
||||||
unsigned long nameopt, int default_op, int ext_copy);
|
unsigned long nameopt, int default_op, int ext_copy);
|
||||||
static int fix_data(int nid, int *type);
|
static int fix_data(int nid, int *type);
|
||||||
static void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext);
|
static void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext);
|
||||||
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
|
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
|
||||||
STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial,char *subj, int multirdn,
|
STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial,char *subj,unsigned long chtype, int multirdn,
|
||||||
int email_dn, char *startdate, char *enddate, long days, int batch,
|
int email_dn, char *startdate, char *enddate, long days, int batch,
|
||||||
int verbose, X509_REQ *req, char *ext_sect, CONF *conf,
|
int verbose, X509_REQ *req, char *ext_sect, CONF *conf,
|
||||||
unsigned long certopt, unsigned long nameopt, int default_op,
|
unsigned long certopt, unsigned long nameopt, int default_op,
|
||||||
@ -275,6 +279,7 @@ int MAIN(int argc, char **argv)
|
|||||||
char *extensions=NULL;
|
char *extensions=NULL;
|
||||||
char *extfile=NULL;
|
char *extfile=NULL;
|
||||||
char *subj=NULL;
|
char *subj=NULL;
|
||||||
|
unsigned long chtype = MBSTRING_ASC;
|
||||||
int multirdn = 0;
|
int multirdn = 0;
|
||||||
char *tmp_email_dn=NULL;
|
char *tmp_email_dn=NULL;
|
||||||
char *crl_ext=NULL;
|
char *crl_ext=NULL;
|
||||||
@ -356,6 +361,8 @@ EF_ALIGNMENT=0;
|
|||||||
subj= *(++argv);
|
subj= *(++argv);
|
||||||
/* preserve=1; */
|
/* preserve=1; */
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-utf8") == 0)
|
||||||
|
chtype = MBSTRING_UTF8;
|
||||||
else if (strcmp(*argv,"-create_serial") == 0)
|
else if (strcmp(*argv,"-create_serial") == 0)
|
||||||
create_ser = 1;
|
create_ser = 1;
|
||||||
else if (strcmp(*argv,"-multivalue-rdn") == 0)
|
else if (strcmp(*argv,"-multivalue-rdn") == 0)
|
||||||
@ -645,6 +652,23 @@ bad:
|
|||||||
ERR_clear_error();
|
ERR_clear_error();
|
||||||
app_RAND_load_file(randfile, bio_err, 0);
|
app_RAND_load_file(randfile, bio_err, 0);
|
||||||
|
|
||||||
|
f = NCONF_get_string(conf, section, STRING_MASK);
|
||||||
|
if (!f)
|
||||||
|
ERR_clear_error();
|
||||||
|
|
||||||
|
if(f && !ASN1_STRING_set_default_mask_asc(f)) {
|
||||||
|
BIO_printf(bio_err, "Invalid global string mask setting %s\n", f);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (chtype != MBSTRING_UTF8){
|
||||||
|
f = NCONF_get_string(conf, section, UTF8_IN);
|
||||||
|
if (!f)
|
||||||
|
ERR_clear_error();
|
||||||
|
else if (!strcmp(f, "yes"))
|
||||||
|
chtype = MBSTRING_UTF8;
|
||||||
|
}
|
||||||
|
|
||||||
db_attr.unique_subject = 1;
|
db_attr.unique_subject = 1;
|
||||||
p = NCONF_get_string(conf, section, ENV_UNIQUE_SUBJECT);
|
p = NCONF_get_string(conf, section, ENV_UNIQUE_SUBJECT);
|
||||||
if (p)
|
if (p)
|
||||||
@ -945,7 +969,6 @@ bad:
|
|||||||
if (verbose) BIO_printf(bio_err,
|
if (verbose) BIO_printf(bio_err,
|
||||||
"Done. %d entries marked as expired\n",i);
|
"Done. %d entries marked as expired\n",i);
|
||||||
}
|
}
|
||||||
goto err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************/
|
/*****************************************************************/
|
||||||
@ -1135,7 +1158,7 @@ bad:
|
|||||||
{
|
{
|
||||||
total++;
|
total++;
|
||||||
j=certify_spkac(&x,spkac_file,pkey,x509,dgst,attribs,db,
|
j=certify_spkac(&x,spkac_file,pkey,x509,dgst,attribs,db,
|
||||||
serial,subj,multirdn,email_dn,startdate,enddate,days,extensions,
|
serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,extensions,
|
||||||
conf,verbose,certopt,nameopt,default_op,ext_copy);
|
conf,verbose,certopt,nameopt,default_op,ext_copy);
|
||||||
if (j < 0) goto err;
|
if (j < 0) goto err;
|
||||||
if (j > 0)
|
if (j > 0)
|
||||||
@ -1159,7 +1182,7 @@ bad:
|
|||||||
{
|
{
|
||||||
total++;
|
total++;
|
||||||
j=certify_cert(&x,ss_cert_file,pkey,x509,dgst,attribs,
|
j=certify_cert(&x,ss_cert_file,pkey,x509,dgst,attribs,
|
||||||
db,serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
|
db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
|
||||||
extensions,conf,verbose, certopt, nameopt,
|
extensions,conf,verbose, certopt, nameopt,
|
||||||
default_op, ext_copy, e);
|
default_op, ext_copy, e);
|
||||||
if (j < 0) goto err;
|
if (j < 0) goto err;
|
||||||
@ -1179,7 +1202,7 @@ bad:
|
|||||||
{
|
{
|
||||||
total++;
|
total++;
|
||||||
j=certify(&x,infile,pkey,x509p,dgst,attribs,db,
|
j=certify(&x,infile,pkey,x509p,dgst,attribs,db,
|
||||||
serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
|
serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
|
||||||
extensions,conf,verbose, certopt, nameopt,
|
extensions,conf,verbose, certopt, nameopt,
|
||||||
default_op, ext_copy, selfsign);
|
default_op, ext_copy, selfsign);
|
||||||
if (j < 0) goto err;
|
if (j < 0) goto err;
|
||||||
@ -1199,7 +1222,7 @@ bad:
|
|||||||
{
|
{
|
||||||
total++;
|
total++;
|
||||||
j=certify(&x,argv[i],pkey,x509p,dgst,attribs,db,
|
j=certify(&x,argv[i],pkey,x509p,dgst,attribs,db,
|
||||||
serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
|
serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
|
||||||
extensions,conf,verbose, certopt, nameopt,
|
extensions,conf,verbose, certopt, nameopt,
|
||||||
default_op, ext_copy, selfsign);
|
default_op, ext_copy, selfsign);
|
||||||
if (j < 0) goto err;
|
if (j < 0) goto err;
|
||||||
@ -1497,6 +1520,7 @@ err:
|
|||||||
if (x509) X509_free(x509);
|
if (x509) X509_free(x509);
|
||||||
X509_CRL_free(crl);
|
X509_CRL_free(crl);
|
||||||
NCONF_free(conf);
|
NCONF_free(conf);
|
||||||
|
NCONF_free(extconf);
|
||||||
OBJ_cleanup();
|
OBJ_cleanup();
|
||||||
apps_shutdown();
|
apps_shutdown();
|
||||||
OPENSSL_EXIT(ret);
|
OPENSSL_EXIT(ret);
|
||||||
@ -1509,7 +1533,7 @@ static void lookup_fail(const char *name, const char *tag)
|
|||||||
|
|
||||||
static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
||||||
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
|
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
|
||||||
BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
|
BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
|
||||||
long days, int batch, char *ext_sect, CONF *lconf, int verbose,
|
long days, int batch, char *ext_sect, CONF *lconf, int verbose,
|
||||||
unsigned long certopt, unsigned long nameopt, int default_op,
|
unsigned long certopt, unsigned long nameopt, int default_op,
|
||||||
int ext_copy, int selfsign)
|
int ext_copy, int selfsign)
|
||||||
@ -1565,7 +1589,7 @@ static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
|||||||
else
|
else
|
||||||
BIO_printf(bio_err,"Signature ok\n");
|
BIO_printf(bio_err,"Signature ok\n");
|
||||||
|
|
||||||
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj, multirdn, email_dn,
|
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn, email_dn,
|
||||||
startdate,enddate,days,batch,verbose,req,ext_sect,lconf,
|
startdate,enddate,days,batch,verbose,req,ext_sect,lconf,
|
||||||
certopt, nameopt, default_op, ext_copy, selfsign);
|
certopt, nameopt, default_op, ext_copy, selfsign);
|
||||||
|
|
||||||
@ -1577,7 +1601,7 @@ err:
|
|||||||
|
|
||||||
static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
||||||
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
|
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
|
||||||
BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
|
BIGNUM *serial, char *subj, unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
|
||||||
long days, int batch, char *ext_sect, CONF *lconf, int verbose,
|
long days, int batch, char *ext_sect, CONF *lconf, int verbose,
|
||||||
unsigned long certopt, unsigned long nameopt, int default_op,
|
unsigned long certopt, unsigned long nameopt, int default_op,
|
||||||
int ext_copy, ENGINE *e)
|
int ext_copy, ENGINE *e)
|
||||||
@ -1619,7 +1643,7 @@ static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
|||||||
if ((rreq=X509_to_X509_REQ(req,NULL,EVP_md5())) == NULL)
|
if ((rreq=X509_to_X509_REQ(req,NULL,EVP_md5())) == NULL)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,multirdn,email_dn,startdate,enddate,
|
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,
|
||||||
days,batch,verbose,rreq,ext_sect,lconf, certopt, nameopt, default_op,
|
days,batch,verbose,rreq,ext_sect,lconf, certopt, nameopt, default_op,
|
||||||
ext_copy, 0);
|
ext_copy, 0);
|
||||||
|
|
||||||
@ -1631,7 +1655,7 @@ err:
|
|||||||
|
|
||||||
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
|
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
|
||||||
STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial, char *subj,
|
STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial, char *subj,
|
||||||
int multirdn,
|
unsigned long chtype, int multirdn,
|
||||||
int email_dn, char *startdate, char *enddate, long days, int batch,
|
int email_dn, char *startdate, char *enddate, long days, int batch,
|
||||||
int verbose, X509_REQ *req, char *ext_sect, CONF *lconf,
|
int verbose, X509_REQ *req, char *ext_sect, CONF *lconf,
|
||||||
unsigned long certopt, unsigned long nameopt, int default_op,
|
unsigned long certopt, unsigned long nameopt, int default_op,
|
||||||
@ -1664,7 +1688,7 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
|
|||||||
|
|
||||||
if (subj)
|
if (subj)
|
||||||
{
|
{
|
||||||
X509_NAME *n = parse_name(subj, MBSTRING_ASC, multirdn);
|
X509_NAME *n = parse_name(subj, chtype, multirdn);
|
||||||
|
|
||||||
if (!n)
|
if (!n)
|
||||||
{
|
{
|
||||||
@ -2201,7 +2225,7 @@ static void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext)
|
|||||||
|
|
||||||
static int certify_spkac(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
static int certify_spkac(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
||||||
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
|
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
|
||||||
BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
|
BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
|
||||||
long days, char *ext_sect, CONF *lconf, int verbose, unsigned long certopt,
|
long days, char *ext_sect, CONF *lconf, int verbose, unsigned long certopt,
|
||||||
unsigned long nameopt, int default_op, int ext_copy)
|
unsigned long nameopt, int default_op, int ext_copy)
|
||||||
{
|
{
|
||||||
@ -2342,7 +2366,7 @@ static int certify_spkac(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
|
|||||||
|
|
||||||
X509_REQ_set_pubkey(req,pktmp);
|
X509_REQ_set_pubkey(req,pktmp);
|
||||||
EVP_PKEY_free(pktmp);
|
EVP_PKEY_free(pktmp);
|
||||||
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,multirdn,email_dn,startdate,enddate,
|
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,
|
||||||
days,1,verbose,req,ext_sect,lconf, certopt, nameopt, default_op,
|
days,1,verbose,req,ext_sect,lconf, certopt, nameopt, default_op,
|
||||||
ext_copy, 0);
|
ext_copy, 0);
|
||||||
err:
|
err:
|
||||||
|
111
apps/dgst.c
111
apps/dgst.c
@ -66,6 +66,7 @@
|
|||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/hmac.h>
|
||||||
|
|
||||||
#undef BUFSIZE
|
#undef BUFSIZE
|
||||||
#define BUFSIZE 1024*8
|
#define BUFSIZE 1024*8
|
||||||
@ -75,7 +76,7 @@
|
|||||||
|
|
||||||
int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
||||||
EVP_PKEY *key, unsigned char *sigin, int siglen, const char *title,
|
EVP_PKEY *key, unsigned char *sigin, int siglen, const char *title,
|
||||||
const char *file);
|
const char *file,BIO *bmd,const char *hmac_key, int non_fips_allow);
|
||||||
|
|
||||||
int MAIN(int, char **);
|
int MAIN(int, char **);
|
||||||
|
|
||||||
@ -100,13 +101,16 @@ int MAIN(int argc, char **argv)
|
|||||||
EVP_PKEY *sigkey = NULL;
|
EVP_PKEY *sigkey = NULL;
|
||||||
unsigned char *sigbuf = NULL;
|
unsigned char *sigbuf = NULL;
|
||||||
int siglen = 0;
|
int siglen = 0;
|
||||||
|
unsigned int sig_flags = 0;
|
||||||
char *passargin = NULL, *passin = NULL;
|
char *passargin = NULL, *passin = NULL;
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
char *engine=NULL;
|
char *engine=NULL;
|
||||||
#endif
|
#endif
|
||||||
|
char *hmac_key=NULL;
|
||||||
|
int non_fips_allow = 0;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
ERR_load_crypto_strings();
|
||||||
if ((buf=(unsigned char *)OPENSSL_malloc(BUFSIZE)) == NULL)
|
if ((buf=(unsigned char *)OPENSSL_malloc(BUFSIZE)) == NULL)
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"out of memory\n");
|
BIO_printf(bio_err,"out of memory\n");
|
||||||
@ -165,6 +169,27 @@ int MAIN(int argc, char **argv)
|
|||||||
keyfile=*(++argv);
|
keyfile=*(++argv);
|
||||||
do_verify = 1;
|
do_verify = 1;
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-x931") == 0)
|
||||||
|
sig_flags = EVP_MD_CTX_FLAG_PAD_X931;
|
||||||
|
else if (strcmp(*argv,"-pss_saltlen") == 0)
|
||||||
|
{
|
||||||
|
int saltlen;
|
||||||
|
if (--argc < 1) break;
|
||||||
|
saltlen=atoi(*(++argv));
|
||||||
|
if (saltlen == -1)
|
||||||
|
sig_flags = EVP_MD_CTX_FLAG_PSS_MREC;
|
||||||
|
else if (saltlen == -2)
|
||||||
|
sig_flags = EVP_MD_CTX_FLAG_PSS_MDLEN;
|
||||||
|
else if (saltlen < -2 || saltlen >= 0xFFFE)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err, "Invalid PSS salt length %d\n", saltlen);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sig_flags = saltlen;
|
||||||
|
sig_flags <<= 16;
|
||||||
|
sig_flags |= EVP_MD_CTX_FLAG_PAD_PSS;
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-signature") == 0)
|
else if (strcmp(*argv,"-signature") == 0)
|
||||||
{
|
{
|
||||||
if (--argc < 1) break;
|
if (--argc < 1) break;
|
||||||
@ -188,6 +213,14 @@ int MAIN(int argc, char **argv)
|
|||||||
out_bin = 1;
|
out_bin = 1;
|
||||||
else if (strcmp(*argv,"-d") == 0)
|
else if (strcmp(*argv,"-d") == 0)
|
||||||
debug=1;
|
debug=1;
|
||||||
|
else if (strcmp(*argv,"-non-fips-allow") == 0)
|
||||||
|
non_fips_allow=1;
|
||||||
|
else if (!strcmp(*argv,"-hmac"))
|
||||||
|
{
|
||||||
|
if (--argc < 1)
|
||||||
|
break;
|
||||||
|
hmac_key=*++argv;
|
||||||
|
}
|
||||||
else if ((m=EVP_get_digestbyname(&((*argv)[1]))) != NULL)
|
else if ((m=EVP_get_digestbyname(&((*argv)[1]))) != NULL)
|
||||||
md=m;
|
md=m;
|
||||||
else
|
else
|
||||||
@ -223,29 +256,33 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf(bio_err,"-engine e use engine e, possibly a hardware device.\n");
|
BIO_printf(bio_err,"-engine e use engine e, possibly a hardware device.\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm (default)\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm (default)\n",
|
||||||
LN_md5,LN_md5);
|
LN_md5,LN_md5);
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
LN_md4,LN_md4);
|
LN_md4,LN_md4);
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
LN_md2,LN_md2);
|
LN_md2,LN_md2);
|
||||||
#ifndef OPENSSL_NO_SHA
|
#ifndef OPENSSL_NO_SHA
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
LN_sha1,LN_sha1);
|
LN_sha1,LN_sha1);
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
LN_sha,LN_sha);
|
LN_sha,LN_sha);
|
||||||
#ifndef OPENSSL_NO_SHA256
|
#ifndef OPENSSL_NO_SHA256
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
|
LN_sha224,LN_sha224);
|
||||||
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
LN_sha256,LN_sha256);
|
LN_sha256,LN_sha256);
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_SHA512
|
#ifndef OPENSSL_NO_SHA512
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
|
LN_sha384,LN_sha384);
|
||||||
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
LN_sha512,LN_sha512);
|
LN_sha512,LN_sha512);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
LN_mdc2,LN_mdc2);
|
LN_mdc2,LN_mdc2);
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
|
||||||
LN_ripemd160,LN_ripemd160);
|
LN_ripemd160,LN_ripemd160);
|
||||||
err=1;
|
err=1;
|
||||||
goto end;
|
goto end;
|
||||||
@ -261,7 +298,7 @@ int MAIN(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
BIO_set_callback(in,BIO_debug_callback);
|
BIO_set_callback(in,BIO_debug_callback);
|
||||||
/* needed for windows 3.1 */
|
/* needed for windows 3.1 */
|
||||||
BIO_set_callback_arg(in,bio_err);
|
BIO_set_callback_arg(in,(char *)bio_err);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!app_passwd(bio_err, passargin, NULL, &passin, NULL))
|
if(!app_passwd(bio_err, passargin, NULL, &passin, NULL))
|
||||||
@ -341,8 +378,20 @@ int MAIN(int argc, char **argv)
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (non_fips_allow)
|
||||||
|
{
|
||||||
|
EVP_MD_CTX *md_ctx;
|
||||||
|
BIO_get_md_ctx(bmd,&md_ctx);
|
||||||
|
EVP_MD_CTX_set_flags(md_ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sig_flags)
|
||||||
|
{
|
||||||
|
EVP_MD_CTX *md_ctx;
|
||||||
|
BIO_get_md_ctx(bmd,&md_ctx);
|
||||||
|
EVP_MD_CTX_set_flags(md_ctx, sig_flags);
|
||||||
|
}
|
||||||
|
|
||||||
/* we use md as a filter, reading from 'in' */
|
/* we use md as a filter, reading from 'in' */
|
||||||
if (!BIO_set_md(bmd,md))
|
if (!BIO_set_md(bmd,md))
|
||||||
@ -358,7 +407,7 @@ int MAIN(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
BIO_set_fp(in,stdin,BIO_NOCLOSE);
|
BIO_set_fp(in,stdin,BIO_NOCLOSE);
|
||||||
err=do_fp(out, buf,inp,separator, out_bin, sigkey, sigbuf,
|
err=do_fp(out, buf,inp,separator, out_bin, sigkey, sigbuf,
|
||||||
siglen,"","(stdin)");
|
siglen,"","(stdin)",bmd,hmac_key,non_fips_allow);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -376,14 +425,15 @@ int MAIN(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
if(!out_bin)
|
if(!out_bin)
|
||||||
{
|
{
|
||||||
size_t len = strlen(name)+strlen(argv[i])+5;
|
size_t len = strlen(name)+strlen(argv[i])+(hmac_key ? 5 : 0)+5;
|
||||||
tmp=tofree=OPENSSL_malloc(len);
|
tmp=tofree=OPENSSL_malloc(len);
|
||||||
BIO_snprintf(tmp,len,"%s(%s)= ",name,argv[i]);
|
BIO_snprintf(tmp,len,"%s%s(%s)= ",
|
||||||
|
hmac_key ? "HMAC-" : "",name,argv[i]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
tmp="";
|
tmp="";
|
||||||
r=do_fp(out,buf,inp,separator,out_bin,sigkey,sigbuf,
|
r=do_fp(out,buf,inp,separator,out_bin,sigkey,sigbuf,
|
||||||
siglen,tmp,argv[i]);
|
siglen,tmp,argv[i],bmd,hmac_key,non_fips_allow);
|
||||||
if(r)
|
if(r)
|
||||||
err=r;
|
err=r;
|
||||||
if(tofree)
|
if(tofree)
|
||||||
@ -410,11 +460,23 @@ end:
|
|||||||
|
|
||||||
int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
||||||
EVP_PKEY *key, unsigned char *sigin, int siglen, const char *title,
|
EVP_PKEY *key, unsigned char *sigin, int siglen, const char *title,
|
||||||
const char *file)
|
const char *file,BIO *bmd,const char *hmac_key,int non_fips_allow)
|
||||||
{
|
{
|
||||||
int len;
|
unsigned int len;
|
||||||
int i;
|
int i;
|
||||||
|
EVP_MD_CTX *md_ctx;
|
||||||
|
HMAC_CTX hmac_ctx;
|
||||||
|
|
||||||
|
if (hmac_key)
|
||||||
|
{
|
||||||
|
EVP_MD *md;
|
||||||
|
|
||||||
|
BIO_get_md(bmd,&md);
|
||||||
|
HMAC_CTX_init(&hmac_ctx);
|
||||||
|
HMAC_Init_ex(&hmac_ctx,hmac_key,strlen(hmac_key),md, NULL);
|
||||||
|
BIO_get_md_ctx(bmd,&md_ctx);
|
||||||
|
BIO_set_md_ctx(bmd,&hmac_ctx.md_ctx);
|
||||||
|
}
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
i=BIO_read(bp,(char *)buf,BUFSIZE);
|
i=BIO_read(bp,(char *)buf,BUFSIZE);
|
||||||
@ -457,6 +519,11 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(hmac_key)
|
||||||
|
{
|
||||||
|
HMAC_Final(&hmac_ctx,buf,&len);
|
||||||
|
HMAC_CTX_cleanup(&hmac_ctx);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
len=BIO_gets(bp,(char *)buf,BUFSIZE);
|
len=BIO_gets(bp,(char *)buf,BUFSIZE);
|
||||||
|
|
||||||
@ -464,7 +531,7 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
BIO_write(out,title,strlen(title));
|
BIO_write(out,title,strlen(title));
|
||||||
for (i=0; i<len; i++)
|
for (i=0; i<(int)len; i++)
|
||||||
{
|
{
|
||||||
if (sep && (i != 0))
|
if (sep && (i != 0))
|
||||||
BIO_printf(out, ":");
|
BIO_printf(out, ":");
|
||||||
@ -472,6 +539,10 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
|||||||
}
|
}
|
||||||
BIO_printf(out, "\n");
|
BIO_printf(out, "\n");
|
||||||
}
|
}
|
||||||
|
if (hmac_key)
|
||||||
|
{
|
||||||
|
BIO_set_md_ctx(bmd,md_ctx);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h> /* for OPENSSL_NO_DH */
|
||||||
#ifndef OPENSSL_NO_DH
|
#ifndef OPENSSL_NO_DH
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -109,6 +109,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h> /* for OPENSSL_NO_DH */
|
||||||
#ifndef OPENSSL_NO_DH
|
#ifndef OPENSSL_NO_DH
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
12
apps/dsa.c
12
apps/dsa.c
@ -56,6 +56,7 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h> /* for OPENSSL_NO_DSA */
|
||||||
#ifndef OPENSSL_NO_DSA
|
#ifndef OPENSSL_NO_DSA
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -83,6 +84,10 @@
|
|||||||
* -aes128 - encrypt output if PEM format
|
* -aes128 - encrypt output if PEM format
|
||||||
* -aes192 - encrypt output if PEM format
|
* -aes192 - encrypt output if PEM format
|
||||||
* -aes256 - encrypt output if PEM format
|
* -aes256 - encrypt output if PEM format
|
||||||
|
* -camellia128 - encrypt output if PEM format
|
||||||
|
* -camellia192 - encrypt output if PEM format
|
||||||
|
* -camellia256 - encrypt output if PEM format
|
||||||
|
* -seed - encrypt output if PEM format
|
||||||
* -text - print a text version
|
* -text - print a text version
|
||||||
* -modulus - print the DSA public key
|
* -modulus - print the DSA public key
|
||||||
*/
|
*/
|
||||||
@ -210,6 +215,13 @@ bad:
|
|||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
|
BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
|
||||||
BIO_printf(bio_err," encrypt PEM output with cbc aes\n");
|
BIO_printf(bio_err," encrypt PEM output with cbc aes\n");
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
|
||||||
|
BIO_printf(bio_err," encrypt PEM output with cbc camellia\n");
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
BIO_printf(bio_err," -seed encrypt PEM output with cbc seed\n");
|
||||||
#endif
|
#endif
|
||||||
BIO_printf(bio_err," -text print the key in text\n");
|
BIO_printf(bio_err," -text print the key in text\n");
|
||||||
BIO_printf(bio_err," -noout don't print key out\n");
|
BIO_printf(bio_err," -noout don't print key out\n");
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h> /* for OPENSSL_NO_DSA */
|
||||||
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
|
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
|
||||||
* deprecated functions for openssl-internal code */
|
* deprecated functions for openssl-internal code */
|
||||||
#ifdef OPENSSL_NO_DEPRECATED
|
#ifdef OPENSSL_NO_DEPRECATED
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
#ifndef OPENSSL_NO_EC
|
#ifndef OPENSSL_NO_EC
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -346,7 +347,10 @@ bad:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (noout)
|
if (noout)
|
||||||
|
{
|
||||||
|
ret = 0;
|
||||||
goto end;
|
goto end;
|
||||||
|
}
|
||||||
|
|
||||||
BIO_printf(bio_err, "writing EC key\n");
|
BIO_printf(bio_err, "writing EC key\n");
|
||||||
if (outformat == FORMAT_ASN1)
|
if (outformat == FORMAT_ASN1)
|
||||||
|
@ -68,6 +68,8 @@
|
|||||||
* Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories.
|
* Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
#ifndef OPENSSL_NO_EC
|
#ifndef OPENSSL_NO_EC
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
29
apps/enc.c
29
apps/enc.c
@ -127,6 +127,7 @@ int MAIN(int argc, char **argv)
|
|||||||
char *engine = NULL;
|
char *engine = NULL;
|
||||||
#endif
|
#endif
|
||||||
const EVP_MD *dgst=NULL;
|
const EVP_MD *dgst=NULL;
|
||||||
|
int non_fips_allow = 0;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@ -261,6 +262,8 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
md= *(++argv);
|
md= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-non-fips-allow") == 0)
|
||||||
|
non_fips_allow = 1;
|
||||||
else if ((argv[0][0] == '-') &&
|
else if ((argv[0][0] == '-') &&
|
||||||
((c=EVP_get_cipherbyname(&(argv[0][1]))) != NULL))
|
((c=EVP_get_cipherbyname(&(argv[0][1]))) != NULL))
|
||||||
{
|
{
|
||||||
@ -314,7 +317,10 @@ bad:
|
|||||||
|
|
||||||
if (dgst == NULL)
|
if (dgst == NULL)
|
||||||
{
|
{
|
||||||
dgst = EVP_md5();
|
if (in_FIPS_mode)
|
||||||
|
dgst = EVP_sha1();
|
||||||
|
else
|
||||||
|
dgst = EVP_md5();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bufsize != NULL)
|
if (bufsize != NULL)
|
||||||
@ -340,7 +346,7 @@ bad:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* It must be large enough for a base64 encoded line */
|
/* It must be large enough for a base64 encoded line */
|
||||||
if (n < 80) n=80;
|
if (base64 && n < 80) n=80;
|
||||||
|
|
||||||
bsize=(int)n;
|
bsize=(int)n;
|
||||||
if (verbose) BIO_printf(bio_err,"bufsize=%d\n",bsize);
|
if (verbose) BIO_printf(bio_err,"bufsize=%d\n",bsize);
|
||||||
@ -365,12 +371,16 @@ bad:
|
|||||||
{
|
{
|
||||||
BIO_set_callback(in,BIO_debug_callback);
|
BIO_set_callback(in,BIO_debug_callback);
|
||||||
BIO_set_callback(out,BIO_debug_callback);
|
BIO_set_callback(out,BIO_debug_callback);
|
||||||
BIO_set_callback_arg(in,bio_err);
|
BIO_set_callback_arg(in,(char *)bio_err);
|
||||||
BIO_set_callback_arg(out,bio_err);
|
BIO_set_callback_arg(out,(char *)bio_err);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inf == NULL)
|
if (inf == NULL)
|
||||||
|
{
|
||||||
|
if (bufsize != NULL)
|
||||||
|
setvbuf(stdin, (char *)NULL, _IONBF, 0);
|
||||||
BIO_set_fp(in,stdin,BIO_NOCLOSE);
|
BIO_set_fp(in,stdin,BIO_NOCLOSE);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (BIO_read_filename(in,inf) <= 0)
|
if (BIO_read_filename(in,inf) <= 0)
|
||||||
@ -421,6 +431,8 @@ bad:
|
|||||||
if (outf == NULL)
|
if (outf == NULL)
|
||||||
{
|
{
|
||||||
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
||||||
|
if (bufsize != NULL)
|
||||||
|
setvbuf(stdout, (char *)NULL, _IONBF, 0);
|
||||||
#ifdef OPENSSL_SYS_VMS
|
#ifdef OPENSSL_SYS_VMS
|
||||||
{
|
{
|
||||||
BIO *tmpbio = BIO_new(BIO_f_linebuffer());
|
BIO *tmpbio = BIO_new(BIO_f_linebuffer());
|
||||||
@ -447,7 +459,7 @@ bad:
|
|||||||
if (debug)
|
if (debug)
|
||||||
{
|
{
|
||||||
BIO_set_callback(b64,BIO_debug_callback);
|
BIO_set_callback(b64,BIO_debug_callback);
|
||||||
BIO_set_callback_arg(b64,bio_err);
|
BIO_set_callback_arg(b64,(char *)bio_err);
|
||||||
}
|
}
|
||||||
if (olb64)
|
if (olb64)
|
||||||
BIO_set_flags(b64,BIO_FLAGS_BASE64_NO_NL);
|
BIO_set_flags(b64,BIO_FLAGS_BASE64_NO_NL);
|
||||||
@ -543,6 +555,11 @@ bad:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
BIO_get_cipher_ctx(benc, &ctx);
|
BIO_get_cipher_ctx(benc, &ctx);
|
||||||
|
|
||||||
|
if (non_fips_allow)
|
||||||
|
EVP_CIPHER_CTX_set_flags(ctx,
|
||||||
|
EVP_CIPH_FLAG_NON_FIPS_ALLOW);
|
||||||
|
|
||||||
if (!EVP_CipherInit_ex(ctx, cipher, NULL, NULL, NULL, enc))
|
if (!EVP_CipherInit_ex(ctx, cipher, NULL, NULL, NULL, enc))
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err, "Error setting cipher %s\n",
|
BIO_printf(bio_err, "Error setting cipher %s\n",
|
||||||
@ -565,7 +582,7 @@ bad:
|
|||||||
if (debug)
|
if (debug)
|
||||||
{
|
{
|
||||||
BIO_set_callback(benc,BIO_debug_callback);
|
BIO_set_callback(benc,BIO_debug_callback);
|
||||||
BIO_set_callback_arg(benc,bio_err);
|
BIO_set_callback_arg(benc,(char *)bio_err);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (printkey)
|
if (printkey)
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
|
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
|
||||||
* deprecated functions for openssl-internal code */
|
* deprecated functions for openssl-internal code */
|
||||||
#ifdef OPENSSL_NO_DEPRECATED
|
#ifdef OPENSSL_NO_DEPRECATED
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h> /* for OPENSSL_NO_DSA */
|
||||||
#ifndef OPENSSL_NO_DSA
|
#ifndef OPENSSL_NO_DSA
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -139,6 +140,10 @@ int MAIN(int argc, char **argv)
|
|||||||
else if (strcmp(*argv,"-idea") == 0)
|
else if (strcmp(*argv,"-idea") == 0)
|
||||||
enc=EVP_idea_cbc();
|
enc=EVP_idea_cbc();
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
else if (strcmp(*argv,"-seed") == 0)
|
||||||
|
enc=EVP_seed_cbc();
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
else if (strcmp(*argv,"-aes128") == 0)
|
else if (strcmp(*argv,"-aes128") == 0)
|
||||||
enc=EVP_aes_128_cbc();
|
enc=EVP_aes_128_cbc();
|
||||||
@ -146,6 +151,14 @@ int MAIN(int argc, char **argv)
|
|||||||
enc=EVP_aes_192_cbc();
|
enc=EVP_aes_192_cbc();
|
||||||
else if (strcmp(*argv,"-aes256") == 0)
|
else if (strcmp(*argv,"-aes256") == 0)
|
||||||
enc=EVP_aes_256_cbc();
|
enc=EVP_aes_256_cbc();
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
else if (strcmp(*argv,"-camellia128") == 0)
|
||||||
|
enc=EVP_camellia_128_cbc();
|
||||||
|
else if (strcmp(*argv,"-camellia192") == 0)
|
||||||
|
enc=EVP_camellia_192_cbc();
|
||||||
|
else if (strcmp(*argv,"-camellia256") == 0)
|
||||||
|
enc=EVP_camellia_256_cbc();
|
||||||
#endif
|
#endif
|
||||||
else if (**argv != '-' && dsaparams == NULL)
|
else if (**argv != '-' && dsaparams == NULL)
|
||||||
{
|
{
|
||||||
@ -169,10 +182,18 @@ bad:
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
BIO_printf(bio_err," -idea - encrypt the generated key with IDEA in cbc mode\n");
|
BIO_printf(bio_err," -idea - encrypt the generated key with IDEA in cbc mode\n");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
BIO_printf(bio_err," -seed\n");
|
||||||
|
BIO_printf(bio_err," encrypt PEM output with cbc seed\n");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
|
BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
|
||||||
BIO_printf(bio_err," encrypt PEM output with cbc aes\n");
|
BIO_printf(bio_err," encrypt PEM output with cbc aes\n");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
|
||||||
|
BIO_printf(bio_err," encrypt PEM output with cbc camellia\n");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
BIO_printf(bio_err," -engine e - use engine e, possibly a hardware device.\n");
|
BIO_printf(bio_err," -engine e - use engine e, possibly a hardware device.\n");
|
||||||
#endif
|
#endif
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
|
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
|
||||||
* deprecated functions for openssl-internal code */
|
* deprecated functions for openssl-internal code */
|
||||||
#ifdef OPENSSL_NO_DEPRECATED
|
#ifdef OPENSSL_NO_DEPRECATED
|
||||||
@ -94,6 +95,7 @@ int MAIN(int argc, char **argv)
|
|||||||
int ret=1;
|
int ret=1;
|
||||||
int i,num=DEFBITS;
|
int i,num=DEFBITS;
|
||||||
long l;
|
long l;
|
||||||
|
int use_x931 = 0;
|
||||||
const EVP_CIPHER *enc=NULL;
|
const EVP_CIPHER *enc=NULL;
|
||||||
unsigned long f4=RSA_F4;
|
unsigned long f4=RSA_F4;
|
||||||
char *outfile=NULL;
|
char *outfile=NULL;
|
||||||
@ -137,6 +139,8 @@ int MAIN(int argc, char **argv)
|
|||||||
f4=3;
|
f4=3;
|
||||||
else if (strcmp(*argv,"-F4") == 0 || strcmp(*argv,"-f4") == 0)
|
else if (strcmp(*argv,"-F4") == 0 || strcmp(*argv,"-f4") == 0)
|
||||||
f4=RSA_F4;
|
f4=RSA_F4;
|
||||||
|
else if (strcmp(*argv,"-x931") == 0)
|
||||||
|
use_x931 = 1;
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
else if (strcmp(*argv,"-engine") == 0)
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
{
|
{
|
||||||
@ -159,6 +163,10 @@ int MAIN(int argc, char **argv)
|
|||||||
else if (strcmp(*argv,"-idea") == 0)
|
else if (strcmp(*argv,"-idea") == 0)
|
||||||
enc=EVP_idea_cbc();
|
enc=EVP_idea_cbc();
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
else if (strcmp(*argv,"-seed") == 0)
|
||||||
|
enc=EVP_seed_cbc();
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
else if (strcmp(*argv,"-aes128") == 0)
|
else if (strcmp(*argv,"-aes128") == 0)
|
||||||
enc=EVP_aes_128_cbc();
|
enc=EVP_aes_128_cbc();
|
||||||
@ -166,6 +174,14 @@ int MAIN(int argc, char **argv)
|
|||||||
enc=EVP_aes_192_cbc();
|
enc=EVP_aes_192_cbc();
|
||||||
else if (strcmp(*argv,"-aes256") == 0)
|
else if (strcmp(*argv,"-aes256") == 0)
|
||||||
enc=EVP_aes_256_cbc();
|
enc=EVP_aes_256_cbc();
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
else if (strcmp(*argv,"-camellia128") == 0)
|
||||||
|
enc=EVP_camellia_128_cbc();
|
||||||
|
else if (strcmp(*argv,"-camellia192") == 0)
|
||||||
|
enc=EVP_camellia_192_cbc();
|
||||||
|
else if (strcmp(*argv,"-camellia256") == 0)
|
||||||
|
enc=EVP_camellia_256_cbc();
|
||||||
#endif
|
#endif
|
||||||
else if (strcmp(*argv,"-passout") == 0)
|
else if (strcmp(*argv,"-passout") == 0)
|
||||||
{
|
{
|
||||||
@ -186,9 +202,17 @@ bad:
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
BIO_printf(bio_err," -idea encrypt the generated key with IDEA in cbc mode\n");
|
BIO_printf(bio_err," -idea encrypt the generated key with IDEA in cbc mode\n");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
BIO_printf(bio_err," -seed\n");
|
||||||
|
BIO_printf(bio_err," encrypt PEM output with cbc seed\n");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
|
BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
|
||||||
BIO_printf(bio_err," encrypt PEM output with cbc aes\n");
|
BIO_printf(bio_err," encrypt PEM output with cbc aes\n");
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
|
||||||
|
BIO_printf(bio_err," encrypt PEM output with cbc camellia\n");
|
||||||
#endif
|
#endif
|
||||||
BIO_printf(bio_err," -out file output the key to 'file\n");
|
BIO_printf(bio_err," -out file output the key to 'file\n");
|
||||||
BIO_printf(bio_err," -passout arg output file pass phrase source\n");
|
BIO_printf(bio_err," -passout arg output file pass phrase source\n");
|
||||||
@ -245,7 +269,17 @@ bad:
|
|||||||
BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n",
|
BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n",
|
||||||
num);
|
num);
|
||||||
|
|
||||||
if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb))
|
if (use_x931)
|
||||||
|
{
|
||||||
|
BIGNUM *pubexp;
|
||||||
|
pubexp = BN_new();
|
||||||
|
if (!BN_set_word(pubexp, f4))
|
||||||
|
goto err;
|
||||||
|
if (!RSA_X931_generate_key_ex(rsa, num, pubexp, &cb))
|
||||||
|
goto err;
|
||||||
|
BN_free(pubexp);
|
||||||
|
}
|
||||||
|
else if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
app_RAND_write_file(NULL, bio_err);
|
app_RAND_write_file(NULL, bio_err);
|
||||||
|
@ -143,26 +143,9 @@ $ LIB_FILES = "VERIFY;ASN1PARS;REQ;DGST;DH;DHPARAM;ENC;PASSWD;GENDH;ERRSTR;"+-
|
|||||||
"X509;GENRSA;GENDSA;S_SERVER;S_CLIENT;SPEED;"+-
|
"X509;GENRSA;GENDSA;S_SERVER;S_CLIENT;SPEED;"+-
|
||||||
"S_TIME;APPS;S_CB;S_SOCKET;APP_RAND;VERSION;SESS_ID;"+-
|
"S_TIME;APPS;S_CB;S_SOCKET;APP_RAND;VERSION;SESS_ID;"+-
|
||||||
"CIPHERS;NSEQ;PKCS12;PKCS8;SPKAC;SMIME;RAND;ENGINE;OCSP;PRIME"
|
"CIPHERS;NSEQ;PKCS12;PKCS8;SPKAC;SMIME;RAND;ENGINE;OCSP;PRIME"
|
||||||
$ APP_FILES := OPENSSL,'OBJ_DIR'VERIFY.OBJ,ASN1PARS.OBJ,REQ.OBJ,DGST.OBJ,DH.OBJ,DHPARAM.OBJ,ENC.OBJ,PASSWD.OBJ,GENDH.OBJ,ERRSTR.OBJ,-
|
|
||||||
CA.OBJ,PKCS7.OBJ,CRL2P7.OBJ,CRL.OBJ,-
|
|
||||||
RSA.OBJ,RSAUTL.OBJ,DSA.OBJ,DSAPARAM.OBJ,EC.OBJ,ECPARAM.OBJ,-
|
|
||||||
X509.OBJ,GENRSA.OBJ,GENDSA.OBJ,S_SERVER.OBJ,S_CLIENT.OBJ,SPEED.OBJ,-
|
|
||||||
S_TIME.OBJ,APPS.OBJ,S_CB.OBJ,S_SOCKET.OBJ,APP_RAND.OBJ,VERSION.OBJ,SESS_ID.OBJ,-
|
|
||||||
CIPHERS.OBJ,NSEQ.OBJ,PKCS12.OBJ,PKCS8.OBJ,SPKAC.OBJ,SMIME.OBJ,RAND.OBJ,ENGINE.OBJ,OCSP.OBJ,PRIME.OBJ
|
|
||||||
$ TCPIP_PROGRAMS = ",,"
|
$ TCPIP_PROGRAMS = ",,"
|
||||||
$ IF COMPILER .EQS. "VAXC" THEN -
|
$ IF COMPILER .EQS. "VAXC" THEN -
|
||||||
TCPIP_PROGRAMS = ",OPENSSL,"
|
TCPIP_PROGRAMS = ",OPENSSL,"
|
||||||
$!$ APP_FILES := VERIFY;ASN1PARS;REQ;DGST;DH;ENC;GENDH;ERRSTR;CA;-
|
|
||||||
$! PKCS7;CRL2P7;CRL;-
|
|
||||||
$! RSA;DSA;DSAPARAM;-
|
|
||||||
$! X509;GENRSA;GENDSA;-
|
|
||||||
$! S_SERVER,'OBJ_DIR'S_SOCKET.OBJ,'OBJ_DIR'S_CB.OBJ;-
|
|
||||||
$! S_CLIENT,'OBJ_DIR'S_SOCKET.OBJ,'OBJ_DIR'S_CB.OBJ;-
|
|
||||||
$! SPEED;-
|
|
||||||
$! S_TIME,'OBJ_DIR'S_CB.OBJ;VERSION;SESS_ID;CIPHERS;NSEQ
|
|
||||||
$!$ TCPIP_PROGRAMS = ",,"
|
|
||||||
$!$ IF COMPILER .EQS. "VAXC" THEN -
|
|
||||||
$! TCPIP_PROGRAMS = ",S_SERVER,S_CLIENT,SESS_ID,CIPHERS,S_TIME,"
|
|
||||||
$!
|
$!
|
||||||
$! Setup exceptional compilations
|
$! Setup exceptional compilations
|
||||||
$!
|
$!
|
||||||
|
@ -139,6 +139,7 @@ int MAIN(int argc, char **argv)
|
|||||||
if (!load_config(bio_err, NULL))
|
if (!load_config(bio_err, NULL))
|
||||||
goto end;
|
goto end;
|
||||||
SSL_load_error_strings();
|
SSL_load_error_strings();
|
||||||
|
OpenSSL_add_ssl_algorithms();
|
||||||
args = argv + 1;
|
args = argv + 1;
|
||||||
reqnames = sk_new_null();
|
reqnames = sk_new_null();
|
||||||
ids = sk_OCSP_CERTID_new_null();
|
ids = sk_OCSP_CERTID_new_null();
|
||||||
@ -726,6 +727,11 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf(bio_err, "SSL is disabled\n");
|
BIO_printf(bio_err, "SSL is disabled\n");
|
||||||
goto end;
|
goto end;
|
||||||
#endif
|
#endif
|
||||||
|
if (ctx == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err, "Error creating SSL context.\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
SSL_CTX_set_mode(ctx, SSL_MODE_AUTO_RETRY);
|
SSL_CTX_set_mode(ctx, SSL_MODE_AUTO_RETRY);
|
||||||
sbio = BIO_new_ssl(ctx, 1);
|
sbio = BIO_new_ssl(ctx, 1);
|
||||||
cbio = BIO_push(sbio, cbio);
|
cbio = BIO_push(sbio, cbio);
|
||||||
@ -1221,7 +1227,7 @@ static int send_ocsp_response(BIO *cbio, OCSP_RESPONSE *resp)
|
|||||||
return 0;
|
return 0;
|
||||||
BIO_printf(cbio, http_resp, i2d_OCSP_RESPONSE(resp, NULL));
|
BIO_printf(cbio, http_resp, i2d_OCSP_RESPONSE(resp, NULL));
|
||||||
i2d_OCSP_RESPONSE_bio(cbio, resp);
|
i2d_OCSP_RESPONSE_bio(cbio, resp);
|
||||||
BIO_flush(cbio);
|
(void)BIO_flush(cbio);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,9 +8,8 @@
|
|||||||
HOME = .
|
HOME = .
|
||||||
RANDFILE = $ENV::HOME/.rnd
|
RANDFILE = $ENV::HOME/.rnd
|
||||||
|
|
||||||
# Extra OBJECT IDENTIFIER info:
|
# Uncomment out to enable OpenSSL configuration see config(3)
|
||||||
#oid_file = $ENV::HOME/.oid
|
# openssl_conf = openssl_init
|
||||||
oid_section = new_oids
|
|
||||||
|
|
||||||
# To use this configuration file with the "-extfile" option of the
|
# To use this configuration file with the "-extfile" option of the
|
||||||
# "openssl x509" utility, name here the section containing the
|
# "openssl x509" utility, name here the section containing the
|
||||||
@ -19,13 +18,22 @@ oid_section = new_oids
|
|||||||
# (Alternatively, use a configuration file that has only
|
# (Alternatively, use a configuration file that has only
|
||||||
# X.509v3 extensions in its main [= default] section.)
|
# X.509v3 extensions in its main [= default] section.)
|
||||||
|
|
||||||
|
[openssl_init]
|
||||||
|
# Extra OBJECT IDENTIFIER info:
|
||||||
|
oid_section = new_oids
|
||||||
|
alg_section = algs
|
||||||
|
|
||||||
[ new_oids ]
|
[ new_oids ]
|
||||||
|
|
||||||
# We can add new OIDs in here for use by 'ca' and 'req'.
|
# We can add new OIDs in here for use by any config aware application
|
||||||
# Add a simple OID like this:
|
# Add a simple OID like this:
|
||||||
# testoid1=1.2.3.4
|
# shortname=Long Object Identifier Name, 1.2.3.4
|
||||||
# Or use config file substitution like this:
|
# Or use config file substitution like this:
|
||||||
# testoid2=${testoid1}.5.6
|
# testoid2=OID2 LONG NAME, ${testoid1}.5.6, OTHER OID
|
||||||
|
|
||||||
|
[ algs ]
|
||||||
|
# Algorithm configuration options. Currently just fips_mode
|
||||||
|
fips_mode = no
|
||||||
|
|
||||||
####################################################################
|
####################################################################
|
||||||
[ ca ]
|
[ ca ]
|
||||||
@ -188,7 +196,7 @@ nsComment = "OpenSSL Generated Certificate"
|
|||||||
|
|
||||||
# PKIX recommendations harmless if included in all certificates.
|
# PKIX recommendations harmless if included in all certificates.
|
||||||
subjectKeyIdentifier=hash
|
subjectKeyIdentifier=hash
|
||||||
authorityKeyIdentifier=keyid,issuer:always
|
authorityKeyIdentifier=keyid,issuer
|
||||||
|
|
||||||
# This stuff is for subjectAltName and issuerAltname.
|
# This stuff is for subjectAltName and issuerAltname.
|
||||||
# Import the email address.
|
# Import the email address.
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
|
* Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
@ -147,6 +147,7 @@ char *default_config_file=NULL;
|
|||||||
#ifdef MONOLITH
|
#ifdef MONOLITH
|
||||||
CONF *config=NULL;
|
CONF *config=NULL;
|
||||||
BIO *bio_err=NULL;
|
BIO *bio_err=NULL;
|
||||||
|
int in_FIPS_mode=0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -232,6 +233,19 @@ int main(int Argc, char *Argv[])
|
|||||||
arg.data=NULL;
|
arg.data=NULL;
|
||||||
arg.count=0;
|
arg.count=0;
|
||||||
|
|
||||||
|
in_FIPS_mode = 0;
|
||||||
|
|
||||||
|
#ifdef OPENSSL_FIPS
|
||||||
|
if(getenv("OPENSSL_FIPS")) {
|
||||||
|
if (!FIPS_mode_set(1)) {
|
||||||
|
ERR_load_crypto_strings();
|
||||||
|
ERR_print_errors(BIO_new_fp(stderr,BIO_NOCLOSE));
|
||||||
|
EXIT(1);
|
||||||
|
}
|
||||||
|
in_FIPS_mode = 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (bio_err == NULL)
|
if (bio_err == NULL)
|
||||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||||
@ -445,7 +459,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
|
|||||||
for (fp=functions; fp->name != NULL; fp++)
|
for (fp=functions; fp->name != NULL; fp++)
|
||||||
{
|
{
|
||||||
nl=0;
|
nl=0;
|
||||||
|
#ifdef OPENSSL_NO_CAMELLIA
|
||||||
if (((i++) % 5) == 0)
|
if (((i++) % 5) == 0)
|
||||||
|
#else
|
||||||
|
if (((i++) % 4) == 0)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"\n");
|
BIO_printf(bio_err,"\n");
|
||||||
nl=1;
|
nl=1;
|
||||||
@ -466,7 +484,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
|
|||||||
BIO_printf(bio_err,"\nCipher commands (see the `enc' command for more details)\n");
|
BIO_printf(bio_err,"\nCipher commands (see the `enc' command for more details)\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef OPENSSL_NO_CAMELLIA
|
||||||
BIO_printf(bio_err,"%-15s",fp->name);
|
BIO_printf(bio_err,"%-15s",fp->name);
|
||||||
|
#else
|
||||||
|
BIO_printf(bio_err,"%-18s",fp->name);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
BIO_printf(bio_err,"\n\n");
|
BIO_printf(bio_err,"\n\n");
|
||||||
ret=0;
|
ret=0;
|
||||||
|
@ -8,9 +8,8 @@
|
|||||||
HOME = .
|
HOME = .
|
||||||
RANDFILE = $ENV::HOME/.rnd
|
RANDFILE = $ENV::HOME/.rnd
|
||||||
|
|
||||||
# Extra OBJECT IDENTIFIER info:
|
# Uncomment out to enable OpenSSL configuration see config(3)
|
||||||
#oid_file = $ENV::HOME/.oid
|
# openssl_conf = openssl_init
|
||||||
oid_section = new_oids
|
|
||||||
|
|
||||||
# To use this configuration file with the "-extfile" option of the
|
# To use this configuration file with the "-extfile" option of the
|
||||||
# "openssl x509" utility, name here the section containing the
|
# "openssl x509" utility, name here the section containing the
|
||||||
@ -19,13 +18,22 @@ oid_section = new_oids
|
|||||||
# (Alternatively, use a configuration file that has only
|
# (Alternatively, use a configuration file that has only
|
||||||
# X.509v3 extensions in its main [= default] section.)
|
# X.509v3 extensions in its main [= default] section.)
|
||||||
|
|
||||||
|
[openssl_init]
|
||||||
|
# Extra OBJECT IDENTIFIER info:
|
||||||
|
oid_section = new_oids
|
||||||
|
alg_section = algs
|
||||||
|
|
||||||
[ new_oids ]
|
[ new_oids ]
|
||||||
|
|
||||||
# We can add new OIDs in here for use by 'ca' and 'req'.
|
# We can add new OIDs in here for use by any config aware application
|
||||||
# Add a simple OID like this:
|
# Add a simple OID like this:
|
||||||
# testoid1=1.2.3.4
|
# shortname=Long Object Identifier Name, 1.2.3.4
|
||||||
# Or use config file substitution like this:
|
# Or use config file substitution like this:
|
||||||
# testoid2=${testoid1}.5.6
|
# testoid2=OID2 LONG NAME, ${testoid1}.5.6, OTHER OID
|
||||||
|
|
||||||
|
[ algs ]
|
||||||
|
# Algorithm configuration options. Currently just fips_mode
|
||||||
|
fips_mode = no
|
||||||
|
|
||||||
####################################################################
|
####################################################################
|
||||||
[ ca ]
|
[ ca ]
|
||||||
@ -188,7 +196,7 @@ nsComment = "OpenSSL Generated Certificate"
|
|||||||
|
|
||||||
# PKIX recommendations harmless if included in all certificates.
|
# PKIX recommendations harmless if included in all certificates.
|
||||||
subjectKeyIdentifier=hash
|
subjectKeyIdentifier=hash
|
||||||
authorityKeyIdentifier=keyid,issuer:always
|
authorityKeyIdentifier=keyid,issuer
|
||||||
|
|
||||||
# This stuff is for subjectAltName and issuerAltname.
|
# This stuff is for subjectAltName and issuerAltname.
|
||||||
# Import the email address.
|
# Import the email address.
|
||||||
|
@ -474,7 +474,8 @@ static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
|
|||||||
if ((strlen(passwd) > pw_maxlen))
|
if ((strlen(passwd) > pw_maxlen))
|
||||||
{
|
{
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
BIO_printf(bio_err, "Warning: truncating password to %u characters\n", pw_maxlen);
|
/* XXX: really we should know how to print a size_t, not cast it */
|
||||||
|
BIO_printf(bio_err, "Warning: truncating password to %u characters\n", (unsigned)pw_maxlen);
|
||||||
passwd[pw_maxlen] = 0;
|
passwd[pw_maxlen] = 0;
|
||||||
}
|
}
|
||||||
assert(strlen(passwd) <= pw_maxlen);
|
assert(strlen(passwd) <= pw_maxlen);
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
/* pkcs12.c */
|
/* pkcs12.c */
|
||||||
#if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_SHA1)
|
|
||||||
|
|
||||||
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
|
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
|
||||||
* project.
|
* project.
|
||||||
*/
|
*/
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
* Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved.
|
* Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
@ -58,6 +56,9 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
|
#if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_SHA1)
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -109,7 +110,7 @@ int MAIN(int argc, char **argv)
|
|||||||
int maciter = PKCS12_DEFAULT_ITER;
|
int maciter = PKCS12_DEFAULT_ITER;
|
||||||
int twopass = 0;
|
int twopass = 0;
|
||||||
int keytype = 0;
|
int keytype = 0;
|
||||||
int cert_pbe = NID_pbe_WithSHA1And40BitRC2_CBC;
|
int cert_pbe;
|
||||||
int key_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
|
int key_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
|
||||||
int ret = 1;
|
int ret = 1;
|
||||||
int macver = 1;
|
int macver = 1;
|
||||||
@ -126,6 +127,13 @@ int MAIN(int argc, char **argv)
|
|||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
|
#ifdef OPENSSL_FIPS
|
||||||
|
if (FIPS_mode())
|
||||||
|
cert_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
cert_pbe = NID_pbe_WithSHA1And40BitRC2_CBC;
|
||||||
|
|
||||||
enc = EVP_des_ede3_cbc();
|
enc = EVP_des_ede3_cbc();
|
||||||
if (bio_err == NULL ) bio_err = BIO_new_fp (stderr, BIO_NOCLOSE);
|
if (bio_err == NULL ) bio_err = BIO_new_fp (stderr, BIO_NOCLOSE);
|
||||||
|
|
||||||
@ -152,14 +160,22 @@ int MAIN(int argc, char **argv)
|
|||||||
cert_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
|
cert_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
|
||||||
else if (!strcmp (*args, "-export")) export_cert = 1;
|
else if (!strcmp (*args, "-export")) export_cert = 1;
|
||||||
else if (!strcmp (*args, "-des")) enc=EVP_des_cbc();
|
else if (!strcmp (*args, "-des")) enc=EVP_des_cbc();
|
||||||
|
else if (!strcmp (*args, "-des3")) enc = EVP_des_ede3_cbc();
|
||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
else if (!strcmp (*args, "-idea")) enc=EVP_idea_cbc();
|
else if (!strcmp (*args, "-idea")) enc=EVP_idea_cbc();
|
||||||
#endif
|
#endif
|
||||||
else if (!strcmp (*args, "-des3")) enc = EVP_des_ede3_cbc();
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
else if (!strcmp(*args, "-seed")) enc=EVP_seed_cbc();
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
else if (!strcmp(*args,"-aes128")) enc=EVP_aes_128_cbc();
|
else if (!strcmp(*args,"-aes128")) enc=EVP_aes_128_cbc();
|
||||||
else if (!strcmp(*args,"-aes192")) enc=EVP_aes_192_cbc();
|
else if (!strcmp(*args,"-aes192")) enc=EVP_aes_192_cbc();
|
||||||
else if (!strcmp(*args,"-aes256")) enc=EVP_aes_256_cbc();
|
else if (!strcmp(*args,"-aes256")) enc=EVP_aes_256_cbc();
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
else if (!strcmp(*args,"-camellia128")) enc=EVP_camellia_128_cbc();
|
||||||
|
else if (!strcmp(*args,"-camellia192")) enc=EVP_camellia_192_cbc();
|
||||||
|
else if (!strcmp(*args,"-camellia256")) enc=EVP_camellia_256_cbc();
|
||||||
#endif
|
#endif
|
||||||
else if (!strcmp (*args, "-noiter")) iter = 1;
|
else if (!strcmp (*args, "-noiter")) iter = 1;
|
||||||
else if (!strcmp (*args, "-maciter"))
|
else if (!strcmp (*args, "-maciter"))
|
||||||
@ -174,7 +190,8 @@ int MAIN(int argc, char **argv)
|
|||||||
args++;
|
args++;
|
||||||
if (!strcmp(*args, "NONE"))
|
if (!strcmp(*args, "NONE"))
|
||||||
cert_pbe = -1;
|
cert_pbe = -1;
|
||||||
cert_pbe=OBJ_txt2nid(*args);
|
else
|
||||||
|
cert_pbe=OBJ_txt2nid(*args);
|
||||||
if(cert_pbe == NID_undef) {
|
if(cert_pbe == NID_undef) {
|
||||||
BIO_printf(bio_err,
|
BIO_printf(bio_err,
|
||||||
"Unknown PBE algorithm %s\n", *args);
|
"Unknown PBE algorithm %s\n", *args);
|
||||||
@ -299,9 +316,16 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
BIO_printf (bio_err, "-idea encrypt private keys with idea\n");
|
BIO_printf (bio_err, "-idea encrypt private keys with idea\n");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
BIO_printf (bio_err, "-seed encrypt private keys with seed\n");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
BIO_printf (bio_err, "-aes128, -aes192, -aes256\n");
|
BIO_printf (bio_err, "-aes128, -aes192, -aes256\n");
|
||||||
BIO_printf (bio_err, " encrypt PEM output with cbc aes\n");
|
BIO_printf (bio_err, " encrypt PEM output with cbc aes\n");
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
BIO_printf (bio_err, "-camellia128, -camellia192, -camellia256\n");
|
||||||
|
BIO_printf (bio_err, " encrypt PEM output with cbc camellia\n");
|
||||||
#endif
|
#endif
|
||||||
BIO_printf (bio_err, "-nodes don't encrypt private keys\n");
|
BIO_printf (bio_err, "-nodes don't encrypt private keys\n");
|
||||||
BIO_printf (bio_err, "-noiter don't use encryption iteration\n");
|
BIO_printf (bio_err, "-noiter don't use encryption iteration\n");
|
||||||
@ -525,8 +549,11 @@ int MAIN(int argc, char **argv)
|
|||||||
X509_free(sk_X509_value(chain2, 0));
|
X509_free(sk_X509_value(chain2, 0));
|
||||||
sk_X509_free(chain2);
|
sk_X509_free(chain2);
|
||||||
} else {
|
} else {
|
||||||
BIO_printf (bio_err, "Error %s getting chain.\n",
|
if (vret >= 0)
|
||||||
|
BIO_printf (bio_err, "Error %s getting chain.\n",
|
||||||
X509_verify_cert_error_string(vret));
|
X509_verify_cert_error_string(vret));
|
||||||
|
else
|
||||||
|
ERR_print_errors(bio_err);
|
||||||
goto export_end;
|
goto export_end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -800,7 +827,7 @@ int get_cert_chain (X509 *cert, X509_STORE *store, STACK_OF(X509) **chain)
|
|||||||
{
|
{
|
||||||
X509_STORE_CTX store_ctx;
|
X509_STORE_CTX store_ctx;
|
||||||
STACK_OF(X509) *chn;
|
STACK_OF(X509) *chn;
|
||||||
int i;
|
int i = 0;
|
||||||
|
|
||||||
/* FIXME: Should really check the return status of X509_STORE_CTX_init
|
/* FIXME: Should really check the return status of X509_STORE_CTX_init
|
||||||
* for an error, but how that fits into the return value of this
|
* for an error, but how that fits into the return value of this
|
||||||
@ -808,13 +835,17 @@ int get_cert_chain (X509 *cert, X509_STORE *store, STACK_OF(X509) **chain)
|
|||||||
X509_STORE_CTX_init(&store_ctx, store, cert, NULL);
|
X509_STORE_CTX_init(&store_ctx, store, cert, NULL);
|
||||||
if (X509_verify_cert(&store_ctx) <= 0) {
|
if (X509_verify_cert(&store_ctx) <= 0) {
|
||||||
i = X509_STORE_CTX_get_error (&store_ctx);
|
i = X509_STORE_CTX_get_error (&store_ctx);
|
||||||
|
if (i == 0)
|
||||||
|
/* avoid returning 0 if X509_verify_cert() did not
|
||||||
|
* set an appropriate error value in the context */
|
||||||
|
i = -1;
|
||||||
|
chn = NULL;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
} else
|
||||||
chn = X509_STORE_CTX_get1_chain(&store_ctx);
|
chn = X509_STORE_CTX_get1_chain(&store_ctx);
|
||||||
i = 0;
|
|
||||||
*chain = chn;
|
|
||||||
err:
|
err:
|
||||||
X509_STORE_CTX_cleanup(&store_ctx);
|
X509_STORE_CTX_cleanup(&store_ctx);
|
||||||
|
*chain = chn;
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
@ -824,12 +855,14 @@ int alg_print (BIO *x, X509_ALGOR *alg)
|
|||||||
PBEPARAM *pbe;
|
PBEPARAM *pbe;
|
||||||
const unsigned char *p;
|
const unsigned char *p;
|
||||||
p = alg->parameter->value.sequence->data;
|
p = alg->parameter->value.sequence->data;
|
||||||
pbe = d2i_PBEPARAM (NULL, &p, alg->parameter->value.sequence->length);
|
pbe = d2i_PBEPARAM(NULL, &p, alg->parameter->value.sequence->length);
|
||||||
|
if (!pbe)
|
||||||
|
return 1;
|
||||||
BIO_printf (bio_err, "%s, Iteration %ld\n",
|
BIO_printf (bio_err, "%s, Iteration %ld\n",
|
||||||
OBJ_nid2ln(OBJ_obj2nid(alg->algorithm)),
|
OBJ_nid2ln(OBJ_obj2nid(alg->algorithm)),
|
||||||
ASN1_INTEGER_get(pbe->iter));
|
ASN1_INTEGER_get(pbe->iter));
|
||||||
PBEPARAM_free (pbe);
|
PBEPARAM_free (pbe);
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Load all certificates from a given file */
|
/* Load all certificates from a given file */
|
||||||
|
@ -115,7 +115,7 @@ int MAIN(int argc, char **argv)
|
|||||||
|
|
||||||
BN_print(bio_out,bn);
|
BN_print(bio_out,bn);
|
||||||
BIO_printf(bio_out," is %sprime\n",
|
BIO_printf(bio_out," is %sprime\n",
|
||||||
BN_is_prime(bn,checks,NULL,NULL,NULL) ? "" : "not ");
|
BN_is_prime_ex(bn,checks,NULL,NULL) ? "" : "not ");
|
||||||
|
|
||||||
BN_free(bn);
|
BN_free(bn);
|
||||||
BIO_free_all(bio_out);
|
BIO_free_all(bio_out);
|
||||||
|
33
apps/progs.h
33
apps/progs.h
@ -165,6 +165,24 @@ FUNCTION functions[] = {
|
|||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
{FUNC_TYPE_CIPHER,"aes-256-ecb",enc_main},
|
{FUNC_TYPE_CIPHER,"aes-256-ecb",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
{FUNC_TYPE_CIPHER,"camellia-128-cbc",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
{FUNC_TYPE_CIPHER,"camellia-128-ecb",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
{FUNC_TYPE_CIPHER,"camellia-192-cbc",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
{FUNC_TYPE_CIPHER,"camellia-192-ecb",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
{FUNC_TYPE_CIPHER,"camellia-256-cbc",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
{FUNC_TYPE_CIPHER,"camellia-256-ecb",enc_main},
|
||||||
#endif
|
#endif
|
||||||
{FUNC_TYPE_CIPHER,"base64",enc_main},
|
{FUNC_TYPE_CIPHER,"base64",enc_main},
|
||||||
#ifndef OPENSSL_NO_DES
|
#ifndef OPENSSL_NO_DES
|
||||||
@ -179,6 +197,9 @@ FUNCTION functions[] = {
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
{FUNC_TYPE_CIPHER,"idea",enc_main},
|
{FUNC_TYPE_CIPHER,"idea",enc_main},
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
{FUNC_TYPE_CIPHER,"seed",enc_main},
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC4
|
#ifndef OPENSSL_NO_RC4
|
||||||
{FUNC_TYPE_CIPHER,"rc4",enc_main},
|
{FUNC_TYPE_CIPHER,"rc4",enc_main},
|
||||||
#endif
|
#endif
|
||||||
@ -245,6 +266,18 @@ FUNCTION functions[] = {
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
{FUNC_TYPE_CIPHER,"idea-ofb",enc_main},
|
{FUNC_TYPE_CIPHER,"idea-ofb",enc_main},
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
{FUNC_TYPE_CIPHER,"seed-cbc",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
{FUNC_TYPE_CIPHER,"seed-ecb",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
{FUNC_TYPE_CIPHER,"seed-cfb",enc_main},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
{FUNC_TYPE_CIPHER,"seed-ofb",enc_main},
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC2
|
#ifndef OPENSSL_NO_RC2
|
||||||
{FUNC_TYPE_CIPHER,"rc2-cbc",enc_main},
|
{FUNC_TYPE_CIPHER,"rc2-cbc",enc_main},
|
||||||
#endif
|
#endif
|
||||||
|
@ -57,14 +57,18 @@ foreach (
|
|||||||
"aes-128-cbc", "aes-128-ecb",
|
"aes-128-cbc", "aes-128-ecb",
|
||||||
"aes-192-cbc", "aes-192-ecb",
|
"aes-192-cbc", "aes-192-ecb",
|
||||||
"aes-256-cbc", "aes-256-ecb",
|
"aes-256-cbc", "aes-256-ecb",
|
||||||
|
"camellia-128-cbc", "camellia-128-ecb",
|
||||||
|
"camellia-192-cbc", "camellia-192-ecb",
|
||||||
|
"camellia-256-cbc", "camellia-256-ecb",
|
||||||
"base64",
|
"base64",
|
||||||
"des", "des3", "desx", "idea", "rc4", "rc4-40",
|
"des", "des3", "desx", "idea", "seed", "rc4", "rc4-40",
|
||||||
"rc2", "bf", "cast", "rc5",
|
"rc2", "bf", "cast", "rc5",
|
||||||
"des-ecb", "des-ede", "des-ede3",
|
"des-ecb", "des-ede", "des-ede3",
|
||||||
"des-cbc", "des-ede-cbc","des-ede3-cbc",
|
"des-cbc", "des-ede-cbc","des-ede3-cbc",
|
||||||
"des-cfb", "des-ede-cfb","des-ede3-cfb",
|
"des-cfb", "des-ede-cfb","des-ede3-cfb",
|
||||||
"des-ofb", "des-ede-ofb","des-ede3-ofb",
|
"des-ofb", "des-ede-ofb","des-ede3-ofb",
|
||||||
"idea-cbc","idea-ecb", "idea-cfb", "idea-ofb",
|
"idea-cbc","idea-ecb", "idea-cfb", "idea-ofb",
|
||||||
|
"seed-cbc","seed-ecb", "seed-cfb", "seed-ofb",
|
||||||
"rc2-cbc", "rc2-ecb", "rc2-cfb","rc2-ofb", "rc2-64-cbc", "rc2-40-cbc",
|
"rc2-cbc", "rc2-ecb", "rc2-cfb","rc2-ofb", "rc2-64-cbc", "rc2-40-cbc",
|
||||||
"bf-cbc", "bf-ecb", "bf-cfb", "bf-ofb",
|
"bf-cbc", "bf-ecb", "bf-cfb", "bf-ofb",
|
||||||
"cast5-cbc","cast5-ecb", "cast5-cfb","cast5-ofb",
|
"cast5-cbc","cast5-ecb", "cast5-cfb","cast5-ofb",
|
||||||
@ -75,7 +79,9 @@ foreach (
|
|||||||
$t=sprintf("\t{FUNC_TYPE_CIPHER,\"%s\",enc_main},\n",$_);
|
$t=sprintf("\t{FUNC_TYPE_CIPHER,\"%s\",enc_main},\n",$_);
|
||||||
if ($_ =~ /des/) { $t="#ifndef OPENSSL_NO_DES\n${t}#endif\n"; }
|
if ($_ =~ /des/) { $t="#ifndef OPENSSL_NO_DES\n${t}#endif\n"; }
|
||||||
elsif ($_ =~ /aes/) { $t="#ifndef OPENSSL_NO_AES\n${t}#endif\n"; }
|
elsif ($_ =~ /aes/) { $t="#ifndef OPENSSL_NO_AES\n${t}#endif\n"; }
|
||||||
|
elsif ($_ =~ /camellia/) { $t="#ifndef OPENSSL_NO_CAMELLIA\n${t}#endif\n"; }
|
||||||
elsif ($_ =~ /idea/) { $t="#ifndef OPENSSL_NO_IDEA\n${t}#endif\n"; }
|
elsif ($_ =~ /idea/) { $t="#ifndef OPENSSL_NO_IDEA\n${t}#endif\n"; }
|
||||||
|
elsif ($_ =~ /seed/) { $t="#ifndef OPENSSL_NO_SEED\n${t}#endif\n"; }
|
||||||
elsif ($_ =~ /rc4/) { $t="#ifndef OPENSSL_NO_RC4\n${t}#endif\n"; }
|
elsif ($_ =~ /rc4/) { $t="#ifndef OPENSSL_NO_RC4\n${t}#endif\n"; }
|
||||||
elsif ($_ =~ /rc2/) { $t="#ifndef OPENSSL_NO_RC2\n${t}#endif\n"; }
|
elsif ($_ =~ /rc2/) { $t="#ifndef OPENSSL_NO_RC2\n${t}#endif\n"; }
|
||||||
elsif ($_ =~ /bf/) { $t="#ifndef OPENSSL_NO_BF\n${t}#endif\n"; }
|
elsif ($_ =~ /bf/) { $t="#ifndef OPENSSL_NO_BF\n${t}#endif\n"; }
|
||||||
|
@ -213,7 +213,7 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_write(out, buf, chunk);
|
BIO_write(out, buf, chunk);
|
||||||
num -= chunk;
|
num -= chunk;
|
||||||
}
|
}
|
||||||
BIO_flush(out);
|
(void)BIO_flush(out);
|
||||||
|
|
||||||
app_RAND_write_file(NULL, bio_err);
|
app_RAND_write_file(NULL, bio_err);
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
@ -79,6 +79,13 @@
|
|||||||
#include <openssl/x509v3.h>
|
#include <openssl/x509v3.h>
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/bn.h>
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
|
#include <openssl/rsa.h>
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_DSA
|
||||||
|
#include <openssl/dsa.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SECTION "req"
|
#define SECTION "req"
|
||||||
|
|
||||||
@ -724,7 +731,9 @@ bad:
|
|||||||
|
|
||||||
if (newreq && (pkey == NULL))
|
if (newreq && (pkey == NULL))
|
||||||
{
|
{
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
BN_GENCB cb;
|
BN_GENCB cb;
|
||||||
|
#endif
|
||||||
char *randfile = NCONF_get_string(req_conf,SECTION,"RANDFILE");
|
char *randfile = NCONF_get_string(req_conf,SECTION,"RANDFILE");
|
||||||
if (randfile == NULL)
|
if (randfile == NULL)
|
||||||
ERR_clear_error();
|
ERR_clear_error();
|
||||||
|
12
apps/rsa.c
12
apps/rsa.c
@ -56,6 +56,7 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
#ifndef OPENSSL_NO_RSA
|
#ifndef OPENSSL_NO_RSA
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -80,9 +81,13 @@
|
|||||||
* -des - encrypt output if PEM format with DES in cbc mode
|
* -des - encrypt output if PEM format with DES in cbc mode
|
||||||
* -des3 - encrypt output if PEM format
|
* -des3 - encrypt output if PEM format
|
||||||
* -idea - encrypt output if PEM format
|
* -idea - encrypt output if PEM format
|
||||||
|
* -seed - encrypt output if PEM format
|
||||||
* -aes128 - encrypt output if PEM format
|
* -aes128 - encrypt output if PEM format
|
||||||
* -aes192 - encrypt output if PEM format
|
* -aes192 - encrypt output if PEM format
|
||||||
* -aes256 - encrypt output if PEM format
|
* -aes256 - encrypt output if PEM format
|
||||||
|
* -camellia128 - encrypt output if PEM format
|
||||||
|
* -camellia192 - encrypt output if PEM format
|
||||||
|
* -camellia256 - encrypt output if PEM format
|
||||||
* -text - print a text version
|
* -text - print a text version
|
||||||
* -modulus - print the RSA key modulus
|
* -modulus - print the RSA key modulus
|
||||||
* -check - verify key consistency
|
* -check - verify key consistency
|
||||||
@ -207,9 +212,16 @@ bad:
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
BIO_printf(bio_err," -idea encrypt PEM output with cbc idea\n");
|
BIO_printf(bio_err," -idea encrypt PEM output with cbc idea\n");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
BIO_printf(bio_err," -seed encrypt PEM output with cbc seed\n");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
|
BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
|
||||||
BIO_printf(bio_err," encrypt PEM output with cbc aes\n");
|
BIO_printf(bio_err," encrypt PEM output with cbc aes\n");
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
|
||||||
|
BIO_printf(bio_err," encrypt PEM output with cbc camellia\n");
|
||||||
#endif
|
#endif
|
||||||
BIO_printf(bio_err," -text print the key in text\n");
|
BIO_printf(bio_err," -text print the key in text\n");
|
||||||
BIO_printf(bio_err," -noout don't print key out\n");
|
BIO_printf(bio_err," -noout don't print key out\n");
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
#ifndef OPENSSL_NO_RSA
|
#ifndef OPENSSL_NO_RSA
|
||||||
|
|
||||||
#include "apps.h"
|
#include "apps.h"
|
||||||
|
@ -573,5 +573,5 @@ void MS_CALLBACK msg_cb(int write_p, int version, int content_type, const void *
|
|||||||
BIO_printf(bio, " ...");
|
BIO_printf(bio, " ...");
|
||||||
BIO_printf(bio, "\n");
|
BIO_printf(bio, "\n");
|
||||||
}
|
}
|
||||||
BIO_flush(bio);
|
(void)BIO_flush(bio);
|
||||||
}
|
}
|
||||||
|
120
apps/s_client.c
120
apps/s_client.c
@ -188,7 +188,7 @@ static void sc_usage(void)
|
|||||||
BIO_printf(bio_err," -port port - use -connect instead\n");
|
BIO_printf(bio_err," -port port - use -connect instead\n");
|
||||||
BIO_printf(bio_err," -connect host:port - who to connect to (default is %s:%s)\n",SSL_HOST_NAME,PORT_STR);
|
BIO_printf(bio_err," -connect host:port - who to connect to (default is %s:%s)\n",SSL_HOST_NAME,PORT_STR);
|
||||||
|
|
||||||
BIO_printf(bio_err," -verify arg - turn on peer certificate verification\n");
|
BIO_printf(bio_err," -verify depth - turn on peer certificate verification\n");
|
||||||
BIO_printf(bio_err," -cert arg - certificate file to use, PEM format assumed\n");
|
BIO_printf(bio_err," -cert arg - certificate file to use, PEM format assumed\n");
|
||||||
BIO_printf(bio_err," -certform arg - certificate format (PEM or DER) PEM default\n");
|
BIO_printf(bio_err," -certform arg - certificate format (PEM or DER) PEM default\n");
|
||||||
BIO_printf(bio_err," -key arg - Private key file to use, in cert file if\n");
|
BIO_printf(bio_err," -key arg - Private key file to use, in cert file if\n");
|
||||||
@ -226,7 +226,7 @@ static void sc_usage(void)
|
|||||||
BIO_printf(bio_err," -starttls prot - use the STARTTLS command before starting TLS\n");
|
BIO_printf(bio_err," -starttls prot - use the STARTTLS command before starting TLS\n");
|
||||||
BIO_printf(bio_err," for those protocols that support it, where\n");
|
BIO_printf(bio_err," for those protocols that support it, where\n");
|
||||||
BIO_printf(bio_err," 'prot' defines which one to assume. Currently,\n");
|
BIO_printf(bio_err," 'prot' defines which one to assume. Currently,\n");
|
||||||
BIO_printf(bio_err," only \"smtp\" and \"pop3\" are supported.\n");
|
BIO_printf(bio_err," only \"smtp\", \"pop3\", \"imap\", and \"ftp\" are supported.\n");
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
BIO_printf(bio_err," -engine id - Initialise and use the specified engine\n");
|
BIO_printf(bio_err," -engine id - Initialise and use the specified engine\n");
|
||||||
#endif
|
#endif
|
||||||
@ -234,6 +234,15 @@ static void sc_usage(void)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
PROTO_OFF = 0,
|
||||||
|
PROTO_SMTP,
|
||||||
|
PROTO_POP3,
|
||||||
|
PROTO_IMAP,
|
||||||
|
PROTO_FTP
|
||||||
|
};
|
||||||
|
|
||||||
int MAIN(int, char **);
|
int MAIN(int, char **);
|
||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
@ -260,12 +269,16 @@ int MAIN(int argc, char **argv)
|
|||||||
int write_tty,read_tty,write_ssl,read_ssl,tty_on,ssl_pending;
|
int write_tty,read_tty,write_ssl,read_ssl,tty_on,ssl_pending;
|
||||||
SSL_CTX *ctx=NULL;
|
SSL_CTX *ctx=NULL;
|
||||||
int ret=1,in_init=1,i,nbio_test=0;
|
int ret=1,in_init=1,i,nbio_test=0;
|
||||||
int starttls_proto = 0;
|
int starttls_proto = PROTO_OFF;
|
||||||
int prexit = 0, vflags = 0;
|
int prexit = 0, vflags = 0;
|
||||||
SSL_METHOD *meth=NULL;
|
SSL_METHOD *meth=NULL;
|
||||||
|
#ifdef sock_type
|
||||||
|
#undef sock_type
|
||||||
|
#endif
|
||||||
int sock_type=SOCK_STREAM;
|
int sock_type=SOCK_STREAM;
|
||||||
BIO *sbio;
|
BIO *sbio;
|
||||||
char *inrand=NULL;
|
char *inrand=NULL;
|
||||||
|
int mbuf_len=0;
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
char *engine_id=NULL;
|
char *engine_id=NULL;
|
||||||
ENGINE *e=NULL;
|
ENGINE *e=NULL;
|
||||||
@ -463,9 +476,13 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
++argv;
|
++argv;
|
||||||
if (strcmp(*argv,"smtp") == 0)
|
if (strcmp(*argv,"smtp") == 0)
|
||||||
starttls_proto = 1;
|
starttls_proto = PROTO_SMTP;
|
||||||
else if (strcmp(*argv,"pop3") == 0)
|
else if (strcmp(*argv,"pop3") == 0)
|
||||||
starttls_proto = 2;
|
starttls_proto = PROTO_POP3;
|
||||||
|
else if (strcmp(*argv,"imap") == 0)
|
||||||
|
starttls_proto = PROTO_IMAP;
|
||||||
|
else if (strcmp(*argv,"ftp") == 0)
|
||||||
|
starttls_proto = PROTO_FTP;
|
||||||
else
|
else
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
@ -651,7 +668,7 @@ re_start:
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
BIO_ctrl_set_connected(sbio, 1, &peer);
|
(void)BIO_ctrl_set_connected(sbio, 1, &peer);
|
||||||
|
|
||||||
if ( enable_timeouts)
|
if ( enable_timeouts)
|
||||||
{
|
{
|
||||||
@ -690,7 +707,7 @@ re_start:
|
|||||||
{
|
{
|
||||||
con->debug=1;
|
con->debug=1;
|
||||||
BIO_set_callback(sbio,bio_dump_callback);
|
BIO_set_callback(sbio,bio_dump_callback);
|
||||||
BIO_set_callback_arg(sbio,bio_c_out);
|
BIO_set_callback_arg(sbio,(char *)bio_c_out);
|
||||||
}
|
}
|
||||||
if (c_msg)
|
if (c_msg)
|
||||||
{
|
{
|
||||||
@ -716,18 +733,93 @@ re_start:
|
|||||||
sbuf_off=0;
|
sbuf_off=0;
|
||||||
|
|
||||||
/* This is an ugly hack that does a lot of assumptions */
|
/* This is an ugly hack that does a lot of assumptions */
|
||||||
if (starttls_proto == 1)
|
/* We do have to handle multi-line responses which may come
|
||||||
|
in a single packet or not. We therefore have to use
|
||||||
|
BIO_gets() which does need a buffering BIO. So during
|
||||||
|
the initial chitchat we do push a buffering BIO into the
|
||||||
|
chain that is removed again later on to not disturb the
|
||||||
|
rest of the s_client operation. */
|
||||||
|
if (starttls_proto == PROTO_SMTP)
|
||||||
{
|
{
|
||||||
BIO_read(sbio,mbuf,BUFSIZZ);
|
int foundit=0;
|
||||||
|
BIO *fbio = BIO_new(BIO_f_buffer());
|
||||||
|
BIO_push(fbio, sbio);
|
||||||
|
/* wait for multi-line response to end from SMTP */
|
||||||
|
do
|
||||||
|
{
|
||||||
|
mbuf_len = BIO_gets(fbio,mbuf,BUFSIZZ);
|
||||||
|
}
|
||||||
|
while (mbuf_len>3 && mbuf[3]=='-');
|
||||||
|
/* STARTTLS command requires EHLO... */
|
||||||
|
BIO_printf(fbio,"EHLO openssl.client.net\r\n");
|
||||||
|
(void)BIO_flush(fbio);
|
||||||
|
/* wait for multi-line response to end EHLO SMTP response */
|
||||||
|
do
|
||||||
|
{
|
||||||
|
mbuf_len = BIO_gets(fbio,mbuf,BUFSIZZ);
|
||||||
|
if (strstr(mbuf,"STARTTLS"))
|
||||||
|
foundit=1;
|
||||||
|
}
|
||||||
|
while (mbuf_len>3 && mbuf[3]=='-');
|
||||||
|
(void)BIO_flush(fbio);
|
||||||
|
BIO_pop(fbio);
|
||||||
|
BIO_free(fbio);
|
||||||
|
if (!foundit)
|
||||||
|
BIO_printf(bio_err,
|
||||||
|
"didn't found starttls in server response,"
|
||||||
|
" try anyway...\n");
|
||||||
BIO_printf(sbio,"STARTTLS\r\n");
|
BIO_printf(sbio,"STARTTLS\r\n");
|
||||||
BIO_read(sbio,sbuf,BUFSIZZ);
|
BIO_read(sbio,sbuf,BUFSIZZ);
|
||||||
}
|
}
|
||||||
if (starttls_proto == 2)
|
else if (starttls_proto == PROTO_POP3)
|
||||||
{
|
{
|
||||||
BIO_read(sbio,mbuf,BUFSIZZ);
|
BIO_read(sbio,mbuf,BUFSIZZ);
|
||||||
BIO_printf(sbio,"STLS\r\n");
|
BIO_printf(sbio,"STLS\r\n");
|
||||||
BIO_read(sbio,sbuf,BUFSIZZ);
|
BIO_read(sbio,sbuf,BUFSIZZ);
|
||||||
}
|
}
|
||||||
|
else if (starttls_proto == PROTO_IMAP)
|
||||||
|
{
|
||||||
|
int foundit=0;
|
||||||
|
BIO *fbio = BIO_new(BIO_f_buffer());
|
||||||
|
BIO_push(fbio, sbio);
|
||||||
|
BIO_gets(fbio,mbuf,BUFSIZZ);
|
||||||
|
/* STARTTLS command requires CAPABILITY... */
|
||||||
|
BIO_printf(fbio,". CAPABILITY\r\n");
|
||||||
|
(void)BIO_flush(fbio);
|
||||||
|
/* wait for multi-line CAPABILITY response */
|
||||||
|
do
|
||||||
|
{
|
||||||
|
mbuf_len = BIO_gets(fbio,mbuf,BUFSIZZ);
|
||||||
|
if (strstr(mbuf,"STARTTLS"))
|
||||||
|
foundit=1;
|
||||||
|
}
|
||||||
|
while (mbuf_len>3 && mbuf[0]!='.');
|
||||||
|
(void)BIO_flush(fbio);
|
||||||
|
BIO_pop(fbio);
|
||||||
|
BIO_free(fbio);
|
||||||
|
if (!foundit)
|
||||||
|
BIO_printf(bio_err,
|
||||||
|
"didn't found STARTTLS in server response,"
|
||||||
|
" try anyway...\n");
|
||||||
|
BIO_printf(sbio,". STARTTLS\r\n");
|
||||||
|
BIO_read(sbio,sbuf,BUFSIZZ);
|
||||||
|
}
|
||||||
|
else if (starttls_proto == PROTO_FTP)
|
||||||
|
{
|
||||||
|
BIO *fbio = BIO_new(BIO_f_buffer());
|
||||||
|
BIO_push(fbio, sbio);
|
||||||
|
/* wait for multi-line response to end from FTP */
|
||||||
|
do
|
||||||
|
{
|
||||||
|
mbuf_len = BIO_gets(fbio,mbuf,BUFSIZZ);
|
||||||
|
}
|
||||||
|
while (mbuf_len>3 && mbuf[3]=='-');
|
||||||
|
(void)BIO_flush(fbio);
|
||||||
|
BIO_pop(fbio);
|
||||||
|
BIO_free(fbio);
|
||||||
|
BIO_printf(sbio,"AUTH TLS\r\n");
|
||||||
|
BIO_read(sbio,sbuf,BUFSIZZ);
|
||||||
|
}
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
@ -752,7 +844,7 @@ re_start:
|
|||||||
{
|
{
|
||||||
BIO_printf(bio_err,"%s",mbuf);
|
BIO_printf(bio_err,"%s",mbuf);
|
||||||
/* We don't need to know any more */
|
/* We don't need to know any more */
|
||||||
starttls_proto = 0;
|
starttls_proto = PROTO_OFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reconnect)
|
if (reconnect)
|
||||||
@ -1093,7 +1185,9 @@ static void print_stuff(BIO *bio, SSL *s, int full)
|
|||||||
SSL_CIPHER *c;
|
SSL_CIPHER *c;
|
||||||
X509_NAME *xn;
|
X509_NAME *xn;
|
||||||
int j,i;
|
int j,i;
|
||||||
|
#ifndef OPENSSL_NO_COMP
|
||||||
const COMP_METHOD *comp, *expansion;
|
const COMP_METHOD *comp, *expansion;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (full)
|
if (full)
|
||||||
{
|
{
|
||||||
@ -1196,17 +1290,19 @@ static void print_stuff(BIO *bio, SSL *s, int full)
|
|||||||
EVP_PKEY_bits(pktmp));
|
EVP_PKEY_bits(pktmp));
|
||||||
EVP_PKEY_free(pktmp);
|
EVP_PKEY_free(pktmp);
|
||||||
}
|
}
|
||||||
|
#ifndef OPENSSL_NO_COMP
|
||||||
comp=SSL_get_current_compression(s);
|
comp=SSL_get_current_compression(s);
|
||||||
expansion=SSL_get_current_expansion(s);
|
expansion=SSL_get_current_expansion(s);
|
||||||
BIO_printf(bio,"Compression: %s\n",
|
BIO_printf(bio,"Compression: %s\n",
|
||||||
comp ? SSL_COMP_get_name(comp) : "NONE");
|
comp ? SSL_COMP_get_name(comp) : "NONE");
|
||||||
BIO_printf(bio,"Expansion: %s\n",
|
BIO_printf(bio,"Expansion: %s\n",
|
||||||
expansion ? SSL_COMP_get_name(expansion) : "NONE");
|
expansion ? SSL_COMP_get_name(expansion) : "NONE");
|
||||||
|
#endif
|
||||||
SSL_SESSION_print(bio,SSL_get_session(s));
|
SSL_SESSION_print(bio,SSL_get_session(s));
|
||||||
BIO_printf(bio,"---\n");
|
BIO_printf(bio,"---\n");
|
||||||
if (peer != NULL)
|
if (peer != NULL)
|
||||||
X509_free(peer);
|
X509_free(peer);
|
||||||
/* flush, or debugging output gets mixed with http response */
|
/* flush, or debugging output gets mixed with http response */
|
||||||
BIO_flush(bio);
|
(void)BIO_flush(bio);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,6 +153,12 @@ typedef unsigned int u_int;
|
|||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/ssl.h>
|
#include <openssl/ssl.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
|
#ifndef OPENSSL_NO_DH
|
||||||
|
#include <openssl/dh.h>
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
|
#include <openssl/rsa.h>
|
||||||
|
#endif
|
||||||
#include "s_apps.h"
|
#include "s_apps.h"
|
||||||
#include "timeouts.h"
|
#include "timeouts.h"
|
||||||
|
|
||||||
@ -262,6 +268,9 @@ static char *engine_id=NULL;
|
|||||||
static const char *session_id_prefix=NULL;
|
static const char *session_id_prefix=NULL;
|
||||||
|
|
||||||
static int enable_timeouts = 0;
|
static int enable_timeouts = 0;
|
||||||
|
#ifdef mtu
|
||||||
|
#undef mtu
|
||||||
|
#endif
|
||||||
static long mtu;
|
static long mtu;
|
||||||
static int cert_chain = 0;
|
static int cert_chain = 0;
|
||||||
|
|
||||||
@ -527,13 +536,18 @@ int MAIN(int argc, char *argv[])
|
|||||||
char *CApath=NULL,*CAfile=NULL;
|
char *CApath=NULL,*CAfile=NULL;
|
||||||
unsigned char *context = NULL;
|
unsigned char *context = NULL;
|
||||||
char *dhfile = NULL;
|
char *dhfile = NULL;
|
||||||
|
#ifndef OPENSSL_NO_ECDH
|
||||||
char *named_curve = NULL;
|
char *named_curve = NULL;
|
||||||
|
#endif
|
||||||
int badop=0,bugs=0;
|
int badop=0,bugs=0;
|
||||||
int ret=1;
|
int ret=1;
|
||||||
int off=0;
|
int off=0;
|
||||||
int no_tmp_rsa=0,no_dhe=0,no_ecdhe=0,nocert=0;
|
int no_tmp_rsa=0,no_dhe=0,no_ecdhe=0,nocert=0;
|
||||||
int state=0;
|
int state=0;
|
||||||
SSL_METHOD *meth=NULL;
|
SSL_METHOD *meth=NULL;
|
||||||
|
#ifdef sock_type
|
||||||
|
#undef sock_type
|
||||||
|
#endif
|
||||||
int sock_type=SOCK_STREAM;
|
int sock_type=SOCK_STREAM;
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
ENGINE *e=NULL;
|
ENGINE *e=NULL;
|
||||||
@ -818,21 +832,24 @@ bad:
|
|||||||
if (s_key_file == NULL)
|
if (s_key_file == NULL)
|
||||||
s_key_file = s_cert_file;
|
s_key_file = s_cert_file;
|
||||||
|
|
||||||
s_key = load_key(bio_err, s_key_file, s_key_format, 0, pass, e,
|
if (nocert == 0)
|
||||||
"server certificate private key file");
|
|
||||||
if (!s_key)
|
|
||||||
{
|
{
|
||||||
ERR_print_errors(bio_err);
|
s_key = load_key(bio_err, s_key_file, s_key_format, 0, pass, e,
|
||||||
goto end;
|
"server certificate private key file");
|
||||||
}
|
if (!s_key)
|
||||||
|
{
|
||||||
|
ERR_print_errors(bio_err);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
|
||||||
s_cert = load_cert(bio_err,s_cert_file,s_cert_format,
|
s_cert = load_cert(bio_err,s_cert_file,s_cert_format,
|
||||||
NULL, e, "server certificate file");
|
NULL, e, "server certificate file");
|
||||||
|
|
||||||
if (!s_cert)
|
if (!s_cert)
|
||||||
{
|
{
|
||||||
ERR_print_errors(bio_err);
|
ERR_print_errors(bio_err);
|
||||||
goto end;
|
goto end;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s_dcert_file)
|
if (s_dcert_file)
|
||||||
@ -1217,7 +1234,7 @@ static int sv_body(char *hostname, int s, unsigned char *context)
|
|||||||
{
|
{
|
||||||
con->debug=1;
|
con->debug=1;
|
||||||
BIO_set_callback(SSL_get_rbio(con),bio_dump_callback);
|
BIO_set_callback(SSL_get_rbio(con),bio_dump_callback);
|
||||||
BIO_set_callback_arg(SSL_get_rbio(con),bio_s_out);
|
BIO_set_callback_arg(SSL_get_rbio(con),(char *)bio_s_out);
|
||||||
}
|
}
|
||||||
if (s_msg)
|
if (s_msg)
|
||||||
{
|
{
|
||||||
@ -1621,7 +1638,7 @@ static int www_body(char *hostname, int s, unsigned char *context)
|
|||||||
{
|
{
|
||||||
con->debug=1;
|
con->debug=1;
|
||||||
BIO_set_callback(SSL_get_rbio(con),bio_dump_callback);
|
BIO_set_callback(SSL_get_rbio(con),bio_dump_callback);
|
||||||
BIO_set_callback_arg(SSL_get_rbio(con),bio_s_out);
|
BIO_set_callback_arg(SSL_get_rbio(con),(char *)bio_s_out);
|
||||||
}
|
}
|
||||||
if (s_msg)
|
if (s_msg)
|
||||||
{
|
{
|
||||||
|
@ -87,8 +87,12 @@ typedef unsigned int u_int;
|
|||||||
|
|
||||||
#ifndef OPENSSL_NO_SOCK
|
#ifndef OPENSSL_NO_SOCK
|
||||||
|
|
||||||
|
#if defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_BSDSOCK)
|
||||||
|
#include "netdb.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct hostent *GetHostByName(char *name);
|
static struct hostent *GetHostByName(char *name);
|
||||||
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_NETWARE)
|
#if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
|
||||||
static void ssl_sock_cleanup(void);
|
static void ssl_sock_cleanup(void);
|
||||||
#endif
|
#endif
|
||||||
static int ssl_sock_init(void);
|
static int ssl_sock_init(void);
|
||||||
@ -104,7 +108,7 @@ static int host_ip(char *str, unsigned char ip[4]);
|
|||||||
#define SOCKET_PROTOCOL IPPROTO_TCP
|
#define SOCKET_PROTOCOL IPPROTO_TCP
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef OPENSSL_SYS_NETWARE
|
#if defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
|
||||||
static int wsa_init_done=0;
|
static int wsa_init_done=0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -156,7 +160,7 @@ static void ssl_sock_cleanup(void)
|
|||||||
WSACleanup();
|
WSACleanup();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#elif defined(OPENSSL_SYS_NETWARE)
|
#elif defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
|
||||||
static void sock_cleanup(void)
|
static void sock_cleanup(void)
|
||||||
{
|
{
|
||||||
if (wsa_init_done)
|
if (wsa_init_done)
|
||||||
@ -199,7 +203,7 @@ static int ssl_sock_init(void)
|
|||||||
SetWindowLong(topWnd,GWL_WNDPROC,(LONG)lpTopHookProc);
|
SetWindowLong(topWnd,GWL_WNDPROC,(LONG)lpTopHookProc);
|
||||||
#endif /* OPENSSL_SYS_WIN16 */
|
#endif /* OPENSSL_SYS_WIN16 */
|
||||||
}
|
}
|
||||||
#elif defined(OPENSSL_SYS_NETWARE)
|
#elif defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
|
||||||
WORD wVerReq;
|
WORD wVerReq;
|
||||||
WSADATA wsaData;
|
WSADATA wsaData;
|
||||||
int err;
|
int err;
|
||||||
@ -398,7 +402,7 @@ redoit:
|
|||||||
ret=accept(acc_sock,(struct sockaddr *)&from,(void *)&len);
|
ret=accept(acc_sock,(struct sockaddr *)&from,(void *)&len);
|
||||||
if (ret == INVALID_SOCKET)
|
if (ret == INVALID_SOCKET)
|
||||||
{
|
{
|
||||||
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_NETWARE)
|
#if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
|
||||||
i=WSAGetLastError();
|
i=WSAGetLastError();
|
||||||
BIO_printf(bio_err,"accept error %d\n",i);
|
BIO_printf(bio_err,"accept error %d\n",i);
|
||||||
#else
|
#else
|
||||||
|
29
apps/smime.c
29
apps/smime.c
@ -145,6 +145,10 @@ int MAIN(int argc, char **argv)
|
|||||||
else if (!strcmp (*args, "-des"))
|
else if (!strcmp (*args, "-des"))
|
||||||
cipher = EVP_des_cbc();
|
cipher = EVP_des_cbc();
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
else if (!strcmp (*args, "-seed"))
|
||||||
|
cipher = EVP_seed_cbc();
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC2
|
#ifndef OPENSSL_NO_RC2
|
||||||
else if (!strcmp (*args, "-rc2-40"))
|
else if (!strcmp (*args, "-rc2-40"))
|
||||||
cipher = EVP_rc2_40_cbc();
|
cipher = EVP_rc2_40_cbc();
|
||||||
@ -160,6 +164,14 @@ int MAIN(int argc, char **argv)
|
|||||||
cipher = EVP_aes_192_cbc();
|
cipher = EVP_aes_192_cbc();
|
||||||
else if (!strcmp(*args,"-aes256"))
|
else if (!strcmp(*args,"-aes256"))
|
||||||
cipher = EVP_aes_256_cbc();
|
cipher = EVP_aes_256_cbc();
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
else if (!strcmp(*args,"-camellia128"))
|
||||||
|
cipher = EVP_camellia_128_cbc();
|
||||||
|
else if (!strcmp(*args,"-camellia192"))
|
||||||
|
cipher = EVP_camellia_192_cbc();
|
||||||
|
else if (!strcmp(*args,"-camellia256"))
|
||||||
|
cipher = EVP_camellia_256_cbc();
|
||||||
#endif
|
#endif
|
||||||
else if (!strcmp (*args, "-text"))
|
else if (!strcmp (*args, "-text"))
|
||||||
flags |= PKCS7_TEXT;
|
flags |= PKCS7_TEXT;
|
||||||
@ -384,9 +396,9 @@ int MAIN(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
else if (operation == SMIME_DECRYPT)
|
else if (operation == SMIME_DECRYPT)
|
||||||
{
|
{
|
||||||
if (!recipfile)
|
if (!recipfile && !keyfile)
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err, "No recipient certificate and key specified\n");
|
BIO_printf(bio_err, "No recipient certificate or key specified\n");
|
||||||
badarg = 1;
|
badarg = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -415,6 +427,9 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf (bio_err, "-des3 encrypt with triple DES\n");
|
BIO_printf (bio_err, "-des3 encrypt with triple DES\n");
|
||||||
BIO_printf (bio_err, "-des encrypt with DES\n");
|
BIO_printf (bio_err, "-des encrypt with DES\n");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
BIO_printf (bio_err, "-seed encrypt with SEED\n");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC2
|
#ifndef OPENSSL_NO_RC2
|
||||||
BIO_printf (bio_err, "-rc2-40 encrypt with RC2-40 (default)\n");
|
BIO_printf (bio_err, "-rc2-40 encrypt with RC2-40 (default)\n");
|
||||||
BIO_printf (bio_err, "-rc2-64 encrypt with RC2-64\n");
|
BIO_printf (bio_err, "-rc2-64 encrypt with RC2-64\n");
|
||||||
@ -423,6 +438,10 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
BIO_printf (bio_err, "-aes128, -aes192, -aes256\n");
|
BIO_printf (bio_err, "-aes128, -aes192, -aes256\n");
|
||||||
BIO_printf (bio_err, " encrypt PEM output with cbc aes\n");
|
BIO_printf (bio_err, " encrypt PEM output with cbc aes\n");
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
BIO_printf (bio_err, "-camellia128, -camellia192, -camellia256\n");
|
||||||
|
BIO_printf (bio_err, " encrypt PEM output with cbc camellia\n");
|
||||||
#endif
|
#endif
|
||||||
BIO_printf (bio_err, "-nointern don't search certificates in message for signer\n");
|
BIO_printf (bio_err, "-nointern don't search certificates in message for signer\n");
|
||||||
BIO_printf (bio_err, "-nosigs don't verify message signature\n");
|
BIO_printf (bio_err, "-nosigs don't verify message signature\n");
|
||||||
@ -638,12 +657,6 @@ int MAIN(int argc, char **argv)
|
|||||||
if ((flags & PKCS7_DETACHED) && (outformat == FORMAT_SMIME))
|
if ((flags & PKCS7_DETACHED) && (outformat == FORMAT_SMIME))
|
||||||
flags |= PKCS7_STREAM;
|
flags |= PKCS7_STREAM;
|
||||||
p7 = PKCS7_sign(signer, key, other, in, flags);
|
p7 = PKCS7_sign(signer, key, other, in, flags);
|
||||||
/* Don't need to rewind for partial signing */
|
|
||||||
if (!(flags & PKCS7_STREAM) && (BIO_reset(in) != 0))
|
|
||||||
{
|
|
||||||
BIO_printf(bio_err, "Can't rewind input file\n");
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
251
apps/speed.c
251
apps/speed.c
@ -164,6 +164,9 @@
|
|||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
#include <openssl/aes.h>
|
#include <openssl/aes.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
#include <openssl/camellia.h>
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_MD2
|
#ifndef OPENSSL_NO_MD2
|
||||||
#include <openssl/md2.h>
|
#include <openssl/md2.h>
|
||||||
#endif
|
#endif
|
||||||
@ -198,6 +201,9 @@
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
#include <openssl/idea.h>
|
#include <openssl/idea.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
#include <openssl/seed.h>
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_BF
|
#ifndef OPENSSL_NO_BF
|
||||||
#include <openssl/blowfish.h>
|
#include <openssl/blowfish.h>
|
||||||
#endif
|
#endif
|
||||||
@ -248,7 +254,7 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && !defined(OPENSSL_SYS_OS2) && !defined(OPENSSL_SYS_NETWARE)
|
#if !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && !defined(OPENSSL_SYS_OS2) && !defined(OPENSSL_SYS_NETWARE) && !defined(OPENSSL_SYS_VXWORKS)
|
||||||
# define HAVE_FORK 1
|
# define HAVE_FORK 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -269,7 +275,7 @@ static void print_result(int alg,int run_no,int count,double time_used);
|
|||||||
static int do_multi(int multi);
|
static int do_multi(int multi);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ALGOR_NUM 21
|
#define ALGOR_NUM 28
|
||||||
#define SIZE_NUM 5
|
#define SIZE_NUM 5
|
||||||
#define RSA_NUM 4
|
#define RSA_NUM 4
|
||||||
#define DSA_NUM 3
|
#define DSA_NUM 3
|
||||||
@ -279,16 +285,27 @@ static int do_multi(int multi);
|
|||||||
|
|
||||||
static const char *names[ALGOR_NUM]={
|
static const char *names[ALGOR_NUM]={
|
||||||
"md2","mdc2","md4","md5","hmac(md5)","sha1","rmd160","rc4",
|
"md2","mdc2","md4","md5","hmac(md5)","sha1","rmd160","rc4",
|
||||||
"des cbc","des ede3","idea cbc",
|
"des cbc","des ede3","idea cbc","seed cbc",
|
||||||
"rc2 cbc","rc5-32/12 cbc","blowfish cbc","cast cbc",
|
"rc2 cbc","rc5-32/12 cbc","blowfish cbc","cast cbc",
|
||||||
"aes-128 cbc","aes-192 cbc","aes-256 cbc","evp","sha256","sha512"};
|
"aes-128 cbc","aes-192 cbc","aes-256 cbc",
|
||||||
|
"camellia-128 cbc","camellia-192 cbc","camellia-256 cbc",
|
||||||
|
"evp","sha256","sha512",
|
||||||
|
"aes-128 ige","aes-192 ige","aes-256 ige"};
|
||||||
static double results[ALGOR_NUM][SIZE_NUM];
|
static double results[ALGOR_NUM][SIZE_NUM];
|
||||||
static int lengths[SIZE_NUM]={16,64,256,1024,8*1024};
|
static int lengths[SIZE_NUM]={16,64,256,1024,8*1024};
|
||||||
static double rsa_results[RSA_NUM][2];
|
static double rsa_results[RSA_NUM][2];
|
||||||
static double dsa_results[DSA_NUM][2];
|
static double dsa_results[DSA_NUM][2];
|
||||||
|
#ifndef OPENSSL_NO_ECDSA
|
||||||
static double ecdsa_results[EC_NUM][2];
|
static double ecdsa_results[EC_NUM][2];
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ECDH
|
||||||
static double ecdh_results[EC_NUM][1];
|
static double ecdh_results[EC_NUM][1];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(OPENSSL_NO_DSA) && !(defined(OPENSSL_NO_ECDSA) && defined(OPENSSL_NO_ECDH))
|
||||||
|
static const char rnd_seed[] = "string to make the random number generator think it has entropy";
|
||||||
|
static int rnd_fake = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef SIGALRM
|
#ifdef SIGALRM
|
||||||
#if defined(__STDC__) || defined(sgi) || defined(_AIX)
|
#if defined(__STDC__) || defined(sgi) || defined(_AIX)
|
||||||
@ -448,6 +465,7 @@ static double Time_F(int s)
|
|||||||
#endif /* if defined(OPENSSL_SYS_NETWARE) */
|
#endif /* if defined(OPENSSL_SYS_NETWARE) */
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef OPENSSL_NO_ECDH
|
||||||
static const int KDF1_SHA1_len = 20;
|
static const int KDF1_SHA1_len = 20;
|
||||||
static void *KDF1_SHA1(const void *in, size_t inlen, void *out, size_t *outlen)
|
static void *KDF1_SHA1(const void *in, size_t inlen, void *out, size_t *outlen)
|
||||||
{
|
{
|
||||||
@ -459,8 +477,9 @@ static void *KDF1_SHA1(const void *in, size_t inlen, void *out, size_t *outlen)
|
|||||||
return SHA1(in, inlen, out);
|
return SHA1(in, inlen, out);
|
||||||
#else
|
#else
|
||||||
return NULL;
|
return NULL;
|
||||||
#endif
|
#endif /* OPENSSL_NO_SHA */
|
||||||
}
|
}
|
||||||
|
#endif /* OPENSSL_NO_ECDH */
|
||||||
|
|
||||||
|
|
||||||
int MAIN(int, char **);
|
int MAIN(int, char **);
|
||||||
@ -518,6 +537,9 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
IDEA_KEY_SCHEDULE idea_ks;
|
IDEA_KEY_SCHEDULE idea_ks;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
SEED_KEY_SCHEDULE seed_ks;
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_BF
|
#ifndef OPENSSL_NO_BF
|
||||||
BF_KEY bf_ks;
|
BF_KEY bf_ks;
|
||||||
#endif
|
#endif
|
||||||
@ -527,6 +549,7 @@ int MAIN(int argc, char **argv)
|
|||||||
static const unsigned char key16[16]=
|
static const unsigned char key16[16]=
|
||||||
{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
|
{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
|
||||||
0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12};
|
0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12};
|
||||||
|
#ifndef OPENSSL_NO_AES
|
||||||
static const unsigned char key24[24]=
|
static const unsigned char key24[24]=
|
||||||
{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
|
{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
|
||||||
0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
|
0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
|
||||||
@ -536,6 +559,18 @@ int MAIN(int argc, char **argv)
|
|||||||
0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
|
0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
|
||||||
0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,
|
0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,
|
||||||
0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56};
|
0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56};
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
static const unsigned char ckey24[24]=
|
||||||
|
{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
|
||||||
|
0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
|
||||||
|
0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34};
|
||||||
|
static const unsigned char ckey32[32]=
|
||||||
|
{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
|
||||||
|
0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
|
||||||
|
0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,
|
||||||
|
0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56};
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
#define MAX_BLOCK_SIZE 128
|
#define MAX_BLOCK_SIZE 128
|
||||||
#else
|
#else
|
||||||
@ -555,6 +590,9 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
AES_KEY aes_ks1, aes_ks2, aes_ks3;
|
AES_KEY aes_ks1, aes_ks2, aes_ks3;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
CAMELLIA_KEY camellia_ks1, camellia_ks2, camellia_ks3;
|
||||||
|
#endif
|
||||||
#define D_MD2 0
|
#define D_MD2 0
|
||||||
#define D_MDC2 1
|
#define D_MDC2 1
|
||||||
#define D_MD4 2
|
#define D_MD4 2
|
||||||
@ -566,16 +604,23 @@ int MAIN(int argc, char **argv)
|
|||||||
#define D_CBC_DES 8
|
#define D_CBC_DES 8
|
||||||
#define D_EDE3_DES 9
|
#define D_EDE3_DES 9
|
||||||
#define D_CBC_IDEA 10
|
#define D_CBC_IDEA 10
|
||||||
#define D_CBC_RC2 11
|
#define D_CBC_SEED 11
|
||||||
#define D_CBC_RC5 12
|
#define D_CBC_RC2 12
|
||||||
#define D_CBC_BF 13
|
#define D_CBC_RC5 13
|
||||||
#define D_CBC_CAST 14
|
#define D_CBC_BF 14
|
||||||
#define D_CBC_128_AES 15
|
#define D_CBC_CAST 15
|
||||||
#define D_CBC_192_AES 16
|
#define D_CBC_128_AES 16
|
||||||
#define D_CBC_256_AES 17
|
#define D_CBC_192_AES 17
|
||||||
#define D_EVP 18
|
#define D_CBC_256_AES 18
|
||||||
#define D_SHA256 19
|
#define D_CBC_128_CML 19
|
||||||
#define D_SHA512 20
|
#define D_CBC_192_CML 20
|
||||||
|
#define D_CBC_256_CML 21
|
||||||
|
#define D_EVP 22
|
||||||
|
#define D_SHA256 23
|
||||||
|
#define D_SHA512 24
|
||||||
|
#define D_IGE_128_AES 25
|
||||||
|
#define D_IGE_192_AES 26
|
||||||
|
#define D_IGE_256_AES 27
|
||||||
double d=0.0;
|
double d=0.0;
|
||||||
long c[ALGOR_NUM][SIZE_NUM];
|
long c[ALGOR_NUM][SIZE_NUM];
|
||||||
#define R_DSA_512 0
|
#define R_DSA_512 0
|
||||||
@ -693,8 +738,12 @@ int MAIN(int argc, char **argv)
|
|||||||
|
|
||||||
int rsa_doit[RSA_NUM];
|
int rsa_doit[RSA_NUM];
|
||||||
int dsa_doit[DSA_NUM];
|
int dsa_doit[DSA_NUM];
|
||||||
|
#ifndef OPENSSL_NO_ECDSA
|
||||||
int ecdsa_doit[EC_NUM];
|
int ecdsa_doit[EC_NUM];
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ECDH
|
||||||
int ecdh_doit[EC_NUM];
|
int ecdh_doit[EC_NUM];
|
||||||
|
#endif
|
||||||
int doit[ALGOR_NUM];
|
int doit[ALGOR_NUM];
|
||||||
int pr_header=0;
|
int pr_header=0;
|
||||||
const EVP_CIPHER *evp_cipher=NULL;
|
const EVP_CIPHER *evp_cipher=NULL;
|
||||||
@ -912,6 +961,15 @@ int MAIN(int argc, char **argv)
|
|||||||
if (strcmp(*argv,"aes-128-cbc") == 0) doit[D_CBC_128_AES]=1;
|
if (strcmp(*argv,"aes-128-cbc") == 0) doit[D_CBC_128_AES]=1;
|
||||||
else if (strcmp(*argv,"aes-192-cbc") == 0) doit[D_CBC_192_AES]=1;
|
else if (strcmp(*argv,"aes-192-cbc") == 0) doit[D_CBC_192_AES]=1;
|
||||||
else if (strcmp(*argv,"aes-256-cbc") == 0) doit[D_CBC_256_AES]=1;
|
else if (strcmp(*argv,"aes-256-cbc") == 0) doit[D_CBC_256_AES]=1;
|
||||||
|
else if (strcmp(*argv,"aes-128-ige") == 0) doit[D_IGE_128_AES]=1;
|
||||||
|
else if (strcmp(*argv,"aes-192-ige") == 0) doit[D_IGE_192_AES]=1;
|
||||||
|
else if (strcmp(*argv,"aes-256-ige") == 0) doit[D_IGE_256_AES]=1;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
if (strcmp(*argv,"camellia-128-cbc") == 0) doit[D_CBC_128_CML]=1;
|
||||||
|
else if (strcmp(*argv,"camellia-192-cbc") == 0) doit[D_CBC_192_CML]=1;
|
||||||
|
else if (strcmp(*argv,"camellia-256-cbc") == 0) doit[D_CBC_256_CML]=1;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_RSA
|
#ifndef OPENSSL_NO_RSA
|
||||||
@ -955,6 +1013,11 @@ int MAIN(int argc, char **argv)
|
|||||||
else if (strcmp(*argv,"idea") == 0) doit[D_CBC_IDEA]=1;
|
else if (strcmp(*argv,"idea") == 0) doit[D_CBC_IDEA]=1;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
if (strcmp(*argv,"seed-cbc") == 0) doit[D_CBC_SEED]=1;
|
||||||
|
else if (strcmp(*argv,"seed") == 0) doit[D_CBC_SEED]=1;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_BF
|
#ifndef OPENSSL_NO_BF
|
||||||
if (strcmp(*argv,"bf-cbc") == 0) doit[D_CBC_BF]=1;
|
if (strcmp(*argv,"bf-cbc") == 0) doit[D_CBC_BF]=1;
|
||||||
else if (strcmp(*argv,"blowfish") == 0) doit[D_CBC_BF]=1;
|
else if (strcmp(*argv,"blowfish") == 0) doit[D_CBC_BF]=1;
|
||||||
@ -984,6 +1047,15 @@ int MAIN(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
if (strcmp(*argv,"camellia") == 0)
|
||||||
|
{
|
||||||
|
doit[D_CBC_128_CML]=1;
|
||||||
|
doit[D_CBC_192_CML]=1;
|
||||||
|
doit[D_CBC_256_CML]=1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RSA
|
#ifndef OPENSSL_NO_RSA
|
||||||
if (strcmp(*argv,"rsa") == 0)
|
if (strcmp(*argv,"rsa") == 0)
|
||||||
{
|
{
|
||||||
@ -1091,6 +1163,9 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
BIO_printf(bio_err,"idea-cbc ");
|
BIO_printf(bio_err,"idea-cbc ");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
BIO_printf(bio_err,"seed-cbc ");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC2
|
#ifndef OPENSSL_NO_RC2
|
||||||
BIO_printf(bio_err,"rc2-cbc ");
|
BIO_printf(bio_err,"rc2-cbc ");
|
||||||
#endif
|
#endif
|
||||||
@ -1100,7 +1175,7 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_BF
|
#ifndef OPENSSL_NO_BF
|
||||||
BIO_printf(bio_err,"bf-cbc");
|
BIO_printf(bio_err,"bf-cbc");
|
||||||
#endif
|
#endif
|
||||||
#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_RC2) || \
|
#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_SEED) || !defined(OPENSSL_NO_RC2) || \
|
||||||
!defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_RC5)
|
!defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_RC5)
|
||||||
BIO_printf(bio_err,"\n");
|
BIO_printf(bio_err,"\n");
|
||||||
#endif
|
#endif
|
||||||
@ -1109,6 +1184,11 @@ int MAIN(int argc, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
BIO_printf(bio_err,"aes-128-cbc aes-192-cbc aes-256-cbc ");
|
BIO_printf(bio_err,"aes-128-cbc aes-192-cbc aes-256-cbc ");
|
||||||
|
BIO_printf(bio_err,"aes-128-ige aes-192-ige aes-256-ige ");
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
BIO_printf(bio_err,"\n");
|
||||||
|
BIO_printf(bio_err,"camellia-128-cbc camellia-192-cbc camellia-256-cbc ");
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC4
|
#ifndef OPENSSL_NO_RC4
|
||||||
BIO_printf(bio_err,"rc4");
|
BIO_printf(bio_err,"rc4");
|
||||||
@ -1138,6 +1218,9 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
BIO_printf(bio_err,"idea ");
|
BIO_printf(bio_err,"idea ");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
BIO_printf(bio_err,"seed ");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC2
|
#ifndef OPENSSL_NO_RC2
|
||||||
BIO_printf(bio_err,"rc2 ");
|
BIO_printf(bio_err,"rc2 ");
|
||||||
#endif
|
#endif
|
||||||
@ -1147,15 +1230,19 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_AES
|
#ifndef OPENSSL_NO_AES
|
||||||
BIO_printf(bio_err,"aes ");
|
BIO_printf(bio_err,"aes ");
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
BIO_printf(bio_err,"camellia ");
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RSA
|
#ifndef OPENSSL_NO_RSA
|
||||||
BIO_printf(bio_err,"rsa ");
|
BIO_printf(bio_err,"rsa ");
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_BF
|
#ifndef OPENSSL_NO_BF
|
||||||
BIO_printf(bio_err,"blowfish");
|
BIO_printf(bio_err,"blowfish");
|
||||||
#endif
|
#endif
|
||||||
#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_RC2) || \
|
#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_SEED) || \
|
||||||
!defined(OPENSSL_NO_DES) || !defined(OPENSSL_NO_RSA) || \
|
!defined(OPENSSL_NO_RC2) || !defined(OPENSSL_NO_DES) || \
|
||||||
!defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_AES)
|
!defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_BF) || \
|
||||||
|
!defined(OPENSSL_NO_AES) || !defined(OPENSSL_NO_CAMELLIA)
|
||||||
BIO_printf(bio_err,"\n");
|
BIO_printf(bio_err,"\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1249,9 +1336,17 @@ int MAIN(int argc, char **argv)
|
|||||||
AES_set_encrypt_key(key24,192,&aes_ks2);
|
AES_set_encrypt_key(key24,192,&aes_ks2);
|
||||||
AES_set_encrypt_key(key32,256,&aes_ks3);
|
AES_set_encrypt_key(key32,256,&aes_ks3);
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
Camellia_set_key(key16,128,&camellia_ks1);
|
||||||
|
Camellia_set_key(ckey24,192,&camellia_ks2);
|
||||||
|
Camellia_set_key(ckey32,256,&camellia_ks3);
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
idea_set_encrypt_key(key16,&idea_ks);
|
idea_set_encrypt_key(key16,&idea_ks);
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
SEED_set_key(key16,&seed_ks);
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC4
|
#ifndef OPENSSL_NO_RC4
|
||||||
RC4_set_key(&rc4_ks,16,key16);
|
RC4_set_key(&rc4_ks,16,key16);
|
||||||
#endif
|
#endif
|
||||||
@ -1295,6 +1390,7 @@ int MAIN(int argc, char **argv)
|
|||||||
c[D_CBC_DES][0]=count;
|
c[D_CBC_DES][0]=count;
|
||||||
c[D_EDE3_DES][0]=count/3;
|
c[D_EDE3_DES][0]=count/3;
|
||||||
c[D_CBC_IDEA][0]=count;
|
c[D_CBC_IDEA][0]=count;
|
||||||
|
c[D_CBC_SEED][0]=count;
|
||||||
c[D_CBC_RC2][0]=count;
|
c[D_CBC_RC2][0]=count;
|
||||||
c[D_CBC_RC5][0]=count;
|
c[D_CBC_RC5][0]=count;
|
||||||
c[D_CBC_BF][0]=count;
|
c[D_CBC_BF][0]=count;
|
||||||
@ -1302,8 +1398,14 @@ int MAIN(int argc, char **argv)
|
|||||||
c[D_CBC_128_AES][0]=count;
|
c[D_CBC_128_AES][0]=count;
|
||||||
c[D_CBC_192_AES][0]=count;
|
c[D_CBC_192_AES][0]=count;
|
||||||
c[D_CBC_256_AES][0]=count;
|
c[D_CBC_256_AES][0]=count;
|
||||||
|
c[D_CBC_128_CML][0]=count;
|
||||||
|
c[D_CBC_192_CML][0]=count;
|
||||||
|
c[D_CBC_256_CML][0]=count;
|
||||||
c[D_SHA256][0]=count;
|
c[D_SHA256][0]=count;
|
||||||
c[D_SHA512][0]=count;
|
c[D_SHA512][0]=count;
|
||||||
|
c[D_IGE_128_AES][0]=count;
|
||||||
|
c[D_IGE_192_AES][0]=count;
|
||||||
|
c[D_IGE_256_AES][0]=count;
|
||||||
|
|
||||||
for (i=1; i<SIZE_NUM; i++)
|
for (i=1; i<SIZE_NUM; i++)
|
||||||
{
|
{
|
||||||
@ -1327,6 +1429,7 @@ int MAIN(int argc, char **argv)
|
|||||||
c[D_CBC_DES][i]=c[D_CBC_DES][i-1]*l0/l1;
|
c[D_CBC_DES][i]=c[D_CBC_DES][i-1]*l0/l1;
|
||||||
c[D_EDE3_DES][i]=c[D_EDE3_DES][i-1]*l0/l1;
|
c[D_EDE3_DES][i]=c[D_EDE3_DES][i-1]*l0/l1;
|
||||||
c[D_CBC_IDEA][i]=c[D_CBC_IDEA][i-1]*l0/l1;
|
c[D_CBC_IDEA][i]=c[D_CBC_IDEA][i-1]*l0/l1;
|
||||||
|
c[D_CBC_SEED][i]=c[D_CBC_SEED][i-1]*l0/l1;
|
||||||
c[D_CBC_RC2][i]=c[D_CBC_RC2][i-1]*l0/l1;
|
c[D_CBC_RC2][i]=c[D_CBC_RC2][i-1]*l0/l1;
|
||||||
c[D_CBC_RC5][i]=c[D_CBC_RC5][i-1]*l0/l1;
|
c[D_CBC_RC5][i]=c[D_CBC_RC5][i-1]*l0/l1;
|
||||||
c[D_CBC_BF][i]=c[D_CBC_BF][i-1]*l0/l1;
|
c[D_CBC_BF][i]=c[D_CBC_BF][i-1]*l0/l1;
|
||||||
@ -1334,6 +1437,12 @@ int MAIN(int argc, char **argv)
|
|||||||
c[D_CBC_128_AES][i]=c[D_CBC_128_AES][i-1]*l0/l1;
|
c[D_CBC_128_AES][i]=c[D_CBC_128_AES][i-1]*l0/l1;
|
||||||
c[D_CBC_192_AES][i]=c[D_CBC_192_AES][i-1]*l0/l1;
|
c[D_CBC_192_AES][i]=c[D_CBC_192_AES][i-1]*l0/l1;
|
||||||
c[D_CBC_256_AES][i]=c[D_CBC_256_AES][i-1]*l0/l1;
|
c[D_CBC_256_AES][i]=c[D_CBC_256_AES][i-1]*l0/l1;
|
||||||
|
c[D_CBC_128_CML][i]=c[D_CBC_128_CML][i-1]*l0/l1;
|
||||||
|
c[D_CBC_192_CML][i]=c[D_CBC_192_CML][i-1]*l0/l1;
|
||||||
|
c[D_CBC_256_CML][i]=c[D_CBC_256_CML][i-1]*l0/l1;
|
||||||
|
c[D_IGE_128_AES][i]=c[D_IGE_128_AES][i-1]*l0/l1;
|
||||||
|
c[D_IGE_192_AES][i]=c[D_IGE_192_AES][i-1]*l0/l1;
|
||||||
|
c[D_IGE_256_AES][i]=c[D_IGE_256_AES][i-1]*l0/l1;
|
||||||
}
|
}
|
||||||
#ifndef OPENSSL_NO_RSA
|
#ifndef OPENSSL_NO_RSA
|
||||||
rsa_c[R_RSA_512][0]=count/2000;
|
rsa_c[R_RSA_512][0]=count/2000;
|
||||||
@ -1727,6 +1836,93 @@ int MAIN(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (doit[D_IGE_128_AES])
|
||||||
|
{
|
||||||
|
for (j=0; j<SIZE_NUM; j++)
|
||||||
|
{
|
||||||
|
print_message(names[D_IGE_128_AES],c[D_IGE_128_AES][j],lengths[j]);
|
||||||
|
Time_F(START);
|
||||||
|
for (count=0,run=1; COND(c[D_IGE_128_AES][j]); count++)
|
||||||
|
AES_ige_encrypt(buf,buf2,
|
||||||
|
(unsigned long)lengths[j],&aes_ks1,
|
||||||
|
iv,AES_ENCRYPT);
|
||||||
|
d=Time_F(STOP);
|
||||||
|
print_result(D_IGE_128_AES,j,count,d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (doit[D_IGE_192_AES])
|
||||||
|
{
|
||||||
|
for (j=0; j<SIZE_NUM; j++)
|
||||||
|
{
|
||||||
|
print_message(names[D_IGE_192_AES],c[D_IGE_192_AES][j],lengths[j]);
|
||||||
|
Time_F(START);
|
||||||
|
for (count=0,run=1; COND(c[D_IGE_192_AES][j]); count++)
|
||||||
|
AES_ige_encrypt(buf,buf2,
|
||||||
|
(unsigned long)lengths[j],&aes_ks2,
|
||||||
|
iv,AES_ENCRYPT);
|
||||||
|
d=Time_F(STOP);
|
||||||
|
print_result(D_IGE_192_AES,j,count,d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (doit[D_IGE_256_AES])
|
||||||
|
{
|
||||||
|
for (j=0; j<SIZE_NUM; j++)
|
||||||
|
{
|
||||||
|
print_message(names[D_IGE_256_AES],c[D_IGE_256_AES][j],lengths[j]);
|
||||||
|
Time_F(START);
|
||||||
|
for (count=0,run=1; COND(c[D_IGE_256_AES][j]); count++)
|
||||||
|
AES_ige_encrypt(buf,buf2,
|
||||||
|
(unsigned long)lengths[j],&aes_ks3,
|
||||||
|
iv,AES_ENCRYPT);
|
||||||
|
d=Time_F(STOP);
|
||||||
|
print_result(D_IGE_256_AES,j,count,d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CAMELLIA
|
||||||
|
if (doit[D_CBC_128_CML])
|
||||||
|
{
|
||||||
|
for (j=0; j<SIZE_NUM; j++)
|
||||||
|
{
|
||||||
|
print_message(names[D_CBC_128_CML],c[D_CBC_128_CML][j],lengths[j]);
|
||||||
|
Time_F(START);
|
||||||
|
for (count=0,run=1; COND(c[D_CBC_128_CML][j]); count++)
|
||||||
|
Camellia_cbc_encrypt(buf,buf,
|
||||||
|
(unsigned long)lengths[j],&camellia_ks1,
|
||||||
|
iv,CAMELLIA_ENCRYPT);
|
||||||
|
d=Time_F(STOP);
|
||||||
|
print_result(D_CBC_128_CML,j,count,d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (doit[D_CBC_192_CML])
|
||||||
|
{
|
||||||
|
for (j=0; j<SIZE_NUM; j++)
|
||||||
|
{
|
||||||
|
print_message(names[D_CBC_192_CML],c[D_CBC_192_CML][j],lengths[j]);
|
||||||
|
Time_F(START);
|
||||||
|
for (count=0,run=1; COND(c[D_CBC_192_CML][j]); count++)
|
||||||
|
Camellia_cbc_encrypt(buf,buf,
|
||||||
|
(unsigned long)lengths[j],&camellia_ks2,
|
||||||
|
iv,CAMELLIA_ENCRYPT);
|
||||||
|
d=Time_F(STOP);
|
||||||
|
print_result(D_CBC_192_CML,j,count,d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (doit[D_CBC_256_CML])
|
||||||
|
{
|
||||||
|
for (j=0; j<SIZE_NUM; j++)
|
||||||
|
{
|
||||||
|
print_message(names[D_CBC_256_CML],c[D_CBC_256_CML][j],lengths[j]);
|
||||||
|
Time_F(START);
|
||||||
|
for (count=0,run=1; COND(c[D_CBC_256_CML][j]); count++)
|
||||||
|
Camellia_cbc_encrypt(buf,buf,
|
||||||
|
(unsigned long)lengths[j],&camellia_ks3,
|
||||||
|
iv,CAMELLIA_ENCRYPT);
|
||||||
|
d=Time_F(STOP);
|
||||||
|
print_result(D_CBC_256_CML,j,count,d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_IDEA
|
#ifndef OPENSSL_NO_IDEA
|
||||||
if (doit[D_CBC_IDEA])
|
if (doit[D_CBC_IDEA])
|
||||||
@ -1744,6 +1940,21 @@ int MAIN(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SEED
|
||||||
|
if (doit[D_CBC_SEED])
|
||||||
|
{
|
||||||
|
for (j=0; j<SIZE_NUM; j++)
|
||||||
|
{
|
||||||
|
print_message(names[D_CBC_SEED],c[D_CBC_SEED][j],lengths[j]);
|
||||||
|
Time_F(START);
|
||||||
|
for (count=0,run=1; COND(c[D_CBC_SEED][j]); count++)
|
||||||
|
SEED_cbc_encrypt(buf,buf,
|
||||||
|
(unsigned long)lengths[j],&seed_ks,iv,1);
|
||||||
|
d=Time_F(STOP);
|
||||||
|
print_result(D_CBC_SEED,j,count,d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RC2
|
#ifndef OPENSSL_NO_RC2
|
||||||
if (doit[D_CBC_RC2])
|
if (doit[D_CBC_RC2])
|
||||||
{
|
{
|
||||||
@ -2506,6 +2717,7 @@ static void print_result(int alg,int run_no,int count,double time_used)
|
|||||||
results[alg][run_no]=((double)count)/time_used*lengths[run_no];
|
results[alg][run_no]=((double)count)/time_used*lengths[run_no];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_FORK
|
||||||
static char *sstrsep(char **string, const char *delim)
|
static char *sstrsep(char **string, const char *delim)
|
||||||
{
|
{
|
||||||
char isdelim[256];
|
char isdelim[256];
|
||||||
@ -2537,7 +2749,6 @@ static char *sstrsep(char **string, const char *delim)
|
|||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_FORK
|
|
||||||
static int do_multi(int multi)
|
static int do_multi(int multi)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
@ -73,8 +73,12 @@
|
|||||||
#include <openssl/x509v3.h>
|
#include <openssl/x509v3.h>
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
#include <openssl/rsa.h>
|
#include <openssl/rsa.h>
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_DSA
|
||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG x509_main
|
#define PROG x509_main
|
||||||
|
22
certs/aol1.pem
Normal file
22
certs/aol1.pem
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc
|
||||||
|
MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP
|
||||||
|
bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2
|
||||||
|
MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft
|
||||||
|
ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg
|
||||||
|
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||||
|
ADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lk
|
||||||
|
hsmj76CGv2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym
|
||||||
|
1BW32J/X3HGrfpq/m44zDyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsW
|
||||||
|
OqMFf6Dch9Wc/HKpoH145LcxVR5lu9RhsCFg7RAycsWSJR74kEoYeEfffjA3PlAb
|
||||||
|
2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP8c9GsEsPPt2IYriMqQko
|
||||||
|
O3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
|
||||||
|
AwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAU
|
||||||
|
AK3Zo/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
|
||||||
|
BQUAA4IBAQB8itEfGDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkF
|
||||||
|
Zu90821fnZmv9ov761KyBZiibyrFVL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAb
|
||||||
|
LjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft3OJvx8Fi8eNy1gTIdGcL+oir
|
||||||
|
oQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43gKd8hdIaC2y+C
|
||||||
|
MMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
|
||||||
|
sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
|
||||||
|
-----END CERTIFICATE-----
|
33
certs/aol2.pem
Normal file
33
certs/aol2.pem
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc
|
||||||
|
MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP
|
||||||
|
bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2
|
||||||
|
MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft
|
||||||
|
ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg
|
||||||
|
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
||||||
|
ADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC
|
||||||
|
206B89enfHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFci
|
||||||
|
KtZHgVdEglZTvYYUAQv8f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2
|
||||||
|
JxhP7JsowtS013wMPgwr38oE18aO6lhOqKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9
|
||||||
|
BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JNRvCAOVIyD+OEsnpD8l7e
|
||||||
|
Xz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0gBe4lL8B
|
||||||
|
PeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67
|
||||||
|
Xnfn6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEq
|
||||||
|
Z8A9W6Wa6897GqidFEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZ
|
||||||
|
o2C7HK2JNDJiuEMhBnIMoVxtRsX6Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3
|
||||||
|
+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnjB453cMor9H124HhnAgMBAAGj
|
||||||
|
YzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3OpaaEg5+31IqEj
|
||||||
|
FNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
|
||||||
|
AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmn
|
||||||
|
xPBUlgtk87FYT15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2
|
||||||
|
LHo1YGwRgJfMqZJS5ivmae2p+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzccc
|
||||||
|
obGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXgJXUjhx5c3LqdsKyzadsXg8n33gy8
|
||||||
|
CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//ZoyzH1kUQ7rVyZ2OuMe
|
||||||
|
IjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgOZtMA
|
||||||
|
DjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2F
|
||||||
|
AjgQ5ANh1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUX
|
||||||
|
Om/9riW99XJZZLF0KjhfGEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPb
|
||||||
|
AZO1XB4Y3WRayhgoPmMEEf0cjQAPuDffZ4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQl
|
||||||
|
Zvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuPcX/9XhmgD0uRuMRUvAaw
|
||||||
|
RY8mkaKO/qk=
|
||||||
|
-----END CERTIFICATE-----
|
23
certs/aoltw1.pem
Normal file
23
certs/aoltw1.pem
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx
|
||||||
|
HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh
|
||||||
|
IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0
|
||||||
|
aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyOTA2MDAwMFoXDTM3MTEyMDE1
|
||||||
|
MDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg
|
||||||
|
SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M
|
||||||
|
IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIw
|
||||||
|
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnej8Mlo2k06AX3dLm/WpcZuS+U
|
||||||
|
0pPlLYnKhHw/EEMbjIt8hFj4JHxIzyr9wBXZGH6EGhfT257XyuTZ16pYUYfw8ItI
|
||||||
|
TuLCxFlpMGK2MKKMCxGZYTVtfu/FsRkGIBKOQuHfD5YQUqjPnF+VFNivO3ULMSAf
|
||||||
|
RC+iYkGzuxgh28pxPIzstrkNn+9R7017EvILDOGsQI93f7DKeHEMXRZxcKLXwjqF
|
||||||
|
zQ6axOAAsNUl6twr5JQtOJyJQVdkKGUZHLZEtMgxa44Be3ZZJX8VHIQIfHNlIAqh
|
||||||
|
BC4aMqiaILGcLCFZ5/vP7nAtCMpjPiybkxlqpMKX/7eGV4iFbJ4VFitNLLMCAwEA
|
||||||
|
AaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoTYwFsuGkABFgFOxj8jY
|
||||||
|
PXy+XxIwHwYDVR0jBBgwFoAUoTYwFsuGkABFgFOxj8jYPXy+XxIwDgYDVR0PAQH/
|
||||||
|
BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQCKIBilvrMvtKaEAEAwKfq0FHNMeUWn
|
||||||
|
9nDg6H5kHgqVfGphwu9OH77/yZkfB2FK4V1Mza3u0FIy2VkyvNp5ctZ7CegCgTXT
|
||||||
|
Ct8RHcl5oIBN/lrXVtbtDyqvpxh1MwzqwWEFT2qaifKNuZ8u77BfWgDrvq2g+EQF
|
||||||
|
Z7zLBO+eZMXpyD8Fv8YvBxzDNnGGyjhmSs3WuEvGbKeXO/oTLW4jYYehY0KswsuX
|
||||||
|
n2Fozy1MBJ3XJU8KDk2QixhWqJNIV9xvrr2eZ1d3iVCzvhGbRWeDhhmH05i9CBoW
|
||||||
|
H1iCC+GWaQVLjuyDUTEH1dSf/1l7qG6Fz9NLqUmwX7A5KGgOc90lmt4S
|
||||||
|
-----END CERTIFICATE-----
|
34
certs/aoltw2.pem
Normal file
34
certs/aoltw2.pem
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIF5jCCA86gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx
|
||||||
|
HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh
|
||||||
|
IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0
|
||||||
|
aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyOTA2MDAwMFoXDTM3MDkyODIz
|
||||||
|
NDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg
|
||||||
|
SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M
|
||||||
|
IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIw
|
||||||
|
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3WggWmRToVbEbJGv8x4vmh6mJ
|
||||||
|
7ouZzU9AhqS2TcnZsdw8TQ2FTBVsRotSeJ/4I/1n9SQ6aF3Q92RhQVSji6UI0ilb
|
||||||
|
m2BPJoPRYxJWSXakFsKlnUWsi4SVqBax7J/qJBrvuVdcmiQhLE0OcR+mrF1FdAOY
|
||||||
|
xFSMFkpBd4aVdQxHAWZg/BXxD+r1FHjHDtdugRxev17nOirYlxcwfACtCJ0zr7iZ
|
||||||
|
YYCLqJV+FNwSbKTQ2O9ASQI2+W6p1h2WVgSysy0WVoaP2SBXgM1nEG2wTPDaRrbq
|
||||||
|
JS5Gr42whTg0ixQmgiusrpkLjhTXUr2eacOGAgvqdnUxCc4zGSGFQ+aJLZ8lN2fx
|
||||||
|
I2rSAG2X+Z/nKcrdH9cG6rjJuQkhn8g/BsXS6RJGAE57COtCPStIbp1n3UsC5ETz
|
||||||
|
kxmlJ85per5n0/xQpCyrw2u544BMzwVhSyvcG7mm0tCq9Stz+86QNZ8MUhy/XCFh
|
||||||
|
EVsVS6kkUfykXPcXnbDS+gfpj1bkGoxoigTTfFrjnqKhynFbotSg5ymFXQNoKk/S
|
||||||
|
Btc9+cMDLz9l+WceR0DTYw/j1Y75hauXTLPXJuuWCpTehTacyH+BCQJJKg71ZDIM
|
||||||
|
gtG6aoIbs0t0EfOMd9afv9w3pKdVBC/UMejTRrkDfNoSTllkt1ExMVCgyhwn2RAu
|
||||||
|
rda9EGYrw7AiShJbAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
|
||||||
|
FE9pbQN+nZ8HGEO8txBO1b+pxCAoMB8GA1UdIwQYMBaAFE9pbQN+nZ8HGEO8txBO
|
||||||
|
1b+pxCAoMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAO/Ouyugu
|
||||||
|
h4X7ZVnnrREUpVe8WJ8kEle7+z802u6teio0cnAxa8cZmIDJgt43d15Ui47y6mdP
|
||||||
|
yXSEkVYJ1eV6moG2gcKtNuTxVBFT8zRFASbI5Rq8NEQh3q0l/HYWdyGQgJhXnU7q
|
||||||
|
7C+qPBR7V8F+GBRn7iTGvboVsNIYvbdVgaxTwOjdaRITQrcCtQVBynlQboIOcXKT
|
||||||
|
RuidDV29rs4prWPVVRaAMCf/drr3uNZK49m1+VLQTkCpx+XCMseqdiThawVQ68W/
|
||||||
|
ClTluUI8JPu3B5wwn3la5uBAUhX0/Kr0VvlEl4ftDmVyXr4m+02kLQgH3thcoNyB
|
||||||
|
M5kYJRF3p+v9WAksmWsbivNSPxpNSGDxoPYzAlOL7SUJuA0t7Zdz7NeWH45gDtoQ
|
||||||
|
my8YJPamTQr5O8t1wswvziRpyQoijlmn94IM19drNZxDAGrElWe6nEXLuA4399xO
|
||||||
|
AU++CrYD062KRffaJ00psUjf5BHklka9bAI+1lHIlRcBFanyqqryvy9lG2/QuRqT
|
||||||
|
9Y41xICHPpQvZuTpqP9BnHAqTyo5GJUefvthATxRCC4oGKQWDzH9OmwjkyB24f0H
|
||||||
|
hdFbP9IcczLd+rn4jM8Ch3qaluTtT4mNU0OrDhPAARW0eTjb/G49nlG2uBOLZ8/5
|
||||||
|
fNkiHfZdxRwBL5joeiQYvITX+txyW/fBOmg=
|
||||||
|
-----END CERTIFICATE-----
|
39
certs/argena.pem
Normal file
39
certs/argena.pem
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIG0zCCBbugAwIBAgIBADANBgkqhkiG9w0BAQUFADCBzDELMAkGA1UEBhMCQVQx
|
||||||
|
EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTE6MDgGA1UEChMxQVJH
|
||||||
|
RSBEQVRFTiAtIEF1c3RyaWFuIFNvY2lldHkgZm9yIERhdGEgUHJvdGVjdGlvbjEl
|
||||||
|
MCMGA1UECxMcQS1DRVJUIENlcnRpZmljYXRpb24gU2VydmljZTEYMBYGA1UEAxMP
|
||||||
|
QS1DRVJUIEFEVkFOQ0VEMR0wGwYJKoZIhvcNAQkBFg5pbmZvQGEtY2VydC5hdDAe
|
||||||
|
Fw0wNDEwMjMxNDE0MTRaFw0xMTEwMjMxNDE0MTRaMIHMMQswCQYDVQQGEwJBVDEQ
|
||||||
|
MA4GA1UECBMHQXVzdHJpYTEPMA0GA1UEBxMGVmllbm5hMTowOAYDVQQKEzFBUkdF
|
||||||
|
IERBVEVOIC0gQXVzdHJpYW4gU29jaWV0eSBmb3IgRGF0YSBQcm90ZWN0aW9uMSUw
|
||||||
|
IwYDVQQLExxBLUNFUlQgQ2VydGlmaWNhdGlvbiBTZXJ2aWNlMRgwFgYDVQQDEw9B
|
||||||
|
LUNFUlQgQURWQU5DRUQxHTAbBgkqhkiG9w0BCQEWDmluZm9AYS1jZXJ0LmF0MIIB
|
||||||
|
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3euXIy+mnf6BYKbK+QH5k679
|
||||||
|
tUFqeT8jlZxMew8eNiHuw9KoxWBzL6KksK+5uK7Gatw+sbAYntEGE80P+Jg1hADM
|
||||||
|
e+Fr5V0bc6QS3gkVtfUCW/RIvfMM39oxvmqJmOgPnJU7H6+nmLtsq61tv9kVJi/2
|
||||||
|
4Y5wXW3odet72sF57EoG6s78w0BUVLNcMngS9bZZzmdG3/d6JbkGgoNF/8DcgCBJ
|
||||||
|
W/t0JrcIzyppXIOVtUzzOrrU86zuUgT3Rtkl5kjG7DEHpFb9H0fTOY1v8+gRoaO6
|
||||||
|
2gA0PCiysgVZjwgVeYe3KAg11nznyleDv198uK3Dc1oXIGYjJx2FpKWUvAuAEwID
|
||||||
|
AQABo4ICvDCCArgwHQYDVR0OBBYEFDd/Pj6ZcWDKJNSRE3nQdCm0qCTYMIH5BgNV
|
||||||
|
HSMEgfEwge6AFDd/Pj6ZcWDKJNSRE3nQdCm0qCTYoYHSpIHPMIHMMQswCQYDVQQG
|
||||||
|
EwJBVDEQMA4GA1UECBMHQXVzdHJpYTEPMA0GA1UEBxMGVmllbm5hMTowOAYDVQQK
|
||||||
|
EzFBUkdFIERBVEVOIC0gQXVzdHJpYW4gU29jaWV0eSBmb3IgRGF0YSBQcm90ZWN0
|
||||||
|
aW9uMSUwIwYDVQQLExxBLUNFUlQgQ2VydGlmaWNhdGlvbiBTZXJ2aWNlMRgwFgYD
|
||||||
|
VQQDEw9BLUNFUlQgQURWQU5DRUQxHTAbBgkqhkiG9w0BCQEWDmluZm9AYS1jZXJ0
|
||||||
|
LmF0ggEAMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMEcGA1UdJQRAMD4G
|
||||||
|
CCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcD
|
||||||
|
CAYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAP8wUQYDVR0gBEowSDBGBggq
|
||||||
|
KAAYAQEBAzA6MDgGCCsGAQUFBwIBFixodHRwOi8vd3d3LmEtY2VydC5hdC9jZXJ0
|
||||||
|
aWZpY2F0ZS1wb2xpY3kuaHRtbDA7BglghkgBhvhCAQgELhYsaHR0cDovL3d3dy5h
|
||||||
|
LWNlcnQuYXQvY2VydGlmaWNhdGUtcG9saWN5Lmh0bWwwGQYDVR0RBBIwEIEOaW5m
|
||||||
|
b0BhLWNlcnQuYXQwLwYDVR0SBCgwJoEOaW5mb0BhLWNlcnQuYXSGFGh0dHA6Ly93
|
||||||
|
d3cuYS1jZXJ0LmF0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHBzOi8vc2VjdXJlLmEt
|
||||||
|
Y2VydC5hdC9jZ2ktYmluL2EtY2VydC1hZHZhbmNlZC5jZ2kwDQYJKoZIhvcNAQEF
|
||||||
|
BQADggEBACX1IvgfdG2rvfv35O48vSEvcVaEdlN8USFBHWz3JRAozgzvaBtwHkjK
|
||||||
|
Zwt5l/BWOtjbvHfRjDt7ijlBEcxOOrNC1ffyMHwHrXpvff6YpQ5wnxmIYEQcURiG
|
||||||
|
HMqruEX0WkuDNgSKwefsgXs27eeBauHgNGVcTYH1rmHu/ZyLpLxOyJQ2PCzA1DzW
|
||||||
|
3rWkIX92ogJ7lTRdWrbxwUL1XGinxnnaQ74+/y0pI9JNEv7ic2tpkweRMpkedaLW
|
||||||
|
msC1+orfKTebsg69aMaCx7o6jNONRmR/7TVaPf8/k6g52cHZ9YWjQvup22b5rWxG
|
||||||
|
J5r5LZ4vCPmF4+T4lutjUYAa/lGuQTg=
|
||||||
|
-----END CERTIFICATE-----
|
23
certs/argeng.pem
Normal file
23
certs/argeng.pem
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDwzCCAyygAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCQVQx
|
||||||
|
EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAGA1UEChM5QXJn
|
||||||
|
ZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBmdWVyIERhdGVu
|
||||||
|
c2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVuLmF0MB4XDTAx
|
||||||
|
MDIxMjExMzAzMFoXDTA5MDIxMjExMzAzMFowgZgxCzAJBgNVBAYTAkFUMRAwDgYD
|
||||||
|
VQQIEwdBdXN0cmlhMQ8wDQYDVQQHEwZWaWVubmExQjBABgNVBAoTOUFyZ2UgRGF0
|
||||||
|
ZW4gT2VzdGVycmVpY2hpc2NoZSBHZXNlbGxzY2hhZnQgZnVlciBEYXRlbnNjaHV0
|
||||||
|
ejEiMCAGCSqGSIb3DQEJARYTYS1jZXJ0QGFyZ2VkYXRlbi5hdDCBnzANBgkqhkiG
|
||||||
|
9w0BAQEFAAOBjQAwgYkCgYEAwgsHqoNtmmrJ86+e1I4hOVBaL4kokqKN2IPOIL+1
|
||||||
|
XwY8vfOOUfPEdhWpaC0ldt7VYrksgDiUccgH0FROANWK2GkfKMDzjjXHysR04uEb
|
||||||
|
Om7Kqjqn0nproOGkFG+QvBZgs+Ws+HXNFJA6V76fU4+JXq4452LSK4Lr5YcBquu3
|
||||||
|
NJECAwEAAaOCARkwggEVMB0GA1UdDgQWBBQ0j59zH/G31zRjgK1y2P//tSAWZjCB
|
||||||
|
xQYDVR0jBIG9MIG6gBQ0j59zH/G31zRjgK1y2P//tSAWZqGBnqSBmzCBmDELMAkG
|
||||||
|
A1UEBhMCQVQxEDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAG
|
||||||
|
A1UEChM5QXJnZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBm
|
||||||
|
dWVyIERhdGVuc2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVu
|
||||||
|
LmF0ggEAMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQE
|
||||||
|
AwICBDANBgkqhkiG9w0BAQQFAAOBgQBFuJYncqMYB6gXQS3eDOI90BEHfFTKy/dV
|
||||||
|
AV+K7QdAYikWmqgBheRdPKddJdccPy/Zl/p3ZT7GhDyC5f3wZjcuu8AJ27BNwbCA
|
||||||
|
x54dgxgCNcyPm79nY8MRtEdEpoRGdSsFKJemz6hpXM++MWFciyrRWIIA44XB0Gv3
|
||||||
|
US0spjsDPQ==
|
||||||
|
-----END CERTIFICATE-----
|
150
config
150
config
@ -48,10 +48,10 @@ done
|
|||||||
|
|
||||||
# First get uname entries that we use below
|
# First get uname entries that we use below
|
||||||
|
|
||||||
MACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown"
|
[ "$MACHINE" ] || MACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown"
|
||||||
RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown"
|
[ "$RELEASE" ] || RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown"
|
||||||
SYSTEM=`(uname -s) 2>/dev/null` || SYSTEM="unknown"
|
[ "$SYSTEM" ] || SYSTEM=`(uname -s) 2>/dev/null` || SYSTEM="unknown"
|
||||||
VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown"
|
[ "$BUILD" ] || VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown"
|
||||||
|
|
||||||
|
|
||||||
# Now test for ISC and SCO, since it is has a braindamaged uname.
|
# Now test for ISC and SCO, since it is has a braindamaged uname.
|
||||||
@ -84,7 +84,7 @@ if [ "x$XREL" != "x" ]; then
|
|||||||
4.2)
|
4.2)
|
||||||
echo "whatever-whatever-unixware1"; exit 0
|
echo "whatever-whatever-unixware1"; exit 0
|
||||||
;;
|
;;
|
||||||
5)
|
5*)
|
||||||
case "x${VERSION}" in
|
case "x${VERSION}" in
|
||||||
# We hardcode i586 in place of ${MACHINE} for the
|
# We hardcode i586 in place of ${MACHINE} for the
|
||||||
# following reason. The catch is that even though Pentium
|
# following reason. The catch is that even though Pentium
|
||||||
@ -93,8 +93,7 @@ if [ "x$XREL" != "x" ]; then
|
|||||||
# with i386 is that it makes ./config pass 386 to
|
# with i386 is that it makes ./config pass 386 to
|
||||||
# ./Configure, which in turn makes make generate
|
# ./Configure, which in turn makes make generate
|
||||||
# inefficient SHA-1 (for this moment) code.
|
# inefficient SHA-1 (for this moment) code.
|
||||||
x7*) echo "i586-sco-unixware7"; exit 0 ;;
|
x[678]*) echo "i586-sco-unixware7"; exit 0 ;;
|
||||||
x8*) echo "i586-unkn-OpenUNIX${VERSION}"; exit 0 ;;
|
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -363,6 +362,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
|
|||||||
NONSTOP_KERNEL*)
|
NONSTOP_KERNEL*)
|
||||||
echo "nsr-tandem-nsk"; exit 0;
|
echo "nsr-tandem-nsk"; exit 0;
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
vxworks*)
|
||||||
|
echo "${MACHINE}-whatever-vxworks"; exit 0;
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -407,7 +410,7 @@ if [ "$GCCVER" != "" ]; then
|
|||||||
CC=gcc
|
CC=gcc
|
||||||
# then strip off whatever prefix egcs prepends the number with...
|
# then strip off whatever prefix egcs prepends the number with...
|
||||||
# Hopefully, this will work for any future prefixes as well.
|
# Hopefully, this will work for any future prefixes as well.
|
||||||
GCCVER=`echo $GCCVER | sed 's/^[a-zA-Z]*\-//'`
|
GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
|
||||||
# Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
|
# Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
|
||||||
# does give us what we want though, so we use that. We just just the
|
# does give us what we want though, so we use that. We just just the
|
||||||
# major and minor version numbers.
|
# major and minor version numbers.
|
||||||
@ -452,8 +455,6 @@ if [ "$SYSTEM" = "SunOS" ]; then
|
|||||||
echo " patch #107357-01 or later applied."
|
echo " patch #107357-01 or later applied."
|
||||||
sleep 5
|
sleep 5
|
||||||
fi
|
fi
|
||||||
elif [ "$CC" = "cc" -a $CCVER -gt 0 ]; then
|
|
||||||
CC=sc3
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -504,20 +505,7 @@ case "$GUESSOS" in
|
|||||||
OUT="irix-mips3-$CC"
|
OUT="irix-mips3-$CC"
|
||||||
;;
|
;;
|
||||||
mips4-sgi-irix64)
|
mips4-sgi-irix64)
|
||||||
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
OUT="irix64-mips4-$CC"
|
||||||
echo " invoke './Configure irix64-mips4-$CC' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
#CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
|
|
||||||
#CPU=${CPU:-0}
|
|
||||||
#if [ $CPU -ge 5000 ]; then
|
|
||||||
# options="$options -mips4"
|
|
||||||
#else
|
|
||||||
# options="$options -mips3"
|
|
||||||
#fi
|
|
||||||
OUT="irix-mips3-$CC"
|
|
||||||
;;
|
;;
|
||||||
ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
|
ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
|
||||||
ppc-apple-darwin*) OUT="darwin-ppc-cc" ;;
|
ppc-apple-darwin*) OUT="darwin-ppc-cc" ;;
|
||||||
@ -537,25 +525,14 @@ case "$GUESSOS" in
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
ppc64-*-linux2)
|
ppc64-*-linux2)
|
||||||
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
OUT="linux-ppc64"
|
||||||
echo " invoke './Configure linux-ppc64' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
OUT="linux-ppc"
|
|
||||||
;;
|
;;
|
||||||
ppc-*-linux2) OUT="linux-ppc" ;;
|
ppc-*-linux2) OUT="linux-ppc" ;;
|
||||||
|
ppc60x-*-vxworks*) OUT="vxworks-ppc60x" ;;
|
||||||
|
ppcgen-*-vxworks*) OUT="vxworks-ppcgen" ;;
|
||||||
ia64-*-linux?) OUT="linux-ia64" ;;
|
ia64-*-linux?) OUT="linux-ia64" ;;
|
||||||
sparc64-*-linux2)
|
sparc64-*-linux2)
|
||||||
echo "WARNING! If you *know* that your GNU C supports 64-bit/V9 ABI"
|
OUT="linux64-sparcv9" ;;
|
||||||
echo " and wish to build 64-bit library, then you have to"
|
|
||||||
echo " invoke './Configure linux64-sparcv9' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
OUT="linux-sparcv9" ;;
|
|
||||||
sparc-*-linux2)
|
sparc-*-linux2)
|
||||||
KARCH=`awk '/^type/{print$3;exit(0);}' /proc/cpuinfo`
|
KARCH=`awk '/^type/{print$3;exit(0);}' /proc/cpuinfo`
|
||||||
case ${KARCH:-sun4} in
|
case ${KARCH:-sun4} in
|
||||||
@ -588,53 +565,38 @@ case "$GUESSOS" in
|
|||||||
OUT="linux-generic32" ;;
|
OUT="linux-generic32" ;;
|
||||||
arm*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
|
arm*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
|
||||||
arm*l-*-linux2) OUT="linux-generic32"; options="$options -DL_ENDIAN" ;;
|
arm*l-*-linux2) OUT="linux-generic32"; options="$options -DL_ENDIAN" ;;
|
||||||
s390*-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN -DNO_ASM" ;;
|
sh*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
|
||||||
|
sh*-*-linux2) OUT="linux-generic32"; options="$options -DL_ENDIAN" ;;
|
||||||
|
m68k*-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
|
||||||
|
s390-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN -DNO_ASM" ;;
|
||||||
|
s390x-*-linux2) OUT="linux-s390x" ;;
|
||||||
x86_64-*-linux?) OUT="linux-x86_64" ;;
|
x86_64-*-linux?) OUT="linux-x86_64" ;;
|
||||||
*86-*-linux2) OUT="linux-elf"
|
*86-*-linux2) OUT="linux-elf"
|
||||||
if [ "$GCCVER" -gt 28 ]; then
|
if [ "$GCCVER" -gt 28 ]; then
|
||||||
if grep '^model.*Pentium' /proc/cpuinfo >/dev/null ; then
|
if grep '^model.*Pentium' /proc/cpuinfo >/dev/null ; then
|
||||||
options="$options -mcpu=pentium"
|
options="$options -march=pentium"
|
||||||
fi
|
fi
|
||||||
if grep '^model.*Pentium Pro' /proc/cpuinfo >/dev/null ; then
|
if grep '^model.*Pentium Pro' /proc/cpuinfo >/dev/null ; then
|
||||||
options="$options -mcpu=pentiumpro"
|
options="$options -march=pentiumpro"
|
||||||
fi
|
fi
|
||||||
if grep '^model.*K6' /proc/cpuinfo >/dev/null ; then
|
if grep '^model.*K6' /proc/cpuinfo >/dev/null ; then
|
||||||
options="$options -mcpu=k6"
|
options="$options -march=k6"
|
||||||
fi
|
fi
|
||||||
fi ;;
|
fi ;;
|
||||||
*-*-linux1) OUT="linux-aout" ;;
|
*-*-linux1) OUT="linux-aout" ;;
|
||||||
*-*-linux2) OUT="linux-generic32" ;;
|
*-*-linux2) OUT="linux-generic32" ;;
|
||||||
sun4u*-*-solaris2)
|
sun4[uv]*-*-solaris2)
|
||||||
OUT="solaris-sparcv9-$CC"
|
OUT="solaris-sparcv9-$CC"
|
||||||
ISA64=`(isalist) 2>/dev/null | grep sparcv9`
|
ISA64=`(isalist) 2>/dev/null | grep sparcv9`
|
||||||
if [ "$ISA64" != "" ]; then
|
if [ "$ISA64" != "" ]; then
|
||||||
if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
|
if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
|
||||||
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
OUT="solaris64-sparcv9-cc"
|
||||||
echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
|
elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
|
||||||
# $GCC_ARCH denotes default ABI chosen by compiler driver
|
# $GCC_ARCH denotes default ABI chosen by compiler driver
|
||||||
# (first one found on the $PATH). I assume that user
|
# (first one found on the $PATH). I assume that user
|
||||||
# expects certain consistency with the rest of his builds
|
# expects certain consistency with the rest of his builds
|
||||||
# and therefore switch over to 64-bit. <appro>
|
# and therefore switch over to 64-bit. <appro>
|
||||||
OUT="solaris64-sparcv9-gcc"
|
OUT="solaris64-sparcv9-gcc"
|
||||||
echo "WARNING! If you wish to build 32-bit library, then you have to"
|
|
||||||
echo " invoke './Configure solaris-sparcv9-gcc' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
elif [ "$GCC_ARCH" = "-m32" ]; then
|
|
||||||
echo "NOTICE! If you *know* that your GNU C supports 64-bit/V9 ABI"
|
|
||||||
echo " and wish to build 64-bit library, then you have to"
|
|
||||||
echo " invoke './Configure solaris64-sparcv9-gcc' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@ -654,13 +616,20 @@ case "$GUESSOS" in
|
|||||||
;;
|
;;
|
||||||
*-*-sunos4) OUT="sunos-$CC" ;;
|
*-*-sunos4) OUT="sunos-$CC" ;;
|
||||||
|
|
||||||
*86*-*-bsdi4) OUT="bsdi-elf-gcc"; options="$options no-sse2" ;;
|
*86*-*-bsdi4) OUT="BSD-x86-elf"; options="$options no-sse2 -ldl" ;;
|
||||||
alpha*-*-*bsd*) OUT="BSD-generic64; options="$options -DL_ENDIAN" ;;
|
alpha*-*-*bsd*) OUT="BSD-generic64"; options="$options -DL_ENDIAN" ;;
|
||||||
powerpc64-*-*bsd*) OUT="BSD-generic64; options="$options -DB_ENDIAN" ;;
|
powerpc64-*-*bsd*) OUT="BSD-generic64"; options="$options -DB_ENDIAN" ;;
|
||||||
sparc64-*-*bsd*) OUT="BSD-sparc64" ;;
|
sparc64-*-*bsd*) OUT="BSD-sparc64" ;;
|
||||||
ia64-*-*bsd*) OUT="BSD-ia64" ;;
|
ia64-*-*bsd*) OUT="BSD-ia64" ;;
|
||||||
amd64-*-*bsd*) OUT="BSD-x86_64" ;;
|
amd64-*-*bsd*) OUT="BSD-x86_64" ;;
|
||||||
*86*-*-*bsd*) case "`(file -L /usr/lib/libc.so.*) 2>/dev/null`" in
|
*86*-*-*bsd*) # mimic ld behaviour when it's looking for libc...
|
||||||
|
if [ -L /usr/lib/libc.so ]; then # [Free|Net]BSD
|
||||||
|
libc=/usr/lib/libc.so
|
||||||
|
else # OpenBSD
|
||||||
|
# ld searches for highest libc.so.* and so do we
|
||||||
|
libc=`(ls /usr/lib/libc.so.* | tail -1) 2>/dev/null`
|
||||||
|
fi
|
||||||
|
case "`(file -L $libc) 2>/dev/null`" in
|
||||||
*ELF*) OUT="BSD-x86-elf" ;;
|
*ELF*) OUT="BSD-x86-elf" ;;
|
||||||
*) OUT="BSD-x86"; options="$options no-sse2" ;;
|
*) OUT="BSD-x86"; options="$options no-sse2" ;;
|
||||||
esac ;;
|
esac ;;
|
||||||
@ -668,16 +637,15 @@ case "$GUESSOS" in
|
|||||||
|
|
||||||
*-*-osf) OUT="osf1-alpha-cc" ;;
|
*-*-osf) OUT="osf1-alpha-cc" ;;
|
||||||
*-*-tru64) OUT="tru64-alpha-cc" ;;
|
*-*-tru64) OUT="tru64-alpha-cc" ;;
|
||||||
*-*-OpenUNIX*)
|
*-*-[Uu]nix[Ww]are7)
|
||||||
if [ "$CC" = "gcc" ]; then
|
if [ "$CC" = "gcc" ]; then
|
||||||
OUT="OpenUNIX-8-gcc"
|
OUT="unixware-7-gcc" ; options="$options no-sse2"
|
||||||
else
|
else
|
||||||
OUT="OpenUNIX-8"
|
OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*-*-[Uu]nix[Ww]are7) OUT="unixware-7" ;;
|
*-*-[Uu]nix[Ww]are20*) OUT="unixware-2.0"; options="$options no-sse2 no-sha512" ;;
|
||||||
*-*-[Uu]nix[Ww]are20*) OUT="unixware-2.0" ;;
|
*-*-[Uu]nix[Ww]are21*) OUT="unixware-2.1"; options="$options no-sse2 no-sha512" ;;
|
||||||
*-*-[Uu]nix[Ww]are21*) OUT="unixware-2.1" ;;
|
|
||||||
*-*-vos)
|
*-*-vos)
|
||||||
options="$options no-threads no-shared no-asm no-dso"
|
options="$options no-threads no-shared no-asm no-dso"
|
||||||
EXE=".pm"
|
EXE=".pm"
|
||||||
@ -695,28 +663,16 @@ case "$GUESSOS" in
|
|||||||
CPU_VERSION=${CPU_VERSION:-0}
|
CPU_VERSION=${CPU_VERSION:-0}
|
||||||
# See <sys/unistd.h> for further info on CPU_VERSION.
|
# See <sys/unistd.h> for further info on CPU_VERSION.
|
||||||
if [ $CPU_VERSION -ge 768 ]; then # IA-64 CPU
|
if [ $CPU_VERSION -ge 768 ]; then # IA-64 CPU
|
||||||
echo "WARNING! 64-bit ABI is the default configured ABI on HP-UXi."
|
|
||||||
echo " If you wish to build 32-bit library, the you have to"
|
|
||||||
echo " invoke './Configure hpux-ia64-cc' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
OUT="hpux64-ia64-cc"
|
OUT="hpux64-ia64-cc"
|
||||||
elif [ $CPU_VERSION -ge 532 ]; then # PA-RISC 2.x CPU
|
elif [ $CPU_VERSION -ge 532 ]; then # PA-RISC 2.x CPU
|
||||||
OUT=${OUT:-"hpux-parisc2-${CC}"}
|
OUT=${OUT:-"hpux-parisc2-${CC}"}
|
||||||
if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
|
if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
|
||||||
echo "WARNING! If you wish to build 64-bit library then you have to"
|
OUT="hpux64-parisc2-${CC}"
|
||||||
echo " invoke './Configure hpux64-parisc2-cc' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
elif [ $CPU_VERSION -ge 528 ]; then # PA-RISC 1.1+ CPU
|
elif [ $CPU_VERSION -ge 528 ]; then # PA-RISC 1.1+ CPU
|
||||||
OUT="hpux-parisc-${CC}
|
OUT="hpux-parisc-${CC}"
|
||||||
elif [ $CPU_VERSION -ge 523 ]; then # PA-RISC 1.0 CPU
|
elif [ $CPU_VERSION -ge 523 ]; then # PA-RISC 1.0 CPU
|
||||||
OUT="hpux-parisc-${CC}
|
OUT="hpux-parisc-${CC}"
|
||||||
else # Motorola(?) CPU
|
else # Motorola(?) CPU
|
||||||
OUT="hpux-$CC"
|
OUT="hpux-$CC"
|
||||||
fi
|
fi
|
||||||
@ -734,14 +690,14 @@ case "$GUESSOS" in
|
|||||||
else
|
else
|
||||||
OUT="aix-cc"
|
OUT="aix-cc"
|
||||||
if [ $KERNEL_BITS -eq 64 ]; then
|
if [ $KERNEL_BITS -eq 64 ]; then
|
||||||
echo "WARNING! If you wish to build 64-bit kit, then you have to"
|
OUT="aix64-cc"
|
||||||
echo " invoke './Configure aix64-cc' *manually*."
|
|
||||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
|
||||||
echo " You have ~5 seconds to press Ctrl-C to abort."
|
|
||||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
if (lsattr -E -O -l `lsdev -c processor|awk '{print$1;exit}'` | grep -i powerpc) >/dev/null 2>&1; then
|
||||||
|
: # this applies even to Power3 and later, as they return PowerPC_POWER[345]
|
||||||
|
else
|
||||||
|
options="$options no-asm"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
# these are all covered by the catchall below
|
# these are all covered by the catchall below
|
||||||
# *-dgux) OUT="dgux" ;;
|
# *-dgux) OUT="dgux" ;;
|
||||||
@ -766,7 +722,7 @@ esac
|
|||||||
# options="$options -DATALLA"
|
# options="$options -DATALLA"
|
||||||
#fi
|
#fi
|
||||||
|
|
||||||
# gcc < 2.8 does not support -mcpu=ultrasparc
|
# gcc < 2.8 does not support -march=ultrasparc
|
||||||
if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
|
if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
|
||||||
then
|
then
|
||||||
echo "WARNING! Falling down to 'solaris-sparcv8-gcc'."
|
echo "WARNING! Falling down to 'solaris-sparcv8-gcc'."
|
||||||
@ -786,7 +742,7 @@ case "$GUESSOS" in
|
|||||||
i386-*) options="$options 386" ;;
|
i386-*) options="$options 386" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
for i in bf cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 aes ripemd rsa sha
|
for i in aes bf camellia cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa seed sha
|
||||||
do
|
do
|
||||||
if [ ! -d crypto/$i ]
|
if [ ! -d crypto/$i ]
|
||||||
then
|
then
|
||||||
|
147
crypto/Makefile
147
crypto/Makefile
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# SSLeay/crypto/Makefile
|
# OpenSSL/crypto/Makefile
|
||||||
#
|
#
|
||||||
|
|
||||||
DIR= crypto
|
DIR= crypto
|
||||||
@ -15,6 +15,11 @@ MAKEFILE= Makefile
|
|||||||
RM= rm -f
|
RM= rm -f
|
||||||
AR= ar r
|
AR= ar r
|
||||||
|
|
||||||
|
RECURSIVE_MAKE= [ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \
|
||||||
|
(cd $$i && echo "making $$target in $(DIR)/$$i..." && \
|
||||||
|
$(MAKE) -e TOP=../.. DIR=$$i INCLUDES='${INCLUDES}' $$target ) || exit 1; \
|
||||||
|
done;
|
||||||
|
|
||||||
PEX_LIBS=
|
PEX_LIBS=
|
||||||
EX_LIBS=
|
EX_LIBS=
|
||||||
|
|
||||||
@ -24,20 +29,12 @@ AFLAGS=$(ASFLAGS)
|
|||||||
|
|
||||||
LIBS=
|
LIBS=
|
||||||
|
|
||||||
SDIRS= objects \
|
|
||||||
md2 md4 md5 sha mdc2 hmac ripemd \
|
|
||||||
des rc2 rc4 rc5 idea bf cast \
|
|
||||||
bn ec rsa dsa ecdsa ecdh dh dso engine aes \
|
|
||||||
buffer bio stack lhash rand err \
|
|
||||||
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
|
|
||||||
store pqueue
|
|
||||||
|
|
||||||
GENERAL=Makefile README crypto-lib.com install.com
|
GENERAL=Makefile README crypto-lib.com install.com
|
||||||
|
|
||||||
LIB= $(TOP)/libcrypto.a
|
LIB= $(TOP)/libcrypto.a
|
||||||
SHARED_LIB= libcrypto$(SHLIB_EXT)
|
SHARED_LIB= libcrypto$(SHLIB_EXT)
|
||||||
LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c
|
LIBSRC= cryptlib.c dyn_lck.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_init.c fips_err.c
|
||||||
LIBOBJ= cryptlib.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o $(CPUID_OBJ)
|
LIBOBJ= cryptlib.o dyn_lck.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o o_init.o fips_err.o $(CPUID_OBJ)
|
||||||
|
|
||||||
SRC= $(LIBSRC)
|
SRC= $(LIBSRC)
|
||||||
|
|
||||||
@ -50,31 +47,7 @@ ALL= $(GENERAL) $(SRC) $(HEADER)
|
|||||||
top:
|
top:
|
||||||
@(cd ..; $(MAKE) DIRS=$(DIR) all)
|
@(cd ..; $(MAKE) DIRS=$(DIR) all)
|
||||||
|
|
||||||
all: shared
|
all: lib
|
||||||
|
|
||||||
BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
|
|
||||||
CC='${CC}' CFLAG='${CFLAG}' \
|
|
||||||
AS='${CC}' ASFLAG='${CFLAG} -c' \
|
|
||||||
AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}' \
|
|
||||||
SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/lib' \
|
|
||||||
INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' \
|
|
||||||
MAKEDEPEND='$$(TOP)/util/domd $$(TOP) -MD $(MAKEDEPPROG)'\
|
|
||||||
DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}' \
|
|
||||||
MAKEDEPPROG='${MAKEDEPPROG}' \
|
|
||||||
LDFLAGS="$(LDFLAGS)" SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
|
|
||||||
KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' \
|
|
||||||
EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \
|
|
||||||
SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' \
|
|
||||||
PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' \
|
|
||||||
CPUID_OBJ='${CPUID_OBJ}' \
|
|
||||||
BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' \
|
|
||||||
AES_ASM_OBJ='${AES_ASM_OBJ}' \
|
|
||||||
BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' \
|
|
||||||
RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' \
|
|
||||||
SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' \
|
|
||||||
MD5_ASM_OBJ='${MD5_ASM_OBJ}' \
|
|
||||||
RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' \
|
|
||||||
THIS=$${THIS:-$@}
|
|
||||||
|
|
||||||
buildinf.h: ../Makefile
|
buildinf.h: ../Makefile
|
||||||
( echo "#ifndef MK1MF_BUILD"; \
|
( echo "#ifndef MK1MF_BUILD"; \
|
||||||
@ -103,39 +76,30 @@ ia64cpuid.s: ia64cpuid.S
|
|||||||
$(CC) $(CFLAGS) -E ia64cpuid.S > $@
|
$(CC) $(CFLAGS) -E ia64cpuid.S > $@
|
||||||
|
|
||||||
testapps:
|
testapps:
|
||||||
[ -z "$(THIS)" ] || ( if echo ${SDIRS} | fgrep ' des '; \
|
[ -z "$(THIS)" ] || ( if echo ${SDIRS} | fgrep ' des '; \
|
||||||
then cd des && $(MAKE) des; fi )
|
then cd des && $(MAKE) -e des; fi )
|
||||||
[ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) testapps );
|
[ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) -e testapps );
|
||||||
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
|
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
|
||||||
|
|
||||||
subdirs:
|
subdirs:
|
||||||
@for i in $(SDIRS) ;\
|
@target=all; $(RECURSIVE_MAKE)
|
||||||
do \
|
|
||||||
(cd $$i && echo "making all in crypto/$$i..." && \
|
|
||||||
$(MAKE) $(BUILDENV) INCLUDES='${INCLUDES}' all ) || exit 1; \
|
|
||||||
done;
|
|
||||||
|
|
||||||
files:
|
files:
|
||||||
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
||||||
@for i in $(SDIRS) ;\
|
@target=files; $(RECURSIVE_MAKE)
|
||||||
do \
|
|
||||||
(cd $$i && echo "making 'files' in crypto/$$i..." && \
|
|
||||||
$(MAKE) files ); \
|
|
||||||
done;
|
|
||||||
|
|
||||||
links:
|
links:
|
||||||
@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
|
@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
|
||||||
@$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
|
@$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
|
||||||
@$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
|
@$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
|
||||||
@for i in $(SDIRS); do \
|
@target=links; $(RECURSIVE_MAKE)
|
||||||
(cd $$i && echo "making links in crypto/$$i..." && \
|
|
||||||
$(MAKE) links ); \
|
|
||||||
done;
|
|
||||||
|
|
||||||
lib: $(LIBOBJ)
|
# lib: and $(LIB): are splitted to avoid end-less loop
|
||||||
$(AR) $(LIB) $(LIBOBJ)
|
lib: buildinf.h $(LIB) subdirs
|
||||||
$(RANLIB) $(LIB) || echo Never mind.
|
|
||||||
@touch lib
|
@touch lib
|
||||||
|
$(LIB): $(LIBOBJ)
|
||||||
|
$(ARX) $(LIB) $(LIBOBJ)
|
||||||
|
$(RANLIB) $(LIB) || echo Never mind.
|
||||||
|
|
||||||
shared: buildinf.h lib subdirs
|
shared: buildinf.h lib subdirs
|
||||||
if [ -n "$(SHARED_LIBS)" ]; then \
|
if [ -n "$(SHARED_LIBS)" ]; then \
|
||||||
@ -143,19 +107,7 @@ shared: buildinf.h lib subdirs
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
libs:
|
libs:
|
||||||
@for i in $(SDIRS) ;\
|
@target=lib; $(RECURSIVE_MAKE)
|
||||||
do \
|
|
||||||
(cd $$i && echo "making libs in crypto/$$i..." && \
|
|
||||||
$(MAKE) lib );
|
|
||||||
done;
|
|
||||||
|
|
||||||
tests:
|
|
||||||
@[ -z "$(THIS)" ] || (for i in $(SDIRS) ;\
|
|
||||||
do \
|
|
||||||
(cd $$i && echo "making tests in crypto/$$i..." && \
|
|
||||||
$(MAKE) tests ); \
|
|
||||||
done; )
|
|
||||||
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
||||||
@ -164,47 +116,26 @@ install:
|
|||||||
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
|
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
|
||||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
||||||
done;
|
done;
|
||||||
@for i in $(SDIRS) ;\
|
@target=install; $(RECURSIVE_MAKE)
|
||||||
do \
|
|
||||||
(cd $$i && echo "making install in crypto/$$i..." && \
|
|
||||||
$(MAKE) install ); \
|
|
||||||
done;
|
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
@for i in $(SDIRS) ;\
|
@target=lint; $(RECURSIVE_MAKE)
|
||||||
do \
|
|
||||||
(cd $$i && echo "making lint in crypto/$$i..." && \
|
|
||||||
$(MAKE) lint ); \
|
|
||||||
done;
|
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
[ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
|
@[ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
|
||||||
[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
@[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
||||||
[ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
|
@[ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
|
||||||
@[ -z "$(THIS)" ] || (set -e; \
|
@[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
|
||||||
for i in $(SDIRS) ; do \
|
|
||||||
( cd $$i && echo "making depend in crypto/$$i..." && \
|
|
||||||
$(MAKE) INCLUDES='${INCLUDES}' depend \
|
|
||||||
); \
|
|
||||||
done; )
|
|
||||||
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
|
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f buildinf.h *.s *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
|
rm -f buildinf.h *.s *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
|
||||||
@for i in $(SDIRS) ;\
|
@target=clean; $(RECURSIVE_MAKE)
|
||||||
do \
|
|
||||||
(cd $$i && echo "making clean in crypto/$$i..." && \
|
|
||||||
$(MAKE) clean ); \
|
|
||||||
done;
|
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
mv -f Makefile.new $(MAKEFILE)
|
mv -f Makefile.new $(MAKEFILE)
|
||||||
@for i in $(SDIRS) ;\
|
@target=dclean; $(RECURSIVE_MAKE)
|
||||||
do \
|
|
||||||
(cd $$i && echo "making dclean in crypto/$$i..." && \
|
|
||||||
$(MAKE) dclean ); \
|
|
||||||
done;
|
|
||||||
|
|
||||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||||
|
|
||||||
@ -228,6 +159,13 @@ cversion.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
|||||||
cversion.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
cversion.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
||||||
cversion.o: ../include/openssl/stack.h ../include/openssl/symhacks.h buildinf.h
|
cversion.o: ../include/openssl/stack.h ../include/openssl/symhacks.h buildinf.h
|
||||||
cversion.o: cryptlib.h cversion.c
|
cversion.o: cryptlib.h cversion.c
|
||||||
|
dyn_lck.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
|
||||||
|
dyn_lck.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
|
||||||
|
dyn_lck.o: ../include/openssl/err.h ../include/openssl/lhash.h
|
||||||
|
dyn_lck.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
|
dyn_lck.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
||||||
|
dyn_lck.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
||||||
|
dyn_lck.o: dyn_lck.c
|
||||||
ebcdic.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h ebcdic.c
|
ebcdic.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h ebcdic.c
|
||||||
ex_data.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
|
ex_data.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
|
||||||
ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
|
ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
|
||||||
@ -236,6 +174,13 @@ ex_data.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
|||||||
ex_data.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
ex_data.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
||||||
ex_data.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
ex_data.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
||||||
ex_data.o: ex_data.c
|
ex_data.o: ex_data.c
|
||||||
|
fips_err.o: ../include/openssl/bio.h ../include/openssl/crypto.h
|
||||||
|
fips_err.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
||||||
|
fips_err.o: ../include/openssl/fips.h ../include/openssl/lhash.h
|
||||||
|
fips_err.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
|
fips_err.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
||||||
|
fips_err.o: ../include/openssl/stack.h ../include/openssl/symhacks.h fips_err.c
|
||||||
|
fips_err.o: fips_err.h
|
||||||
mem.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
|
mem.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
|
||||||
mem.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
|
mem.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
|
||||||
mem.o: ../include/openssl/err.h ../include/openssl/lhash.h
|
mem.o: ../include/openssl/err.h ../include/openssl/lhash.h
|
||||||
@ -256,6 +201,12 @@ mem_dbg.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
|||||||
mem_dbg.o: mem_dbg.c
|
mem_dbg.o: mem_dbg.c
|
||||||
o_dir.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
|
o_dir.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
|
||||||
o_dir.o: LPdir_unix.c o_dir.c o_dir.h
|
o_dir.o: LPdir_unix.c o_dir.c o_dir.h
|
||||||
|
o_init.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/crypto.h
|
||||||
|
o_init.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
||||||
|
o_init.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
|
||||||
|
o_init.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
|
||||||
|
o_init.o: ../include/openssl/safestack.h ../include/openssl/stack.h
|
||||||
|
o_init.o: ../include/openssl/symhacks.h o_init.c
|
||||||
o_str.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
|
o_str.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
|
||||||
o_str.o: o_str.c o_str.h
|
o_str.o: o_str.c o_str.h
|
||||||
o_time.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_time.c
|
o_time.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_time.c
|
||||||
|
@ -23,8 +23,10 @@ TEST=
|
|||||||
APPS=
|
APPS=
|
||||||
|
|
||||||
LIB=$(TOP)/libcrypto.a
|
LIB=$(TOP)/libcrypto.a
|
||||||
LIBSRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c
|
LIBSRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c \
|
||||||
LIBOBJ=aes_misc.o aes_ecb.o aes_cfb.o aes_ofb.o aes_ctr.o $(AES_ASM_OBJ)
|
aes_ctr.c aes_ige.c
|
||||||
|
LIBOBJ=aes_misc.o aes_ecb.o aes_cfb.o aes_ofb.o aes_ctr.o aes_ige.o \
|
||||||
|
$(AES_ASM_OBJ)
|
||||||
|
|
||||||
SRC= $(LIBSRC)
|
SRC= $(LIBSRC)
|
||||||
|
|
||||||
@ -39,7 +41,7 @@ top:
|
|||||||
all: lib
|
all: lib
|
||||||
|
|
||||||
lib: $(LIBOBJ)
|
lib: $(LIBOBJ)
|
||||||
$(AR) $(LIB) $(LIBOBJ)
|
$(ARX) $(LIB) $(LIBOBJ)
|
||||||
$(RANLIB) $(LIB) || echo Never mind.
|
$(RANLIB) $(LIB) || echo Never mind.
|
||||||
@touch lib
|
@touch lib
|
||||||
|
|
||||||
@ -55,6 +57,11 @@ ax86-cof.s: asm/aes-586.pl ../perlasm/x86asm.pl
|
|||||||
ax86-out.s: asm/aes-586.pl ../perlasm/x86asm.pl
|
ax86-out.s: asm/aes-586.pl ../perlasm/x86asm.pl
|
||||||
(cd asm; $(PERL) aes-586.pl a.out $(CFLAGS) $(PROCESSOR) > ../$@)
|
(cd asm; $(PERL) aes-586.pl a.out $(CFLAGS) $(PROCESSOR) > ../$@)
|
||||||
|
|
||||||
|
aes-x86_64.s: asm/aes-x86_64.pl
|
||||||
|
$(PERL) asm/aes-x86_64.pl $@
|
||||||
|
# GNU make "catch all"
|
||||||
|
aes-%.s: asm/aes-%.pl; $(PERL) $< $(CFLAGS) > $@
|
||||||
|
|
||||||
files:
|
files:
|
||||||
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
||||||
|
|
||||||
@ -103,6 +110,13 @@ aes_ctr.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
|
|||||||
aes_ctr.o: ../../include/openssl/opensslconf.h aes_ctr.c aes_locl.h
|
aes_ctr.o: ../../include/openssl/opensslconf.h aes_ctr.c aes_locl.h
|
||||||
aes_ecb.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
|
aes_ecb.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
|
||||||
aes_ecb.o: ../../include/openssl/opensslconf.h aes_ecb.c aes_locl.h
|
aes_ecb.o: ../../include/openssl/opensslconf.h aes_ecb.c aes_locl.h
|
||||||
|
aes_ige.o: ../../e_os.h ../../include/openssl/aes.h ../../include/openssl/bio.h
|
||||||
|
aes_ige.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
|
aes_ige.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
||||||
|
aes_ige.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
||||||
|
aes_ige.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
|
aes_ige.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||||
|
aes_ige.o: ../../include/openssl/symhacks.h ../cryptlib.h aes_ige.c aes_locl.h
|
||||||
aes_misc.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
|
aes_misc.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
|
||||||
aes_misc.o: ../../include/openssl/opensslconf.h
|
aes_misc.o: ../../include/openssl/opensslconf.h
|
||||||
aes_misc.o: ../../include/openssl/opensslv.h aes_locl.h aes_misc.c
|
aes_misc.o: ../../include/openssl/opensslv.h aes_locl.h aes_misc.c
|
||||||
|
@ -66,6 +66,10 @@
|
|||||||
#define AES_MAXNR 14
|
#define AES_MAXNR 14
|
||||||
#define AES_BLOCK_SIZE 16
|
#define AES_BLOCK_SIZE 16
|
||||||
|
|
||||||
|
#ifdef OPENSSL_FIPS
|
||||||
|
#define FIPS_AES_SIZE_T int
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
@ -119,6 +123,17 @@ void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out,
|
|||||||
unsigned char ecount_buf[AES_BLOCK_SIZE],
|
unsigned char ecount_buf[AES_BLOCK_SIZE],
|
||||||
unsigned int *num);
|
unsigned int *num);
|
||||||
|
|
||||||
|
/* For IGE, see also http://www.links.org/files/openssl-ige.pdf */
|
||||||
|
/* NB: the IV is _two_ blocks long */
|
||||||
|
void AES_ige_encrypt(const unsigned char *in, unsigned char *out,
|
||||||
|
const unsigned long length, const AES_KEY *key,
|
||||||
|
unsigned char *ivec, const int enc);
|
||||||
|
/* NB: the IV is _four_ blocks long */
|
||||||
|
void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out,
|
||||||
|
const unsigned long length, const AES_KEY *key,
|
||||||
|
const AES_KEY *key2, const unsigned char *ivec,
|
||||||
|
const int enc);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,7 @@
|
|||||||
#include <openssl/aes.h>
|
#include <openssl/aes.h>
|
||||||
#include "aes_locl.h"
|
#include "aes_locl.h"
|
||||||
|
|
||||||
|
#if !defined(OPENSSL_FIPS_AES_ASM)
|
||||||
void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
|
void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
|
||||||
const unsigned long length, const AES_KEY *key,
|
const unsigned long length, const AES_KEY *key,
|
||||||
unsigned char *ivec, const int enc) {
|
unsigned char *ivec, const int enc) {
|
||||||
@ -129,3 +130,4 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <openssl/aes.h>
|
#include <openssl/aes.h>
|
||||||
|
#include <openssl/fips.h>
|
||||||
#include "aes_locl.h"
|
#include "aes_locl.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -44,22 +45,14 @@ Te0[x] = S [x].[02, 01, 01, 03];
|
|||||||
Te1[x] = S [x].[03, 02, 01, 01];
|
Te1[x] = S [x].[03, 02, 01, 01];
|
||||||
Te2[x] = S [x].[01, 03, 02, 01];
|
Te2[x] = S [x].[01, 03, 02, 01];
|
||||||
Te3[x] = S [x].[01, 01, 03, 02];
|
Te3[x] = S [x].[01, 01, 03, 02];
|
||||||
Te4[x] = S [x].[01, 01, 01, 01];
|
|
||||||
|
|
||||||
Td0[x] = Si[x].[0e, 09, 0d, 0b];
|
Td0[x] = Si[x].[0e, 09, 0d, 0b];
|
||||||
Td1[x] = Si[x].[0b, 0e, 09, 0d];
|
Td1[x] = Si[x].[0b, 0e, 09, 0d];
|
||||||
Td2[x] = Si[x].[0d, 0b, 0e, 09];
|
Td2[x] = Si[x].[0d, 0b, 0e, 09];
|
||||||
Td3[x] = Si[x].[09, 0d, 0b, 0e];
|
Td3[x] = Si[x].[09, 0d, 0b, 0e];
|
||||||
Td4[x] = Si[x].[01, 01, 01, 01];
|
Td4[x] = Si[x].[01];
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef AES_ASM
|
|
||||||
extern const u32 AES_Te[5][256];
|
|
||||||
#define Te0 AES_Te[0]
|
|
||||||
#define Te1 AES_Te[1]
|
|
||||||
#define Te2 AES_Te[2]
|
|
||||||
#define Te3 AES_Te[3]
|
|
||||||
#else
|
|
||||||
static const u32 Te0[256] = {
|
static const u32 Te0[256] = {
|
||||||
0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU,
|
0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU,
|
||||||
0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U,
|
0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U,
|
||||||
@ -324,81 +317,7 @@ static const u32 Te3[256] = {
|
|||||||
0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU,
|
0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU,
|
||||||
0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU,
|
0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
static const u32 Te4[256] = {
|
|
||||||
0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU,
|
|
||||||
0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U,
|
|
||||||
0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU,
|
|
||||||
0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U,
|
|
||||||
0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU,
|
|
||||||
0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U,
|
|
||||||
0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU,
|
|
||||||
0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U,
|
|
||||||
0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U,
|
|
||||||
0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU,
|
|
||||||
0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U,
|
|
||||||
0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U,
|
|
||||||
0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U,
|
|
||||||
0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU,
|
|
||||||
0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U,
|
|
||||||
0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U,
|
|
||||||
0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU,
|
|
||||||
0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U,
|
|
||||||
0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U,
|
|
||||||
0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U,
|
|
||||||
0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU,
|
|
||||||
0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU,
|
|
||||||
0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U,
|
|
||||||
0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU,
|
|
||||||
0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU,
|
|
||||||
0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U,
|
|
||||||
0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU,
|
|
||||||
0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U,
|
|
||||||
0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU,
|
|
||||||
0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U,
|
|
||||||
0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U,
|
|
||||||
0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U,
|
|
||||||
0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU,
|
|
||||||
0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U,
|
|
||||||
0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU,
|
|
||||||
0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U,
|
|
||||||
0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU,
|
|
||||||
0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U,
|
|
||||||
0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U,
|
|
||||||
0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU,
|
|
||||||
0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU,
|
|
||||||
0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU,
|
|
||||||
0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U,
|
|
||||||
0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U,
|
|
||||||
0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU,
|
|
||||||
0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U,
|
|
||||||
0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU,
|
|
||||||
0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U,
|
|
||||||
0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU,
|
|
||||||
0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U,
|
|
||||||
0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU,
|
|
||||||
0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU,
|
|
||||||
0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U,
|
|
||||||
0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU,
|
|
||||||
0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U,
|
|
||||||
0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU,
|
|
||||||
0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U,
|
|
||||||
0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U,
|
|
||||||
0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U,
|
|
||||||
0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU,
|
|
||||||
0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU,
|
|
||||||
0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U,
|
|
||||||
0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU,
|
|
||||||
0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U,
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef AES_ASM
|
|
||||||
extern const u32 AES_Td[5][256];
|
|
||||||
#define Td0 AES_Td[0]
|
|
||||||
#define Td1 AES_Td[1]
|
|
||||||
#define Td2 AES_Td[2]
|
|
||||||
#define Td3 AES_Td[3]
|
|
||||||
#else
|
|
||||||
static const u32 Td0[256] = {
|
static const u32 Td0[256] = {
|
||||||
0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U,
|
0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U,
|
||||||
0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U,
|
0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U,
|
||||||
@ -663,72 +582,39 @@ static const u32 Td3[256] = {
|
|||||||
0xa8017139U, 0x0cb3de08U, 0xb4e49cd8U, 0x56c19064U,
|
0xa8017139U, 0x0cb3de08U, 0xb4e49cd8U, 0x56c19064U,
|
||||||
0xcb84617bU, 0x32b670d5U, 0x6c5c7448U, 0xb85742d0U,
|
0xcb84617bU, 0x32b670d5U, 0x6c5c7448U, 0xb85742d0U,
|
||||||
};
|
};
|
||||||
#endif
|
static const u8 Td4[256] = {
|
||||||
static const u32 Td4[256] = {
|
0x52U, 0x09U, 0x6aU, 0xd5U, 0x30U, 0x36U, 0xa5U, 0x38U,
|
||||||
0x52525252U, 0x09090909U, 0x6a6a6a6aU, 0xd5d5d5d5U,
|
0xbfU, 0x40U, 0xa3U, 0x9eU, 0x81U, 0xf3U, 0xd7U, 0xfbU,
|
||||||
0x30303030U, 0x36363636U, 0xa5a5a5a5U, 0x38383838U,
|
0x7cU, 0xe3U, 0x39U, 0x82U, 0x9bU, 0x2fU, 0xffU, 0x87U,
|
||||||
0xbfbfbfbfU, 0x40404040U, 0xa3a3a3a3U, 0x9e9e9e9eU,
|
0x34U, 0x8eU, 0x43U, 0x44U, 0xc4U, 0xdeU, 0xe9U, 0xcbU,
|
||||||
0x81818181U, 0xf3f3f3f3U, 0xd7d7d7d7U, 0xfbfbfbfbU,
|
0x54U, 0x7bU, 0x94U, 0x32U, 0xa6U, 0xc2U, 0x23U, 0x3dU,
|
||||||
0x7c7c7c7cU, 0xe3e3e3e3U, 0x39393939U, 0x82828282U,
|
0xeeU, 0x4cU, 0x95U, 0x0bU, 0x42U, 0xfaU, 0xc3U, 0x4eU,
|
||||||
0x9b9b9b9bU, 0x2f2f2f2fU, 0xffffffffU, 0x87878787U,
|
0x08U, 0x2eU, 0xa1U, 0x66U, 0x28U, 0xd9U, 0x24U, 0xb2U,
|
||||||
0x34343434U, 0x8e8e8e8eU, 0x43434343U, 0x44444444U,
|
0x76U, 0x5bU, 0xa2U, 0x49U, 0x6dU, 0x8bU, 0xd1U, 0x25U,
|
||||||
0xc4c4c4c4U, 0xdedededeU, 0xe9e9e9e9U, 0xcbcbcbcbU,
|
0x72U, 0xf8U, 0xf6U, 0x64U, 0x86U, 0x68U, 0x98U, 0x16U,
|
||||||
0x54545454U, 0x7b7b7b7bU, 0x94949494U, 0x32323232U,
|
0xd4U, 0xa4U, 0x5cU, 0xccU, 0x5dU, 0x65U, 0xb6U, 0x92U,
|
||||||
0xa6a6a6a6U, 0xc2c2c2c2U, 0x23232323U, 0x3d3d3d3dU,
|
0x6cU, 0x70U, 0x48U, 0x50U, 0xfdU, 0xedU, 0xb9U, 0xdaU,
|
||||||
0xeeeeeeeeU, 0x4c4c4c4cU, 0x95959595U, 0x0b0b0b0bU,
|
0x5eU, 0x15U, 0x46U, 0x57U, 0xa7U, 0x8dU, 0x9dU, 0x84U,
|
||||||
0x42424242U, 0xfafafafaU, 0xc3c3c3c3U, 0x4e4e4e4eU,
|
0x90U, 0xd8U, 0xabU, 0x00U, 0x8cU, 0xbcU, 0xd3U, 0x0aU,
|
||||||
0x08080808U, 0x2e2e2e2eU, 0xa1a1a1a1U, 0x66666666U,
|
0xf7U, 0xe4U, 0x58U, 0x05U, 0xb8U, 0xb3U, 0x45U, 0x06U,
|
||||||
0x28282828U, 0xd9d9d9d9U, 0x24242424U, 0xb2b2b2b2U,
|
0xd0U, 0x2cU, 0x1eU, 0x8fU, 0xcaU, 0x3fU, 0x0fU, 0x02U,
|
||||||
0x76767676U, 0x5b5b5b5bU, 0xa2a2a2a2U, 0x49494949U,
|
0xc1U, 0xafU, 0xbdU, 0x03U, 0x01U, 0x13U, 0x8aU, 0x6bU,
|
||||||
0x6d6d6d6dU, 0x8b8b8b8bU, 0xd1d1d1d1U, 0x25252525U,
|
0x3aU, 0x91U, 0x11U, 0x41U, 0x4fU, 0x67U, 0xdcU, 0xeaU,
|
||||||
0x72727272U, 0xf8f8f8f8U, 0xf6f6f6f6U, 0x64646464U,
|
0x97U, 0xf2U, 0xcfU, 0xceU, 0xf0U, 0xb4U, 0xe6U, 0x73U,
|
||||||
0x86868686U, 0x68686868U, 0x98989898U, 0x16161616U,
|
0x96U, 0xacU, 0x74U, 0x22U, 0xe7U, 0xadU, 0x35U, 0x85U,
|
||||||
0xd4d4d4d4U, 0xa4a4a4a4U, 0x5c5c5c5cU, 0xccccccccU,
|
0xe2U, 0xf9U, 0x37U, 0xe8U, 0x1cU, 0x75U, 0xdfU, 0x6eU,
|
||||||
0x5d5d5d5dU, 0x65656565U, 0xb6b6b6b6U, 0x92929292U,
|
0x47U, 0xf1U, 0x1aU, 0x71U, 0x1dU, 0x29U, 0xc5U, 0x89U,
|
||||||
0x6c6c6c6cU, 0x70707070U, 0x48484848U, 0x50505050U,
|
0x6fU, 0xb7U, 0x62U, 0x0eU, 0xaaU, 0x18U, 0xbeU, 0x1bU,
|
||||||
0xfdfdfdfdU, 0xededededU, 0xb9b9b9b9U, 0xdadadadaU,
|
0xfcU, 0x56U, 0x3eU, 0x4bU, 0xc6U, 0xd2U, 0x79U, 0x20U,
|
||||||
0x5e5e5e5eU, 0x15151515U, 0x46464646U, 0x57575757U,
|
0x9aU, 0xdbU, 0xc0U, 0xfeU, 0x78U, 0xcdU, 0x5aU, 0xf4U,
|
||||||
0xa7a7a7a7U, 0x8d8d8d8dU, 0x9d9d9d9dU, 0x84848484U,
|
0x1fU, 0xddU, 0xa8U, 0x33U, 0x88U, 0x07U, 0xc7U, 0x31U,
|
||||||
0x90909090U, 0xd8d8d8d8U, 0xababababU, 0x00000000U,
|
0xb1U, 0x12U, 0x10U, 0x59U, 0x27U, 0x80U, 0xecU, 0x5fU,
|
||||||
0x8c8c8c8cU, 0xbcbcbcbcU, 0xd3d3d3d3U, 0x0a0a0a0aU,
|
0x60U, 0x51U, 0x7fU, 0xa9U, 0x19U, 0xb5U, 0x4aU, 0x0dU,
|
||||||
0xf7f7f7f7U, 0xe4e4e4e4U, 0x58585858U, 0x05050505U,
|
0x2dU, 0xe5U, 0x7aU, 0x9fU, 0x93U, 0xc9U, 0x9cU, 0xefU,
|
||||||
0xb8b8b8b8U, 0xb3b3b3b3U, 0x45454545U, 0x06060606U,
|
0xa0U, 0xe0U, 0x3bU, 0x4dU, 0xaeU, 0x2aU, 0xf5U, 0xb0U,
|
||||||
0xd0d0d0d0U, 0x2c2c2c2cU, 0x1e1e1e1eU, 0x8f8f8f8fU,
|
0xc8U, 0xebU, 0xbbU, 0x3cU, 0x83U, 0x53U, 0x99U, 0x61U,
|
||||||
0xcacacacaU, 0x3f3f3f3fU, 0x0f0f0f0fU, 0x02020202U,
|
0x17U, 0x2bU, 0x04U, 0x7eU, 0xbaU, 0x77U, 0xd6U, 0x26U,
|
||||||
0xc1c1c1c1U, 0xafafafafU, 0xbdbdbdbdU, 0x03030303U,
|
0xe1U, 0x69U, 0x14U, 0x63U, 0x55U, 0x21U, 0x0cU, 0x7dU,
|
||||||
0x01010101U, 0x13131313U, 0x8a8a8a8aU, 0x6b6b6b6bU,
|
|
||||||
0x3a3a3a3aU, 0x91919191U, 0x11111111U, 0x41414141U,
|
|
||||||
0x4f4f4f4fU, 0x67676767U, 0xdcdcdcdcU, 0xeaeaeaeaU,
|
|
||||||
0x97979797U, 0xf2f2f2f2U, 0xcfcfcfcfU, 0xcecececeU,
|
|
||||||
0xf0f0f0f0U, 0xb4b4b4b4U, 0xe6e6e6e6U, 0x73737373U,
|
|
||||||
0x96969696U, 0xacacacacU, 0x74747474U, 0x22222222U,
|
|
||||||
0xe7e7e7e7U, 0xadadadadU, 0x35353535U, 0x85858585U,
|
|
||||||
0xe2e2e2e2U, 0xf9f9f9f9U, 0x37373737U, 0xe8e8e8e8U,
|
|
||||||
0x1c1c1c1cU, 0x75757575U, 0xdfdfdfdfU, 0x6e6e6e6eU,
|
|
||||||
0x47474747U, 0xf1f1f1f1U, 0x1a1a1a1aU, 0x71717171U,
|
|
||||||
0x1d1d1d1dU, 0x29292929U, 0xc5c5c5c5U, 0x89898989U,
|
|
||||||
0x6f6f6f6fU, 0xb7b7b7b7U, 0x62626262U, 0x0e0e0e0eU,
|
|
||||||
0xaaaaaaaaU, 0x18181818U, 0xbebebebeU, 0x1b1b1b1bU,
|
|
||||||
0xfcfcfcfcU, 0x56565656U, 0x3e3e3e3eU, 0x4b4b4b4bU,
|
|
||||||
0xc6c6c6c6U, 0xd2d2d2d2U, 0x79797979U, 0x20202020U,
|
|
||||||
0x9a9a9a9aU, 0xdbdbdbdbU, 0xc0c0c0c0U, 0xfefefefeU,
|
|
||||||
0x78787878U, 0xcdcdcdcdU, 0x5a5a5a5aU, 0xf4f4f4f4U,
|
|
||||||
0x1f1f1f1fU, 0xddddddddU, 0xa8a8a8a8U, 0x33333333U,
|
|
||||||
0x88888888U, 0x07070707U, 0xc7c7c7c7U, 0x31313131U,
|
|
||||||
0xb1b1b1b1U, 0x12121212U, 0x10101010U, 0x59595959U,
|
|
||||||
0x27272727U, 0x80808080U, 0xececececU, 0x5f5f5f5fU,
|
|
||||||
0x60606060U, 0x51515151U, 0x7f7f7f7fU, 0xa9a9a9a9U,
|
|
||||||
0x19191919U, 0xb5b5b5b5U, 0x4a4a4a4aU, 0x0d0d0d0dU,
|
|
||||||
0x2d2d2d2dU, 0xe5e5e5e5U, 0x7a7a7a7aU, 0x9f9f9f9fU,
|
|
||||||
0x93939393U, 0xc9c9c9c9U, 0x9c9c9c9cU, 0xefefefefU,
|
|
||||||
0xa0a0a0a0U, 0xe0e0e0e0U, 0x3b3b3b3bU, 0x4d4d4d4dU,
|
|
||||||
0xaeaeaeaeU, 0x2a2a2a2aU, 0xf5f5f5f5U, 0xb0b0b0b0U,
|
|
||||||
0xc8c8c8c8U, 0xebebebebU, 0xbbbbbbbbU, 0x3c3c3c3cU,
|
|
||||||
0x83838383U, 0x53535353U, 0x99999999U, 0x61616161U,
|
|
||||||
0x17171717U, 0x2b2b2b2bU, 0x04040404U, 0x7e7e7e7eU,
|
|
||||||
0xbabababaU, 0x77777777U, 0xd6d6d6d6U, 0x26262626U,
|
|
||||||
0xe1e1e1e1U, 0x69696969U, 0x14141414U, 0x63636363U,
|
|
||||||
0x55555555U, 0x21212121U, 0x0c0c0c0cU, 0x7d7d7d7dU,
|
|
||||||
};
|
};
|
||||||
static const u32 rcon[] = {
|
static const u32 rcon[] = {
|
||||||
0x01000000, 0x02000000, 0x04000000, 0x08000000,
|
0x01000000, 0x02000000, 0x04000000, 0x08000000,
|
||||||
@ -746,6 +632,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
u32 temp;
|
u32 temp;
|
||||||
|
|
||||||
|
#ifdef OPENSSL_FIPS
|
||||||
|
FIPS_selftest_check();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!userKey || !key)
|
if (!userKey || !key)
|
||||||
return -1;
|
return -1;
|
||||||
if (bits != 128 && bits != 192 && bits != 256)
|
if (bits != 128 && bits != 192 && bits != 256)
|
||||||
@ -768,10 +658,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
|||||||
while (1) {
|
while (1) {
|
||||||
temp = rk[3];
|
temp = rk[3];
|
||||||
rk[4] = rk[0] ^
|
rk[4] = rk[0] ^
|
||||||
(Te4[(temp >> 16) & 0xff] & 0xff000000) ^
|
(Te2[(temp >> 16) & 0xff] & 0xff000000) ^
|
||||||
(Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^
|
(Te3[(temp >> 8) & 0xff] & 0x00ff0000) ^
|
||||||
(Te4[(temp ) & 0xff] & 0x0000ff00) ^
|
(Te0[(temp ) & 0xff] & 0x0000ff00) ^
|
||||||
(Te4[(temp >> 24) ] & 0x000000ff) ^
|
(Te1[(temp >> 24) ] & 0x000000ff) ^
|
||||||
rcon[i];
|
rcon[i];
|
||||||
rk[5] = rk[1] ^ rk[4];
|
rk[5] = rk[1] ^ rk[4];
|
||||||
rk[6] = rk[2] ^ rk[5];
|
rk[6] = rk[2] ^ rk[5];
|
||||||
@ -788,10 +678,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
|||||||
while (1) {
|
while (1) {
|
||||||
temp = rk[ 5];
|
temp = rk[ 5];
|
||||||
rk[ 6] = rk[ 0] ^
|
rk[ 6] = rk[ 0] ^
|
||||||
(Te4[(temp >> 16) & 0xff] & 0xff000000) ^
|
(Te2[(temp >> 16) & 0xff] & 0xff000000) ^
|
||||||
(Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^
|
(Te3[(temp >> 8) & 0xff] & 0x00ff0000) ^
|
||||||
(Te4[(temp ) & 0xff] & 0x0000ff00) ^
|
(Te0[(temp ) & 0xff] & 0x0000ff00) ^
|
||||||
(Te4[(temp >> 24) ] & 0x000000ff) ^
|
(Te1[(temp >> 24) ] & 0x000000ff) ^
|
||||||
rcon[i];
|
rcon[i];
|
||||||
rk[ 7] = rk[ 1] ^ rk[ 6];
|
rk[ 7] = rk[ 1] ^ rk[ 6];
|
||||||
rk[ 8] = rk[ 2] ^ rk[ 7];
|
rk[ 8] = rk[ 2] ^ rk[ 7];
|
||||||
@ -810,10 +700,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
|||||||
while (1) {
|
while (1) {
|
||||||
temp = rk[ 7];
|
temp = rk[ 7];
|
||||||
rk[ 8] = rk[ 0] ^
|
rk[ 8] = rk[ 0] ^
|
||||||
(Te4[(temp >> 16) & 0xff] & 0xff000000) ^
|
(Te2[(temp >> 16) & 0xff] & 0xff000000) ^
|
||||||
(Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^
|
(Te3[(temp >> 8) & 0xff] & 0x00ff0000) ^
|
||||||
(Te4[(temp ) & 0xff] & 0x0000ff00) ^
|
(Te0[(temp ) & 0xff] & 0x0000ff00) ^
|
||||||
(Te4[(temp >> 24) ] & 0x000000ff) ^
|
(Te1[(temp >> 24) ] & 0x000000ff) ^
|
||||||
rcon[i];
|
rcon[i];
|
||||||
rk[ 9] = rk[ 1] ^ rk[ 8];
|
rk[ 9] = rk[ 1] ^ rk[ 8];
|
||||||
rk[10] = rk[ 2] ^ rk[ 9];
|
rk[10] = rk[ 2] ^ rk[ 9];
|
||||||
@ -823,10 +713,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
|||||||
}
|
}
|
||||||
temp = rk[11];
|
temp = rk[11];
|
||||||
rk[12] = rk[ 4] ^
|
rk[12] = rk[ 4] ^
|
||||||
(Te4[(temp >> 24) ] & 0xff000000) ^
|
(Te2[(temp >> 24) ] & 0xff000000) ^
|
||||||
(Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^
|
(Te3[(temp >> 16) & 0xff] & 0x00ff0000) ^
|
||||||
(Te4[(temp >> 8) & 0xff] & 0x0000ff00) ^
|
(Te0[(temp >> 8) & 0xff] & 0x0000ff00) ^
|
||||||
(Te4[(temp ) & 0xff] & 0x000000ff);
|
(Te1[(temp ) & 0xff] & 0x000000ff);
|
||||||
rk[13] = rk[ 5] ^ rk[12];
|
rk[13] = rk[ 5] ^ rk[12];
|
||||||
rk[14] = rk[ 6] ^ rk[13];
|
rk[14] = rk[ 6] ^ rk[13];
|
||||||
rk[15] = rk[ 7] ^ rk[14];
|
rk[15] = rk[ 7] ^ rk[14];
|
||||||
@ -865,25 +755,25 @@ int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
|||||||
for (i = 1; i < (key->rounds); i++) {
|
for (i = 1; i < (key->rounds); i++) {
|
||||||
rk += 4;
|
rk += 4;
|
||||||
rk[0] =
|
rk[0] =
|
||||||
Td0[Te4[(rk[0] >> 24) ] & 0xff] ^
|
Td0[Te1[(rk[0] >> 24) ] & 0xff] ^
|
||||||
Td1[Te4[(rk[0] >> 16) & 0xff] & 0xff] ^
|
Td1[Te1[(rk[0] >> 16) & 0xff] & 0xff] ^
|
||||||
Td2[Te4[(rk[0] >> 8) & 0xff] & 0xff] ^
|
Td2[Te1[(rk[0] >> 8) & 0xff] & 0xff] ^
|
||||||
Td3[Te4[(rk[0] ) & 0xff] & 0xff];
|
Td3[Te1[(rk[0] ) & 0xff] & 0xff];
|
||||||
rk[1] =
|
rk[1] =
|
||||||
Td0[Te4[(rk[1] >> 24) ] & 0xff] ^
|
Td0[Te1[(rk[1] >> 24) ] & 0xff] ^
|
||||||
Td1[Te4[(rk[1] >> 16) & 0xff] & 0xff] ^
|
Td1[Te1[(rk[1] >> 16) & 0xff] & 0xff] ^
|
||||||
Td2[Te4[(rk[1] >> 8) & 0xff] & 0xff] ^
|
Td2[Te1[(rk[1] >> 8) & 0xff] & 0xff] ^
|
||||||
Td3[Te4[(rk[1] ) & 0xff] & 0xff];
|
Td3[Te1[(rk[1] ) & 0xff] & 0xff];
|
||||||
rk[2] =
|
rk[2] =
|
||||||
Td0[Te4[(rk[2] >> 24) ] & 0xff] ^
|
Td0[Te1[(rk[2] >> 24) ] & 0xff] ^
|
||||||
Td1[Te4[(rk[2] >> 16) & 0xff] & 0xff] ^
|
Td1[Te1[(rk[2] >> 16) & 0xff] & 0xff] ^
|
||||||
Td2[Te4[(rk[2] >> 8) & 0xff] & 0xff] ^
|
Td2[Te1[(rk[2] >> 8) & 0xff] & 0xff] ^
|
||||||
Td3[Te4[(rk[2] ) & 0xff] & 0xff];
|
Td3[Te1[(rk[2] ) & 0xff] & 0xff];
|
||||||
rk[3] =
|
rk[3] =
|
||||||
Td0[Te4[(rk[3] >> 24) ] & 0xff] ^
|
Td0[Te1[(rk[3] >> 24) ] & 0xff] ^
|
||||||
Td1[Te4[(rk[3] >> 16) & 0xff] & 0xff] ^
|
Td1[Te1[(rk[3] >> 16) & 0xff] & 0xff] ^
|
||||||
Td2[Te4[(rk[3] >> 8) & 0xff] & 0xff] ^
|
Td2[Te1[(rk[3] >> 8) & 0xff] & 0xff] ^
|
||||||
Td3[Te4[(rk[3] ) & 0xff] & 0xff];
|
Td3[Te1[(rk[3] ) & 0xff] & 0xff];
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1051,31 +941,31 @@ void AES_encrypt(const unsigned char *in, unsigned char *out,
|
|||||||
* map cipher state to byte array block:
|
* map cipher state to byte array block:
|
||||||
*/
|
*/
|
||||||
s0 =
|
s0 =
|
||||||
(Te4[(t0 >> 24) ] & 0xff000000) ^
|
(Te2[(t0 >> 24) ] & 0xff000000) ^
|
||||||
(Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^
|
(Te3[(t1 >> 16) & 0xff] & 0x00ff0000) ^
|
||||||
(Te4[(t2 >> 8) & 0xff] & 0x0000ff00) ^
|
(Te0[(t2 >> 8) & 0xff] & 0x0000ff00) ^
|
||||||
(Te4[(t3 ) & 0xff] & 0x000000ff) ^
|
(Te1[(t3 ) & 0xff] & 0x000000ff) ^
|
||||||
rk[0];
|
rk[0];
|
||||||
PUTU32(out , s0);
|
PUTU32(out , s0);
|
||||||
s1 =
|
s1 =
|
||||||
(Te4[(t1 >> 24) ] & 0xff000000) ^
|
(Te2[(t1 >> 24) ] & 0xff000000) ^
|
||||||
(Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^
|
(Te3[(t2 >> 16) & 0xff] & 0x00ff0000) ^
|
||||||
(Te4[(t3 >> 8) & 0xff] & 0x0000ff00) ^
|
(Te0[(t3 >> 8) & 0xff] & 0x0000ff00) ^
|
||||||
(Te4[(t0 ) & 0xff] & 0x000000ff) ^
|
(Te1[(t0 ) & 0xff] & 0x000000ff) ^
|
||||||
rk[1];
|
rk[1];
|
||||||
PUTU32(out + 4, s1);
|
PUTU32(out + 4, s1);
|
||||||
s2 =
|
s2 =
|
||||||
(Te4[(t2 >> 24) ] & 0xff000000) ^
|
(Te2[(t2 >> 24) ] & 0xff000000) ^
|
||||||
(Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^
|
(Te3[(t3 >> 16) & 0xff] & 0x00ff0000) ^
|
||||||
(Te4[(t0 >> 8) & 0xff] & 0x0000ff00) ^
|
(Te0[(t0 >> 8) & 0xff] & 0x0000ff00) ^
|
||||||
(Te4[(t1 ) & 0xff] & 0x000000ff) ^
|
(Te1[(t1 ) & 0xff] & 0x000000ff) ^
|
||||||
rk[2];
|
rk[2];
|
||||||
PUTU32(out + 8, s2);
|
PUTU32(out + 8, s2);
|
||||||
s3 =
|
s3 =
|
||||||
(Te4[(t3 >> 24) ] & 0xff000000) ^
|
(Te2[(t3 >> 24) ] & 0xff000000) ^
|
||||||
(Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^
|
(Te3[(t0 >> 16) & 0xff] & 0x00ff0000) ^
|
||||||
(Te4[(t1 >> 8) & 0xff] & 0x0000ff00) ^
|
(Te0[(t1 >> 8) & 0xff] & 0x0000ff00) ^
|
||||||
(Te4[(t2 ) & 0xff] & 0x000000ff) ^
|
(Te1[(t2 ) & 0xff] & 0x000000ff) ^
|
||||||
rk[3];
|
rk[3];
|
||||||
PUTU32(out + 12, s3);
|
PUTU32(out + 12, s3);
|
||||||
}
|
}
|
||||||
@ -1242,31 +1132,31 @@ void AES_decrypt(const unsigned char *in, unsigned char *out,
|
|||||||
* map cipher state to byte array block:
|
* map cipher state to byte array block:
|
||||||
*/
|
*/
|
||||||
s0 =
|
s0 =
|
||||||
(Td4[(t0 >> 24) ] & 0xff000000) ^
|
(Td4[(t0 >> 24) ] << 24) ^
|
||||||
(Td4[(t3 >> 16) & 0xff] & 0x00ff0000) ^
|
(Td4[(t3 >> 16) & 0xff] << 16) ^
|
||||||
(Td4[(t2 >> 8) & 0xff] & 0x0000ff00) ^
|
(Td4[(t2 >> 8) & 0xff] << 8) ^
|
||||||
(Td4[(t1 ) & 0xff] & 0x000000ff) ^
|
(Td4[(t1 ) & 0xff]) ^
|
||||||
rk[0];
|
rk[0];
|
||||||
PUTU32(out , s0);
|
PUTU32(out , s0);
|
||||||
s1 =
|
s1 =
|
||||||
(Td4[(t1 >> 24) ] & 0xff000000) ^
|
(Td4[(t1 >> 24) ] << 24) ^
|
||||||
(Td4[(t0 >> 16) & 0xff] & 0x00ff0000) ^
|
(Td4[(t0 >> 16) & 0xff] << 16) ^
|
||||||
(Td4[(t3 >> 8) & 0xff] & 0x0000ff00) ^
|
(Td4[(t3 >> 8) & 0xff] << 8) ^
|
||||||
(Td4[(t2 ) & 0xff] & 0x000000ff) ^
|
(Td4[(t2 ) & 0xff]) ^
|
||||||
rk[1];
|
rk[1];
|
||||||
PUTU32(out + 4, s1);
|
PUTU32(out + 4, s1);
|
||||||
s2 =
|
s2 =
|
||||||
(Td4[(t2 >> 24) ] & 0xff000000) ^
|
(Td4[(t2 >> 24) ] << 24) ^
|
||||||
(Td4[(t1 >> 16) & 0xff] & 0x00ff0000) ^
|
(Td4[(t1 >> 16) & 0xff] << 16) ^
|
||||||
(Td4[(t0 >> 8) & 0xff] & 0x0000ff00) ^
|
(Td4[(t0 >> 8) & 0xff] << 8) ^
|
||||||
(Td4[(t3 ) & 0xff] & 0x000000ff) ^
|
(Td4[(t3 ) & 0xff]) ^
|
||||||
rk[2];
|
rk[2];
|
||||||
PUTU32(out + 8, s2);
|
PUTU32(out + 8, s2);
|
||||||
s3 =
|
s3 =
|
||||||
(Td4[(t3 >> 24) ] & 0xff000000) ^
|
(Td4[(t3 >> 24) ] << 24) ^
|
||||||
(Td4[(t2 >> 16) & 0xff] & 0x00ff0000) ^
|
(Td4[(t2 >> 16) & 0xff] << 16) ^
|
||||||
(Td4[(t1 >> 8) & 0xff] & 0x0000ff00) ^
|
(Td4[(t1 >> 8) & 0xff] << 8) ^
|
||||||
(Td4[(t0 ) & 0xff] & 0x000000ff) ^
|
(Td4[(t0 ) & 0xff]) ^
|
||||||
rk[3];
|
rk[3];
|
||||||
PUTU32(out + 12, s3);
|
PUTU32(out + 12, s3);
|
||||||
}
|
}
|
||||||
|
323
crypto/aes/aes_ige.c
Normal file
323
crypto/aes/aes_ige.c
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
/* crypto/aes/aes_ige.c -*- mode:C; c-file-style: "eay" -*- */
|
||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 2006 The OpenSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
* endorse or promote products derived from this software without
|
||||||
|
* prior written permission. For written permission, please contact
|
||||||
|
* openssl-core@openssl.org.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
* nor may "OpenSSL" appear in their names without prior written
|
||||||
|
* permission of the OpenSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "cryptlib.h"
|
||||||
|
|
||||||
|
#include <openssl/aes.h>
|
||||||
|
#include "aes_locl.h"
|
||||||
|
|
||||||
|
#define N_WORDS (AES_BLOCK_SIZE / sizeof(unsigned long))
|
||||||
|
typedef struct {
|
||||||
|
unsigned long data[N_WORDS];
|
||||||
|
} aes_block_t;
|
||||||
|
|
||||||
|
/* XXX: probably some better way to do this */
|
||||||
|
#if defined(__i386__) || defined(__x86_64__)
|
||||||
|
#define UNALIGNED_MEMOPS_ARE_FAST 1
|
||||||
|
#else
|
||||||
|
#define UNALIGNED_MEMOPS_ARE_FAST 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if UNALIGNED_MEMOPS_ARE_FAST
|
||||||
|
#define load_block(d, s) (d) = *(const aes_block_t *)(s)
|
||||||
|
#define store_block(d, s) *(aes_block_t *)(d) = (s)
|
||||||
|
#else
|
||||||
|
#define load_block(d, s) memcpy((d).data, (s), AES_BLOCK_SIZE)
|
||||||
|
#define store_block(d, s) memcpy((d), (s).data, AES_BLOCK_SIZE)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* N.B. The IV for this mode is _twice_ the block size */
|
||||||
|
|
||||||
|
void AES_ige_encrypt(const unsigned char *in, unsigned char *out,
|
||||||
|
const unsigned long length, const AES_KEY *key,
|
||||||
|
unsigned char *ivec, const int enc)
|
||||||
|
{
|
||||||
|
unsigned long n;
|
||||||
|
unsigned long len;
|
||||||
|
|
||||||
|
OPENSSL_assert(in && out && key && ivec);
|
||||||
|
OPENSSL_assert((AES_ENCRYPT == enc)||(AES_DECRYPT == enc));
|
||||||
|
OPENSSL_assert((length%AES_BLOCK_SIZE) == 0);
|
||||||
|
|
||||||
|
len = length / AES_BLOCK_SIZE;
|
||||||
|
|
||||||
|
if (AES_ENCRYPT == enc)
|
||||||
|
{
|
||||||
|
if (in != out &&
|
||||||
|
(UNALIGNED_MEMOPS_ARE_FAST || ((size_t)in|(size_t)out|(size_t)ivec)%sizeof(long)==0))
|
||||||
|
{
|
||||||
|
aes_block_t *ivp = (aes_block_t *)ivec;
|
||||||
|
aes_block_t *iv2p = (aes_block_t *)(ivec + AES_BLOCK_SIZE);
|
||||||
|
|
||||||
|
while (len)
|
||||||
|
{
|
||||||
|
aes_block_t *inp = (aes_block_t *)in;
|
||||||
|
aes_block_t *outp = (aes_block_t *)out;
|
||||||
|
|
||||||
|
for(n=0 ; n < N_WORDS; ++n)
|
||||||
|
outp->data[n] = inp->data[n] ^ ivp->data[n];
|
||||||
|
AES_encrypt((unsigned char *)outp->data, (unsigned char *)outp->data, key);
|
||||||
|
for(n=0 ; n < N_WORDS; ++n)
|
||||||
|
outp->data[n] ^= iv2p->data[n];
|
||||||
|
ivp = outp;
|
||||||
|
iv2p = inp;
|
||||||
|
--len;
|
||||||
|
in += AES_BLOCK_SIZE;
|
||||||
|
out += AES_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
memcpy(ivec, ivp->data, AES_BLOCK_SIZE);
|
||||||
|
memcpy(ivec + AES_BLOCK_SIZE, iv2p->data, AES_BLOCK_SIZE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
aes_block_t tmp, tmp2;
|
||||||
|
aes_block_t iv;
|
||||||
|
aes_block_t iv2;
|
||||||
|
|
||||||
|
load_block(iv, ivec);
|
||||||
|
load_block(iv2, ivec + AES_BLOCK_SIZE);
|
||||||
|
|
||||||
|
while (len)
|
||||||
|
{
|
||||||
|
load_block(tmp, in);
|
||||||
|
for(n=0 ; n < N_WORDS; ++n)
|
||||||
|
tmp2.data[n] = tmp.data[n] ^ iv.data[n];
|
||||||
|
AES_encrypt((unsigned char *)tmp2.data, (unsigned char *)tmp2.data, key);
|
||||||
|
for(n=0 ; n < N_WORDS; ++n)
|
||||||
|
tmp2.data[n] ^= iv2.data[n];
|
||||||
|
store_block(out, tmp2);
|
||||||
|
iv = tmp2;
|
||||||
|
iv2 = tmp;
|
||||||
|
--len;
|
||||||
|
in += AES_BLOCK_SIZE;
|
||||||
|
out += AES_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
memcpy(ivec, iv.data, AES_BLOCK_SIZE);
|
||||||
|
memcpy(ivec + AES_BLOCK_SIZE, iv2.data, AES_BLOCK_SIZE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (in != out &&
|
||||||
|
(UNALIGNED_MEMOPS_ARE_FAST || ((size_t)in|(size_t)out|(size_t)ivec)%sizeof(long)==0))
|
||||||
|
{
|
||||||
|
aes_block_t *ivp = (aes_block_t *)ivec;
|
||||||
|
aes_block_t *iv2p = (aes_block_t *)(ivec + AES_BLOCK_SIZE);
|
||||||
|
|
||||||
|
while (len)
|
||||||
|
{
|
||||||
|
aes_block_t tmp;
|
||||||
|
aes_block_t *inp = (aes_block_t *)in;
|
||||||
|
aes_block_t *outp = (aes_block_t *)out;
|
||||||
|
|
||||||
|
for(n=0 ; n < N_WORDS; ++n)
|
||||||
|
tmp.data[n] = inp->data[n] ^ iv2p->data[n];
|
||||||
|
AES_decrypt((unsigned char *)tmp.data, (unsigned char *)outp->data, key);
|
||||||
|
for(n=0 ; n < N_WORDS; ++n)
|
||||||
|
outp->data[n] ^= ivp->data[n];
|
||||||
|
ivp = inp;
|
||||||
|
iv2p = outp;
|
||||||
|
--len;
|
||||||
|
in += AES_BLOCK_SIZE;
|
||||||
|
out += AES_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
memcpy(ivec, ivp->data, AES_BLOCK_SIZE);
|
||||||
|
memcpy(ivec + AES_BLOCK_SIZE, iv2p->data, AES_BLOCK_SIZE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
aes_block_t tmp, tmp2;
|
||||||
|
aes_block_t iv;
|
||||||
|
aes_block_t iv2;
|
||||||
|
|
||||||
|
load_block(iv, ivec);
|
||||||
|
load_block(iv2, ivec + AES_BLOCK_SIZE);
|
||||||
|
|
||||||
|
while (len)
|
||||||
|
{
|
||||||
|
load_block(tmp, in);
|
||||||
|
tmp2 = tmp;
|
||||||
|
for(n=0 ; n < N_WORDS; ++n)
|
||||||
|
tmp.data[n] ^= iv2.data[n];
|
||||||
|
AES_decrypt((unsigned char *)tmp.data, (unsigned char *)tmp.data, key);
|
||||||
|
for(n=0 ; n < N_WORDS; ++n)
|
||||||
|
tmp.data[n] ^= iv.data[n];
|
||||||
|
store_block(out, tmp);
|
||||||
|
iv = tmp2;
|
||||||
|
iv2 = tmp;
|
||||||
|
--len;
|
||||||
|
in += AES_BLOCK_SIZE;
|
||||||
|
out += AES_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
memcpy(ivec, iv.data, AES_BLOCK_SIZE);
|
||||||
|
memcpy(ivec + AES_BLOCK_SIZE, iv2.data, AES_BLOCK_SIZE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Note that its effectively impossible to do biIGE in anything other
|
||||||
|
* than a single pass, so no provision is made for chaining.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* N.B. The IV for this mode is _four times_ the block size */
|
||||||
|
|
||||||
|
void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out,
|
||||||
|
const unsigned long length, const AES_KEY *key,
|
||||||
|
const AES_KEY *key2, const unsigned char *ivec,
|
||||||
|
const int enc)
|
||||||
|
{
|
||||||
|
unsigned long n;
|
||||||
|
unsigned long len = length;
|
||||||
|
unsigned char tmp[AES_BLOCK_SIZE];
|
||||||
|
unsigned char tmp2[AES_BLOCK_SIZE];
|
||||||
|
unsigned char tmp3[AES_BLOCK_SIZE];
|
||||||
|
unsigned char prev[AES_BLOCK_SIZE];
|
||||||
|
const unsigned char *iv;
|
||||||
|
const unsigned char *iv2;
|
||||||
|
|
||||||
|
OPENSSL_assert(in && out && key && ivec);
|
||||||
|
OPENSSL_assert((AES_ENCRYPT == enc)||(AES_DECRYPT == enc));
|
||||||
|
OPENSSL_assert((length%AES_BLOCK_SIZE) == 0);
|
||||||
|
|
||||||
|
if (AES_ENCRYPT == enc)
|
||||||
|
{
|
||||||
|
/* XXX: Do a separate case for when in != out (strictly should
|
||||||
|
check for overlap, too) */
|
||||||
|
|
||||||
|
/* First the forward pass */
|
||||||
|
iv = ivec;
|
||||||
|
iv2 = ivec + AES_BLOCK_SIZE;
|
||||||
|
while (len >= AES_BLOCK_SIZE)
|
||||||
|
{
|
||||||
|
for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
|
||||||
|
out[n] = in[n] ^ iv[n];
|
||||||
|
AES_encrypt(out, out, key);
|
||||||
|
for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
|
||||||
|
out[n] ^= iv2[n];
|
||||||
|
iv = out;
|
||||||
|
memcpy(prev, in, AES_BLOCK_SIZE);
|
||||||
|
iv2 = prev;
|
||||||
|
len -= AES_BLOCK_SIZE;
|
||||||
|
in += AES_BLOCK_SIZE;
|
||||||
|
out += AES_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* And now backwards */
|
||||||
|
iv = ivec + AES_BLOCK_SIZE*2;
|
||||||
|
iv2 = ivec + AES_BLOCK_SIZE*3;
|
||||||
|
len = length;
|
||||||
|
while(len >= AES_BLOCK_SIZE)
|
||||||
|
{
|
||||||
|
out -= AES_BLOCK_SIZE;
|
||||||
|
/* XXX: reduce copies by alternating between buffers */
|
||||||
|
memcpy(tmp, out, AES_BLOCK_SIZE);
|
||||||
|
for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
|
||||||
|
out[n] ^= iv[n];
|
||||||
|
/* hexdump(stdout, "out ^ iv", out, AES_BLOCK_SIZE); */
|
||||||
|
AES_encrypt(out, out, key);
|
||||||
|
/* hexdump(stdout,"enc", out, AES_BLOCK_SIZE); */
|
||||||
|
/* hexdump(stdout,"iv2", iv2, AES_BLOCK_SIZE); */
|
||||||
|
for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
|
||||||
|
out[n] ^= iv2[n];
|
||||||
|
/* hexdump(stdout,"out", out, AES_BLOCK_SIZE); */
|
||||||
|
iv = out;
|
||||||
|
memcpy(prev, tmp, AES_BLOCK_SIZE);
|
||||||
|
iv2 = prev;
|
||||||
|
len -= AES_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* First backwards */
|
||||||
|
iv = ivec + AES_BLOCK_SIZE*2;
|
||||||
|
iv2 = ivec + AES_BLOCK_SIZE*3;
|
||||||
|
in += length;
|
||||||
|
out += length;
|
||||||
|
while (len >= AES_BLOCK_SIZE)
|
||||||
|
{
|
||||||
|
in -= AES_BLOCK_SIZE;
|
||||||
|
out -= AES_BLOCK_SIZE;
|
||||||
|
memcpy(tmp, in, AES_BLOCK_SIZE);
|
||||||
|
memcpy(tmp2, in, AES_BLOCK_SIZE);
|
||||||
|
for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
|
||||||
|
tmp[n] ^= iv2[n];
|
||||||
|
AES_decrypt(tmp, out, key);
|
||||||
|
for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
|
||||||
|
out[n] ^= iv[n];
|
||||||
|
memcpy(tmp3, tmp2, AES_BLOCK_SIZE);
|
||||||
|
iv = tmp3;
|
||||||
|
iv2 = out;
|
||||||
|
len -= AES_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* And now forwards */
|
||||||
|
iv = ivec;
|
||||||
|
iv2 = ivec + AES_BLOCK_SIZE;
|
||||||
|
len = length;
|
||||||
|
while (len >= AES_BLOCK_SIZE)
|
||||||
|
{
|
||||||
|
memcpy(tmp, out, AES_BLOCK_SIZE);
|
||||||
|
memcpy(tmp2, out, AES_BLOCK_SIZE);
|
||||||
|
for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
|
||||||
|
tmp[n] ^= iv2[n];
|
||||||
|
AES_decrypt(tmp, out, key);
|
||||||
|
for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
|
||||||
|
out[n] ^= iv[n];
|
||||||
|
memcpy(tmp3, tmp2, AES_BLOCK_SIZE);
|
||||||
|
iv = tmp3;
|
||||||
|
iv2 = out;
|
||||||
|
len -= AES_BLOCK_SIZE;
|
||||||
|
in += AES_BLOCK_SIZE;
|
||||||
|
out += AES_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -62,7 +62,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#if defined(_MSC_VER) && !defined(_M_IA64) && !defined(OPENSSL_SYS_WINCE)
|
#if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64))
|
||||||
# define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00)
|
# define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00)
|
||||||
# define GETU32(p) SWAP(*((u32 *)(p)))
|
# define GETU32(p) SWAP(*((u32 *)(p)))
|
||||||
# define PUTU32(ct, st) { *((u32 *)(ct)) = SWAP((st)); }
|
# define PUTU32(ct, st) { *((u32 *)(ct)) = SWAP((st)); }
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
#include <openssl/aes.h>
|
#include <openssl/aes.h>
|
||||||
#include "aes_locl.h"
|
#include "aes_locl.h"
|
||||||
|
|
||||||
const char *AES_version="AES" OPENSSL_VERSION_PTEXT;
|
const char AES_version[]="AES" OPENSSL_VERSION_PTEXT;
|
||||||
|
|
||||||
const char *AES_options(void) {
|
const char *AES_options(void) {
|
||||||
#ifdef FULL_UNROLL
|
#ifdef FULL_UNROLL
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1071
crypto/aes/asm/aes-s390x.pl
Normal file
1071
crypto/aes/asm/aes-s390x.pl
Normal file
File diff suppressed because it is too large
Load Diff
2498
crypto/aes/asm/aes-x86_64.pl
Executable file
2498
crypto/aes/asm/aes-x86_64.pl
Executable file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# SSLeay/crypto/asn1/Makefile
|
# OpenSSL/crypto/asn1/Makefile
|
||||||
#
|
#
|
||||||
|
|
||||||
DIR= asn1
|
DIR= asn1
|
||||||
@ -63,7 +63,7 @@ pk: pk.c
|
|||||||
all: lib
|
all: lib
|
||||||
|
|
||||||
lib: $(LIBOBJ)
|
lib: $(LIBOBJ)
|
||||||
$(AR) $(LIB) $(LIBOBJ)
|
$(ARX) $(LIB) $(LIBOBJ)
|
||||||
$(RANLIB) $(LIB) || echo Never mind.
|
$(RANLIB) $(LIB) || echo Never mind.
|
||||||
@touch lib
|
@touch lib
|
||||||
|
|
||||||
@ -142,9 +142,9 @@ a_digest.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
|||||||
a_digest.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
a_digest.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
a_digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
a_digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
a_digest.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
a_digest.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
a_digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
a_digest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
a_digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
a_digest.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
a_digest.o: ../../include/openssl/opensslconf.h
|
a_digest.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
a_digest.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
a_digest.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
a_digest.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
a_digest.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
a_digest.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
a_digest.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
@ -250,27 +250,27 @@ a_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
|||||||
a_sign.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
a_sign.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
a_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
a_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
a_sign.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
a_sign.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
a_sign.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
a_sign.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
a_sign.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
a_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
a_sign.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
a_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
a_sign.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
a_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
a_sign.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
a_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
a_sign.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
a_sign.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
a_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
a_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
||||||
a_sign.o: ../cryptlib.h a_sign.c
|
a_sign.o: ../../include/openssl/x509_vfy.h ../cryptlib.h a_sign.c
|
||||||
a_strex.o: ../../e_os.h ../../include/openssl/asn1.h
|
a_strex.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
a_strex.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
a_strex.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
a_strex.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
a_strex.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
a_strex.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
a_strex.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
a_strex.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
a_strex.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
a_strex.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
a_strex.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
a_strex.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
a_strex.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
a_strex.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
a_strex.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
a_strex.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
a_strex.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
a_strex.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
a_strex.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
a_strex.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
a_strex.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
a_strex.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
a_strex.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
||||||
a_strex.o: ../cryptlib.h a_strex.c charmap.h
|
a_strex.o: ../../include/openssl/x509_vfy.h ../cryptlib.h a_strex.c charmap.h
|
||||||
a_strnid.o: ../../e_os.h ../../include/openssl/asn1.h
|
a_strnid.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
a_strnid.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
a_strnid.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
a_strnid.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
a_strnid.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
@ -317,8 +317,9 @@ a_verify.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
|||||||
a_verify.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
a_verify.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
a_verify.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
a_verify.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
a_verify.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
a_verify.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
a_verify.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
a_verify.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
a_verify.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
a_verify.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
|
a_verify.o: ../../include/openssl/opensslconf.h
|
||||||
a_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
a_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
a_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
a_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
a_verify.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
a_verify.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
@ -337,8 +338,9 @@ asn1_gen.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
|||||||
asn1_gen.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
asn1_gen.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
asn1_gen.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
asn1_gen.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
asn1_gen.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
asn1_gen.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
asn1_gen.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
asn1_gen.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
asn1_gen.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
asn1_gen.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
|
asn1_gen.o: ../../include/openssl/opensslconf.h
|
||||||
asn1_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
asn1_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
asn1_gen.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
asn1_gen.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
asn1_gen.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
asn1_gen.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
@ -368,9 +370,9 @@ asn_moid.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
|||||||
asn_moid.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
|
asn_moid.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
|
||||||
asn_moid.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
asn_moid.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
asn_moid.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
asn_moid.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
asn_moid.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
asn_moid.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
asn_moid.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
asn_moid.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
asn_moid.o: ../../include/openssl/opensslconf.h
|
asn_moid.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
asn_moid.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
asn_moid.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
asn_moid.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
asn_moid.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
asn_moid.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
asn_moid.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
@ -389,23 +391,23 @@ d2i_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
|||||||
d2i_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
d2i_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
||||||
d2i_pr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
d2i_pr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
d2i_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
d2i_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
d2i_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
d2i_pr.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
d2i_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
d2i_pr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
d2i_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
d2i_pr.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
d2i_pr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
d2i_pr.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
|
||||||
d2i_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
d2i_pr.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||||
d2i_pr.o: ../cryptlib.h d2i_pr.c
|
d2i_pr.o: ../../include/openssl/symhacks.h ../cryptlib.h d2i_pr.c
|
||||||
d2i_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
d2i_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
d2i_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
d2i_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
||||||
d2i_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
d2i_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
||||||
d2i_pu.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
d2i_pu.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
d2i_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
d2i_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
d2i_pu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
d2i_pu.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
d2i_pu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
d2i_pu.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
d2i_pu.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
d2i_pu.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
d2i_pu.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
d2i_pu.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
|
||||||
d2i_pu.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
d2i_pu.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||||
d2i_pu.o: ../cryptlib.h d2i_pu.c
|
d2i_pu.o: ../../include/openssl/symhacks.h ../cryptlib.h d2i_pu.c
|
||||||
evp_asn1.o: ../../e_os.h ../../include/openssl/asn1.h
|
evp_asn1.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
evp_asn1.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
|
evp_asn1.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
|
||||||
evp_asn1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
evp_asn1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
@ -441,71 +443,73 @@ i2d_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
|||||||
i2d_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
i2d_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
||||||
i2d_pr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
i2d_pr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
i2d_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
i2d_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
i2d_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
i2d_pr.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
i2d_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
i2d_pr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
i2d_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
i2d_pr.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
i2d_pr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
i2d_pr.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
|
||||||
i2d_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
i2d_pr.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||||
i2d_pr.o: ../cryptlib.h i2d_pr.c
|
i2d_pr.o: ../../include/openssl/symhacks.h ../cryptlib.h i2d_pr.c
|
||||||
i2d_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
i2d_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
i2d_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
i2d_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
||||||
i2d_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
i2d_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
||||||
i2d_pu.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
i2d_pu.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
i2d_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
i2d_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
i2d_pu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
i2d_pu.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
i2d_pu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
i2d_pu.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
i2d_pu.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
i2d_pu.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
i2d_pu.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
i2d_pu.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
|
||||||
i2d_pu.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
i2d_pu.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||||
i2d_pu.o: ../cryptlib.h i2d_pu.c
|
i2d_pu.o: ../../include/openssl/symhacks.h ../cryptlib.h i2d_pu.c
|
||||||
n_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
|
n_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
n_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h
|
n_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h
|
||||||
n_pkey.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
n_pkey.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
n_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
n_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
n_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
n_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
n_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
n_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
n_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
n_pkey.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
n_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
n_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
n_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
n_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
n_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
n_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
n_pkey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
n_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
|
||||||
n_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
n_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
n_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
n_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
n_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h n_pkey.c
|
n_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
n_pkey.o: ../cryptlib.h n_pkey.c
|
||||||
nsseq.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
nsseq.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
||||||
nsseq.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
nsseq.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
nsseq.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
nsseq.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
nsseq.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
nsseq.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
nsseq.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
|
nsseq.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
|
||||||
nsseq.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
nsseq.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
nsseq.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
nsseq.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
nsseq.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
nsseq.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
nsseq.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
nsseq.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
nsseq.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
nsseq.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
nsseq.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
nsseq.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
nsseq.o: ../../include/openssl/x509_vfy.h nsseq.c
|
nsseq.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h nsseq.c
|
||||||
p5_pbe.o: ../../e_os.h ../../include/openssl/asn1.h
|
p5_pbe.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
p5_pbe.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
p5_pbe.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
p5_pbe.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
p5_pbe.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
p5_pbe.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
p5_pbe.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
p5_pbe.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
p5_pbe.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
p5_pbe.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
p5_pbe.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
p5_pbe.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
p5_pbe.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
p5_pbe.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
p5_pbe.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
p5_pbe.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
p5_pbe.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
p5_pbe.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
|
p5_pbe.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
p5_pbe.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
p5_pbe.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
|
||||||
p5_pbe.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
p5_pbe.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
p5_pbe.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
p5_pbe.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
||||||
p5_pbe.o: ../cryptlib.h p5_pbe.c
|
p5_pbe.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p5_pbe.c
|
||||||
p5_pbev2.o: ../../e_os.h ../../include/openssl/asn1.h
|
p5_pbev2.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
p5_pbev2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
p5_pbev2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
p5_pbev2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
p5_pbev2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
p5_pbev2.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
p5_pbev2.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
p5_pbev2.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
p5_pbev2.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
p5_pbev2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
p5_pbev2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
p5_pbev2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
p5_pbev2.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
p5_pbev2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
p5_pbev2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
|
p5_pbev2.o: ../../include/openssl/opensslconf.h
|
||||||
p5_pbev2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
p5_pbev2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
p5_pbev2.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
|
p5_pbev2.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
|
||||||
p5_pbev2.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
p5_pbev2.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
@ -518,41 +522,42 @@ p8_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
|||||||
p8_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
p8_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
p8_pkey.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
p8_pkey.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
p8_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
p8_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
p8_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
p8_pkey.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
p8_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
p8_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
p8_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
p8_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
p8_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
p8_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
p8_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
p8_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
p8_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
p8_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
p8_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p8_pkey.c
|
p8_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
p8_pkey.o: ../cryptlib.h p8_pkey.c
|
||||||
t_bitst.o: ../../e_os.h ../../include/openssl/asn1.h
|
t_bitst.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
t_bitst.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
t_bitst.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
t_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
t_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
||||||
t_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
t_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
t_bitst.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
t_bitst.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
t_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
t_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
t_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
t_bitst.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
t_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
t_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
t_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
t_bitst.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
t_bitst.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
t_bitst.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
t_bitst.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
t_bitst.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
t_bitst.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
t_bitst.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
t_bitst.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
|
t_bitst.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
t_bitst.o: ../cryptlib.h t_bitst.c
|
t_bitst.o: ../../include/openssl/x509v3.h ../cryptlib.h t_bitst.c
|
||||||
t_crl.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
t_crl.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
t_crl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
t_crl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
||||||
t_crl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
t_crl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
||||||
t_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
t_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
t_crl.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
t_crl.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
t_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
t_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
t_crl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
t_crl.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
t_crl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
t_crl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
t_crl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
t_crl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
t_crl.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
t_crl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
t_crl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
t_crl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
t_crl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
t_crl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
t_crl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
|
t_crl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
t_crl.o: ../cryptlib.h t_crl.c
|
t_crl.o: ../../include/openssl/x509v3.h ../cryptlib.h t_crl.c
|
||||||
t_pkey.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
t_pkey.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
t_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
t_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
||||||
t_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
|
t_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
|
||||||
@ -570,57 +575,57 @@ t_req.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
|||||||
t_req.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
|
t_req.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
|
||||||
t_req.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
t_req.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
t_req.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
t_req.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
t_req.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
t_req.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
t_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
t_req.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
t_req.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
t_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
t_req.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
t_req.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
t_req.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
t_req.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
|
||||||
t_req.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
t_req.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
t_req.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
t_req.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
t_req.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
|
t_req.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
t_req.o: ../cryptlib.h t_req.c
|
t_req.o: ../../include/openssl/x509v3.h ../cryptlib.h t_req.c
|
||||||
t_spki.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
t_spki.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
t_spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
t_spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
||||||
t_spki.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
t_spki.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
|
||||||
t_spki.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
t_spki.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
t_spki.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
t_spki.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
t_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
t_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
t_spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
t_spki.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
t_spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
t_spki.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
t_spki.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
t_spki.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
t_spki.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
|
t_spki.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
t_spki.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
t_spki.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
||||||
t_spki.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
t_spki.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
t_spki.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
t_spki.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
||||||
t_spki.o: ../cryptlib.h t_spki.c
|
t_spki.o: ../../include/openssl/x509_vfy.h ../cryptlib.h t_spki.c
|
||||||
t_x509.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
t_x509.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
t_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
t_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
||||||
t_x509.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
t_x509.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
|
||||||
t_x509.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
|
t_x509.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
|
||||||
t_x509.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
t_x509.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
t_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
t_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
t_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
t_x509.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
t_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
t_x509.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
t_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
t_x509.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
t_x509.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
t_x509.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
t_x509.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
t_x509.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
|
||||||
t_x509.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
t_x509.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
t_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
t_x509.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
t_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
|
t_x509.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
t_x509.o: ../cryptlib.h t_x509.c
|
t_x509.o: ../../include/openssl/x509v3.h ../cryptlib.h t_x509.c
|
||||||
t_x509a.o: ../../e_os.h ../../include/openssl/asn1.h
|
t_x509a.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
t_x509a.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
t_x509a.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
t_x509a.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
t_x509a.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
t_x509a.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
t_x509a.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
t_x509a.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
t_x509a.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
t_x509a.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
t_x509a.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
t_x509a.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
t_x509a.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
t_x509a.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
t_x509a.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
t_x509a.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
t_x509a.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
t_x509a.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
t_x509a.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
t_x509a.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
t_x509a.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
t_x509a.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
t_x509a.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
||||||
t_x509a.o: ../cryptlib.h t_x509a.c
|
t_x509a.o: ../../include/openssl/x509_vfy.h ../cryptlib.h t_x509a.c
|
||||||
tasn_dec.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
tasn_dec.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
||||||
tasn_dec.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
tasn_dec.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
tasn_dec.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
tasn_dec.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
@ -630,13 +635,15 @@ tasn_dec.o: ../../include/openssl/opensslconf.h
|
|||||||
tasn_dec.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
tasn_dec.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
tasn_dec.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
tasn_dec.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||||
tasn_dec.o: ../../include/openssl/symhacks.h tasn_dec.c
|
tasn_dec.o: ../../include/openssl/symhacks.h tasn_dec.c
|
||||||
tasn_enc.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
tasn_enc.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
tasn_enc.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
|
tasn_enc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
tasn_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/obj_mac.h
|
tasn_enc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
|
tasn_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
||||||
|
tasn_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
tasn_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
tasn_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
tasn_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
tasn_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
tasn_enc.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
tasn_enc.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||||
tasn_enc.o: ../../include/openssl/symhacks.h tasn_enc.c
|
tasn_enc.o: ../../include/openssl/symhacks.h ../cryptlib.h tasn_enc.c
|
||||||
tasn_fre.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
tasn_fre.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
||||||
tasn_fre.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
|
tasn_fre.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
|
||||||
tasn_fre.o: ../../include/openssl/e_os2.h ../../include/openssl/obj_mac.h
|
tasn_fre.o: ../../include/openssl/e_os2.h ../../include/openssl/obj_mac.h
|
||||||
@ -671,21 +678,23 @@ x_algor.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
|||||||
x_algor.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
x_algor.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
x_algor.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
x_algor.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
x_algor.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
|
x_algor.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
|
||||||
x_algor.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_algor.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_algor.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_algor.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_algor.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_algor.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_algor.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_algor.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_algor.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_algor.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_algor.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_algor.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_algor.o: ../../include/openssl/x509_vfy.h x_algor.c
|
x_algor.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_algor.o: x_algor.c
|
||||||
x_attrib.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_attrib.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_attrib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
x_attrib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
x_attrib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
x_attrib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
x_attrib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_attrib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_attrib.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_attrib.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_attrib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_attrib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_attrib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_attrib.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_attrib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_attrib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
|
x_attrib.o: ../../include/openssl/opensslconf.h
|
||||||
x_attrib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_attrib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
x_attrib.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_attrib.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
x_attrib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_attrib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
@ -706,37 +715,40 @@ x_crl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
|||||||
x_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_crl.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_crl.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_crl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_crl.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_crl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_crl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_crl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_crl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_crl.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_crl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_crl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_crl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_crl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_crl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_crl.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_crl.c
|
x_crl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_crl.o: ../cryptlib.h x_crl.c
|
||||||
x_exten.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
x_exten.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
|
||||||
x_exten.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
x_exten.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
x_exten.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
x_exten.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
x_exten.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
x_exten.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
x_exten.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
|
x_exten.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
|
||||||
x_exten.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_exten.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_exten.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_exten.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_exten.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_exten.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_exten.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_exten.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_exten.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_exten.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_exten.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_exten.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_exten.o: ../../include/openssl/x509_vfy.h x_exten.c
|
x_exten.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_exten.o: x_exten.c
|
||||||
x_info.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
x_info.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
x_info.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
x_info.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
x_info.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_info.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_info.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_info.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_info.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_info.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_info.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_info.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_info.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_info.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_info.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_info.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_info.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_info.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_info.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_info.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_info.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_info.c
|
x_info.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_info.o: ../cryptlib.h x_info.c
|
||||||
x_long.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_long.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_long.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
x_long.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
x_long.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
x_long.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
||||||
@ -752,35 +764,37 @@ x_name.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
|||||||
x_name.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_name.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_name.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_name.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_name.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_name.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_name.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_name.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_name.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_name.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_name.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_name.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_name.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_name.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_name.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_name.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_name.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_name.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_name.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_name.c
|
x_name.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_name.o: ../cryptlib.h x_name.c
|
||||||
x_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
|
x_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
|
||||||
x_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
x_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
x_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_pkey.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_pkey.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_pkey.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_pkey.c
|
x_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_pkey.o: ../cryptlib.h x_pkey.c
|
||||||
x_pubkey.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_pubkey.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_pubkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
x_pubkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
x_pubkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
x_pubkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
x_pubkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
|
x_pubkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
|
||||||
x_pubkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
x_pubkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
x_pubkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
x_pubkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
x_pubkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
x_pubkey.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
x_pubkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
x_pubkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
x_pubkey.o: ../../include/openssl/opensslconf.h
|
x_pubkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
x_pubkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_pubkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
x_pubkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
|
x_pubkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
|
||||||
x_pubkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
x_pubkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
@ -793,76 +807,82 @@ x_req.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
|||||||
x_req.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_req.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_req.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_req.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_req.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_req.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_req.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_req.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_req.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_req.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_req.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_req.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_req.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_req.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_req.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_req.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_req.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_req.c
|
x_req.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_req.o: ../cryptlib.h x_req.c
|
||||||
x_sig.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_sig.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_sig.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
x_sig.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
x_sig.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
x_sig.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
x_sig.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_sig.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_sig.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_sig.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_sig.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_sig.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_sig.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_sig.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_sig.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_sig.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_sig.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_sig.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_sig.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_sig.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_sig.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_sig.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_sig.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_sig.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_sig.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_sig.c
|
x_sig.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_sig.o: ../cryptlib.h x_sig.c
|
||||||
x_spki.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_spki.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
x_spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
x_spki.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
x_spki.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
x_spki.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_spki.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_spki.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_spki.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_spki.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_spki.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_spki.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_spki.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_spki.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_spki.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_spki.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_spki.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_spki.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_spki.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_spki.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_spki.c
|
x_spki.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_spki.o: ../cryptlib.h x_spki.c
|
||||||
x_val.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_val.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_val.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
x_val.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
x_val.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
x_val.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
x_val.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_val.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_val.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_val.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_val.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_val.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_val.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_val.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_val.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_val.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_val.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_val.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_val.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_val.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_val.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_val.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_val.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_val.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_val.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_val.c
|
x_val.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_val.o: ../cryptlib.h x_val.c
|
||||||
x_x509.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_x509.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
x_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
x_x509.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
|
x_x509.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
|
||||||
x_x509.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
x_x509.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||||
x_x509.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
x_x509.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
|
||||||
x_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
x_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
|
||||||
x_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
x_x509.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
|
||||||
x_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
x_x509.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||||
x_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
x_x509.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
x_x509.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
x_x509.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||||
x_x509.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
x_x509.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
||||||
x_x509.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
x_x509.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
x_x509.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
x_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
||||||
x_x509.o: ../../include/openssl/x509v3.h ../cryptlib.h x_x509.c
|
x_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
|
||||||
|
x_x509.o: ../cryptlib.h x_x509.c
|
||||||
x_x509a.o: ../../e_os.h ../../include/openssl/asn1.h
|
x_x509a.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||||
x_x509a.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
x_x509a.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
|
||||||
x_x509a.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
x_x509a.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||||
x_x509a.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
x_x509a.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
|
||||||
x_x509a.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
x_x509a.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
|
||||||
x_x509a.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
x_x509a.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
x_x509a.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
x_x509a.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
|
||||||
x_x509a.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
x_x509a.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
x_x509a.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
x_x509a.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
x_x509a.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
|
x_x509a.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
|
||||||
x_x509a.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
x_x509a.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
x_x509a.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
x_x509a.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
x_x509a.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_x509a.c
|
x_x509a.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
|
||||||
|
x_x509a.o: ../cryptlib.h x_x509a.c
|
||||||
|
@ -183,9 +183,11 @@ int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
|
|||||||
iv= ~v;
|
iv= ~v;
|
||||||
if (!value) v=0;
|
if (!value) v=0;
|
||||||
|
|
||||||
|
if (a == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
a->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear, set on write */
|
a->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear, set on write */
|
||||||
|
|
||||||
if (a == NULL) return(0);
|
|
||||||
if ((a->length < (w+1)) || (a->data == NULL))
|
if ((a->length < (w+1)) || (a->data == NULL))
|
||||||
{
|
{
|
||||||
if (!value) return(1); /* Don't need to set */
|
if (!value) return(1); /* Don't need to set */
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <limits.h>
|
||||||
#include "cryptlib.h"
|
#include "cryptlib.h"
|
||||||
#include <openssl/buffer.h>
|
#include <openssl/buffer.h>
|
||||||
#include <openssl/asn1.h>
|
#include <openssl/asn1.h>
|
||||||
@ -83,10 +84,12 @@ int i2d_ASN1_OBJECT(ASN1_OBJECT *a, unsigned char **pp)
|
|||||||
|
|
||||||
int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
|
int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
|
||||||
{
|
{
|
||||||
int i,first,len=0,c;
|
int i,first,len=0,c, use_bn;
|
||||||
char tmp[24];
|
char ftmp[24], *tmp = ftmp;
|
||||||
|
int tmpsize = sizeof ftmp;
|
||||||
const char *p;
|
const char *p;
|
||||||
unsigned long l;
|
unsigned long l;
|
||||||
|
BIGNUM *bl = NULL;
|
||||||
|
|
||||||
if (num == 0)
|
if (num == 0)
|
||||||
return(0);
|
return(0);
|
||||||
@ -98,7 +101,7 @@ int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
|
|||||||
num--;
|
num--;
|
||||||
if ((c >= '0') && (c <= '2'))
|
if ((c >= '0') && (c <= '2'))
|
||||||
{
|
{
|
||||||
first=(c-'0')*40;
|
first= c-'0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -122,6 +125,7 @@ int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
l=0;
|
l=0;
|
||||||
|
use_bn = 0;
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
if (num <= 0) break;
|
if (num <= 0) break;
|
||||||
@ -134,7 +138,22 @@ int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
|
|||||||
ASN1err(ASN1_F_A2D_ASN1_OBJECT,ASN1_R_INVALID_DIGIT);
|
ASN1err(ASN1_F_A2D_ASN1_OBJECT,ASN1_R_INVALID_DIGIT);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
l=l*10L+(long)(c-'0');
|
if (!use_bn && l > (ULONG_MAX / 10L))
|
||||||
|
{
|
||||||
|
use_bn = 1;
|
||||||
|
if (!bl)
|
||||||
|
bl = BN_new();
|
||||||
|
if (!bl || !BN_set_word(bl, l))
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
if (use_bn)
|
||||||
|
{
|
||||||
|
if (!BN_mul_word(bl, 10L)
|
||||||
|
|| !BN_add_word(bl, c-'0'))
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
l=l*10L+(long)(c-'0');
|
||||||
}
|
}
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
{
|
{
|
||||||
@ -143,14 +162,42 @@ int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
|
|||||||
ASN1err(ASN1_F_A2D_ASN1_OBJECT,ASN1_R_SECOND_NUMBER_TOO_LARGE);
|
ASN1err(ASN1_F_A2D_ASN1_OBJECT,ASN1_R_SECOND_NUMBER_TOO_LARGE);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
l+=(long)first;
|
if (use_bn)
|
||||||
|
{
|
||||||
|
if (!BN_add_word(bl, first * 40))
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
l+=(long)first*40;
|
||||||
}
|
}
|
||||||
i=0;
|
i=0;
|
||||||
for (;;)
|
if (use_bn)
|
||||||
{
|
{
|
||||||
tmp[i++]=(unsigned char)l&0x7f;
|
int blsize;
|
||||||
l>>=7L;
|
blsize = BN_num_bits(bl);
|
||||||
if (l == 0L) break;
|
blsize = (blsize + 6)/7;
|
||||||
|
if (blsize > tmpsize)
|
||||||
|
{
|
||||||
|
if (tmp != ftmp)
|
||||||
|
OPENSSL_free(tmp);
|
||||||
|
tmpsize = blsize + 32;
|
||||||
|
tmp = OPENSSL_malloc(tmpsize);
|
||||||
|
if (!tmp)
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
while(blsize--)
|
||||||
|
tmp[i++] = (unsigned char)BN_div_word(bl, 0x80L);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
tmp[i++]=(unsigned char)l&0x7f;
|
||||||
|
l>>=7L;
|
||||||
|
if (l == 0L) break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (out != NULL)
|
if (out != NULL)
|
||||||
{
|
{
|
||||||
@ -166,8 +213,16 @@ int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
|
|||||||
else
|
else
|
||||||
len+=i;
|
len+=i;
|
||||||
}
|
}
|
||||||
|
if (tmp != ftmp)
|
||||||
|
OPENSSL_free(tmp);
|
||||||
|
if (bl)
|
||||||
|
BN_free(bl);
|
||||||
return(len);
|
return(len);
|
||||||
err:
|
err:
|
||||||
|
if (tmp != ftmp)
|
||||||
|
OPENSSL_free(tmp);
|
||||||
|
if (bl)
|
||||||
|
BN_free(bl);
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,14 +233,24 @@ int i2t_ASN1_OBJECT(char *buf, int buf_len, ASN1_OBJECT *a)
|
|||||||
|
|
||||||
int i2a_ASN1_OBJECT(BIO *bp, ASN1_OBJECT *a)
|
int i2a_ASN1_OBJECT(BIO *bp, ASN1_OBJECT *a)
|
||||||
{
|
{
|
||||||
char buf[80];
|
char buf[80], *p = buf;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if ((a == NULL) || (a->data == NULL))
|
if ((a == NULL) || (a->data == NULL))
|
||||||
return(BIO_write(bp,"NULL",4));
|
return(BIO_write(bp,"NULL",4));
|
||||||
i=i2t_ASN1_OBJECT(buf,sizeof buf,a);
|
i=i2t_ASN1_OBJECT(buf,sizeof buf,a);
|
||||||
if (i > (int)sizeof(buf)) i=sizeof buf;
|
if (i > (int)(sizeof(buf) - 1))
|
||||||
BIO_write(bp,buf,i);
|
{
|
||||||
|
p = OPENSSL_malloc(i + 1);
|
||||||
|
if (!p)
|
||||||
|
return -1;
|
||||||
|
i2t_ASN1_OBJECT(p,i + 1,a);
|
||||||
|
}
|
||||||
|
if (i <= 0)
|
||||||
|
return BIO_write(bp, "<INVALID>", 9);
|
||||||
|
BIO_write(bp,p,i);
|
||||||
|
if (p != buf)
|
||||||
|
OPENSSL_free(p);
|
||||||
return(i);
|
return(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ static int do_buf(unsigned char *buf, int buflen,
|
|||||||
q = buf + buflen;
|
q = buf + buflen;
|
||||||
outlen = 0;
|
outlen = 0;
|
||||||
while(p != q) {
|
while(p != q) {
|
||||||
if(p == buf) orflags = CHARTYPE_FIRST_ESC_2253;
|
if(p == buf && flags & ASN1_STRFLGS_ESC_2253) orflags = CHARTYPE_FIRST_ESC_2253;
|
||||||
else orflags = 0;
|
else orflags = 0;
|
||||||
switch(type & BUF_TYPE_WIDTH_MASK) {
|
switch(type & BUF_TYPE_WIDTH_MASK) {
|
||||||
case 4:
|
case 4:
|
||||||
@ -194,8 +194,10 @@ static int do_buf(unsigned char *buf, int buflen,
|
|||||||
if(i < 0) return -1; /* Invalid UTF8String */
|
if(i < 0) return -1; /* Invalid UTF8String */
|
||||||
p += i;
|
p += i;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
return -1; /* invalid width */
|
||||||
}
|
}
|
||||||
if (p == q) orflags = CHARTYPE_LAST_ESC_2253;
|
if (p == q && flags & ASN1_STRFLGS_ESC_2253) orflags = CHARTYPE_LAST_ESC_2253;
|
||||||
if(type & BUF_TYPE_CONVUTF8) {
|
if(type & BUF_TYPE_CONVUTF8) {
|
||||||
unsigned char utfbuf[6];
|
unsigned char utfbuf[6];
|
||||||
int utflen;
|
int utflen;
|
||||||
@ -223,7 +225,7 @@ static int do_buf(unsigned char *buf, int buflen,
|
|||||||
|
|
||||||
static int do_hex_dump(char_io *io_ch, void *arg, unsigned char *buf, int buflen)
|
static int do_hex_dump(char_io *io_ch, void *arg, unsigned char *buf, int buflen)
|
||||||
{
|
{
|
||||||
const static char hexdig[] = "0123456789ABCDEF";
|
static const char hexdig[] = "0123456789ABCDEF";
|
||||||
unsigned char *p, *q;
|
unsigned char *p, *q;
|
||||||
char hextmp[2];
|
char hextmp[2];
|
||||||
if(arg) {
|
if(arg) {
|
||||||
@ -279,7 +281,7 @@ static int do_dump(unsigned long lflags, char_io *io_ch, void *arg, ASN1_STRING
|
|||||||
* otherwise it is the number of bytes per character
|
* otherwise it is the number of bytes per character
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const static signed char tag2nbyte[] = {
|
static const signed char tag2nbyte[] = {
|
||||||
-1, -1, -1, -1, -1, /* 0-4 */
|
-1, -1, -1, -1, -1, /* 0-4 */
|
||||||
-1, -1, -1, -1, -1, /* 5-9 */
|
-1, -1, -1, -1, -1, /* 5-9 */
|
||||||
-1, -1, 0, -1, /* 10-13 */
|
-1, -1, 0, -1, /* 10-13 */
|
||||||
@ -356,12 +358,13 @@ static int do_print_ex(char_io *io_ch, void *arg, unsigned long lflags, ASN1_STR
|
|||||||
}
|
}
|
||||||
|
|
||||||
len = do_buf(str->data, str->length, type, flags, "es, io_ch, NULL);
|
len = do_buf(str->data, str->length, type, flags, "es, io_ch, NULL);
|
||||||
if(outlen < 0) return -1;
|
if(len < 0) return -1;
|
||||||
outlen += len;
|
outlen += len;
|
||||||
if(quotes) outlen += 2;
|
if(quotes) outlen += 2;
|
||||||
if(!arg) return outlen;
|
if(!arg) return outlen;
|
||||||
if(quotes && !io_ch(arg, "\"", 1)) return -1;
|
if(quotes && !io_ch(arg, "\"", 1)) return -1;
|
||||||
do_buf(str->data, str->length, type, flags, NULL, io_ch, arg);
|
if(do_buf(str->data, str->length, type, flags, NULL, io_ch, arg) < 0)
|
||||||
|
return -1;
|
||||||
if(quotes && !io_ch(arg, "\"", 1)) return -1;
|
if(quotes && !io_ch(arg, "\"", 1)) return -1;
|
||||||
return outlen;
|
return outlen;
|
||||||
}
|
}
|
||||||
|
@ -149,6 +149,7 @@ extern "C" {
|
|||||||
#define B_ASN1_UTF8STRING 0x2000
|
#define B_ASN1_UTF8STRING 0x2000
|
||||||
#define B_ASN1_UTCTIME 0x4000
|
#define B_ASN1_UTCTIME 0x4000
|
||||||
#define B_ASN1_GENERALIZEDTIME 0x8000
|
#define B_ASN1_GENERALIZEDTIME 0x8000
|
||||||
|
#define B_ASN1_SEQUENCE 0x10000
|
||||||
|
|
||||||
/* For use with ASN1_mbstring_copy() */
|
/* For use with ASN1_mbstring_copy() */
|
||||||
#define MBSTRING_FLAG 0x1000
|
#define MBSTRING_FLAG 0x1000
|
||||||
@ -594,6 +595,7 @@ typedef struct BIT_STRING_BITNAME_st {
|
|||||||
B_ASN1_UNIVERSALSTRING|\
|
B_ASN1_UNIVERSALSTRING|\
|
||||||
B_ASN1_BMPSTRING|\
|
B_ASN1_BMPSTRING|\
|
||||||
B_ASN1_UTF8STRING|\
|
B_ASN1_UTF8STRING|\
|
||||||
|
B_ASN1_SEQUENCE|\
|
||||||
B_ASN1_UNKNOWN
|
B_ASN1_UNKNOWN
|
||||||
|
|
||||||
#define B_ASN1_DIRECTORYSTRING \
|
#define B_ASN1_DIRECTORYSTRING \
|
||||||
@ -1045,7 +1047,7 @@ void ERR_load_ASN1_strings(void);
|
|||||||
#define ASN1_F_ASN1_I2D_FP 117
|
#define ASN1_F_ASN1_I2D_FP 117
|
||||||
#define ASN1_F_ASN1_INTEGER_SET 118
|
#define ASN1_F_ASN1_INTEGER_SET 118
|
||||||
#define ASN1_F_ASN1_INTEGER_TO_BN 119
|
#define ASN1_F_ASN1_INTEGER_TO_BN 119
|
||||||
#define ASN1_F_ASN1_ITEM_D2I_FP 190
|
#define ASN1_F_ASN1_ITEM_D2I_FP 206
|
||||||
#define ASN1_F_ASN1_ITEM_DUP 191
|
#define ASN1_F_ASN1_ITEM_DUP 191
|
||||||
#define ASN1_F_ASN1_ITEM_EX_COMBINE_NEW 121
|
#define ASN1_F_ASN1_ITEM_EX_COMBINE_NEW 121
|
||||||
#define ASN1_F_ASN1_ITEM_EX_D2I 120
|
#define ASN1_F_ASN1_ITEM_EX_D2I 120
|
||||||
@ -1058,6 +1060,7 @@ void ERR_load_ASN1_strings(void);
|
|||||||
#define ASN1_F_ASN1_MBSTRING_NCOPY 122
|
#define ASN1_F_ASN1_MBSTRING_NCOPY 122
|
||||||
#define ASN1_F_ASN1_OBJECT_NEW 123
|
#define ASN1_F_ASN1_OBJECT_NEW 123
|
||||||
#define ASN1_F_ASN1_PACK_STRING 124
|
#define ASN1_F_ASN1_PACK_STRING 124
|
||||||
|
#define ASN1_F_ASN1_PCTX_NEW 205
|
||||||
#define ASN1_F_ASN1_PKCS5_PBE_SET 125
|
#define ASN1_F_ASN1_PKCS5_PBE_SET 125
|
||||||
#define ASN1_F_ASN1_SEQ_PACK 126
|
#define ASN1_F_ASN1_SEQ_PACK 126
|
||||||
#define ASN1_F_ASN1_SEQ_UNPACK 127
|
#define ASN1_F_ASN1_SEQ_UNPACK 127
|
||||||
|
@ -111,6 +111,7 @@ static ERR_STRING_DATA ASN1_str_functs[]=
|
|||||||
{ERR_FUNC(ASN1_F_ASN1_MBSTRING_NCOPY), "ASN1_mbstring_ncopy"},
|
{ERR_FUNC(ASN1_F_ASN1_MBSTRING_NCOPY), "ASN1_mbstring_ncopy"},
|
||||||
{ERR_FUNC(ASN1_F_ASN1_OBJECT_NEW), "ASN1_OBJECT_new"},
|
{ERR_FUNC(ASN1_F_ASN1_OBJECT_NEW), "ASN1_OBJECT_new"},
|
||||||
{ERR_FUNC(ASN1_F_ASN1_PACK_STRING), "ASN1_pack_string"},
|
{ERR_FUNC(ASN1_F_ASN1_PACK_STRING), "ASN1_pack_string"},
|
||||||
|
{ERR_FUNC(ASN1_F_ASN1_PCTX_NEW), "ASN1_PCTX_NEW"},
|
||||||
{ERR_FUNC(ASN1_F_ASN1_PKCS5_PBE_SET), "ASN1_PKCS5_PBE_SET"},
|
{ERR_FUNC(ASN1_F_ASN1_PKCS5_PBE_SET), "ASN1_PKCS5_PBE_SET"},
|
||||||
{ERR_FUNC(ASN1_F_ASN1_SEQ_PACK), "ASN1_seq_pack"},
|
{ERR_FUNC(ASN1_F_ASN1_SEQ_PACK), "ASN1_seq_pack"},
|
||||||
{ERR_FUNC(ASN1_F_ASN1_SEQ_UNPACK), "ASN1_seq_unpack"},
|
{ERR_FUNC(ASN1_F_ASN1_SEQ_UNPACK), "ASN1_seq_unpack"},
|
||||||
@ -286,15 +287,12 @@ static ERR_STRING_DATA ASN1_str_reasons[]=
|
|||||||
|
|
||||||
void ERR_load_ASN1_strings(void)
|
void ERR_load_ASN1_strings(void)
|
||||||
{
|
{
|
||||||
static int init=1;
|
|
||||||
|
|
||||||
if (init)
|
|
||||||
{
|
|
||||||
init=0;
|
|
||||||
#ifndef OPENSSL_NO_ERR
|
#ifndef OPENSSL_NO_ERR
|
||||||
|
|
||||||
|
if (ERR_func_error_string(ASN1_str_functs[0].error) == NULL)
|
||||||
|
{
|
||||||
ERR_load_strings(0,ASN1_str_functs);
|
ERR_load_strings(0,ASN1_str_functs);
|
||||||
ERR_load_strings(0,ASN1_str_reasons);
|
ERR_load_strings(0,ASN1_str_reasons);
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -658,6 +658,8 @@ static ASN1_TYPE *asn1_str2type(const char *str, int format, int utype)
|
|||||||
ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_NOT_ASCII_FORMAT);
|
ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_NOT_ASCII_FORMAT);
|
||||||
goto bad_form;
|
goto bad_form;
|
||||||
}
|
}
|
||||||
|
vtmp.name = NULL;
|
||||||
|
vtmp.section = NULL;
|
||||||
vtmp.value = (char *)str;
|
vtmp.value = (char *)str;
|
||||||
if (!X509V3_get_value_bool(&vtmp, &atmp->value.boolean))
|
if (!X509V3_get_value_bool(&vtmp, &atmp->value.boolean))
|
||||||
{
|
{
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
static int asn1_get_length(const unsigned char **pp,int *inf,long *rl,int max);
|
static int asn1_get_length(const unsigned char **pp,int *inf,long *rl,int max);
|
||||||
static void asn1_put_length(unsigned char **pp, int length);
|
static void asn1_put_length(unsigned char **pp, int length);
|
||||||
const char *ASN1_version="ASN.1" OPENSSL_VERSION_PTEXT;
|
const char ASN1_version[]="ASN.1" OPENSSL_VERSION_PTEXT;
|
||||||
|
|
||||||
static int _asn1_check_infinite_end(const unsigned char **p, long len)
|
static int _asn1_check_infinite_end(const unsigned char **p, long len)
|
||||||
{
|
{
|
||||||
|
@ -88,7 +88,10 @@ static int asn1_print_info(BIO *bp, int tag, int xclass, int constructed,
|
|||||||
BIO_snprintf(str,sizeof str,"cont [ %d ]",tag);
|
BIO_snprintf(str,sizeof str,"cont [ %d ]",tag);
|
||||||
else if ((xclass & V_ASN1_APPLICATION) == V_ASN1_APPLICATION)
|
else if ((xclass & V_ASN1_APPLICATION) == V_ASN1_APPLICATION)
|
||||||
BIO_snprintf(str,sizeof str,"appl [ %d ]",tag);
|
BIO_snprintf(str,sizeof str,"appl [ %d ]",tag);
|
||||||
else p = ASN1_tag2str(tag);
|
else if (tag > 30)
|
||||||
|
BIO_snprintf(str,sizeof str,"<ASN1 %d>",tag);
|
||||||
|
else
|
||||||
|
p = ASN1_tag2str(tag);
|
||||||
|
|
||||||
if (p2 != NULL)
|
if (p2 != NULL)
|
||||||
{
|
{
|
||||||
@ -419,7 +422,7 @@ end:
|
|||||||
|
|
||||||
const char *ASN1_tag2str(int tag)
|
const char *ASN1_tag2str(int tag)
|
||||||
{
|
{
|
||||||
const static char *tag2str[] = {
|
static const char *tag2str[] = {
|
||||||
"EOC", "BOOLEAN", "INTEGER", "BIT STRING", "OCTET STRING", /* 0-4 */
|
"EOC", "BOOLEAN", "INTEGER", "BIT STRING", "OCTET STRING", /* 0-4 */
|
||||||
"NULL", "OBJECT", "OBJECT DESCRIPTOR", "EXTERNAL", "REAL", /* 5-9 */
|
"NULL", "OBJECT", "OBJECT DESCRIPTOR", "EXTERNAL", "REAL", /* 5-9 */
|
||||||
"ENUMERATED", "<ASN1 11>", "UTF8STRING", "<ASN1 13>", /* 10-13 */
|
"ENUMERATED", "<ASN1 11>", "UTF8STRING", "<ASN1 13>", /* 10-13 */
|
||||||
|
@ -99,7 +99,7 @@ extern "C" {
|
|||||||
#define ASN1_ITEM_start(itname) \
|
#define ASN1_ITEM_start(itname) \
|
||||||
const ASN1_ITEM * itname##_it(void) \
|
const ASN1_ITEM * itname##_it(void) \
|
||||||
{ \
|
{ \
|
||||||
static const ASN1_ITEM local_it = { \
|
static const ASN1_ITEM local_it = {
|
||||||
|
|
||||||
#define ASN1_ITEM_end(itname) \
|
#define ASN1_ITEM_end(itname) \
|
||||||
}; \
|
}; \
|
||||||
|
@ -149,7 +149,7 @@ static int do_create(char *value, char *name)
|
|||||||
if (lntmp == NULL)
|
if (lntmp == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
memcpy(lntmp, ln, p - ln);
|
memcpy(lntmp, ln, p - ln);
|
||||||
lntmp[p - ln + 1] = 0;
|
lntmp[p - ln] = 0;
|
||||||
oid = OBJ_nid2obj(nid);
|
oid = OBJ_nid2obj(nid);
|
||||||
oid->ln = lntmp;
|
oid->ln = lntmp;
|
||||||
}
|
}
|
||||||
|
@ -81,8 +81,10 @@
|
|||||||
|
|
||||||
static int print(BIO *fp,const char *str, const BIGNUM *num,
|
static int print(BIO *fp,const char *str, const BIGNUM *num,
|
||||||
unsigned char *buf,int off);
|
unsigned char *buf,int off);
|
||||||
|
#ifndef OPENSSL_NO_EC
|
||||||
static int print_bin(BIO *fp, const char *str, const unsigned char *num,
|
static int print_bin(BIO *fp, const char *str, const unsigned char *num,
|
||||||
size_t len, int off);
|
size_t len, int off);
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_RSA
|
#ifndef OPENSSL_NO_RSA
|
||||||
#ifndef OPENSSL_NO_FP_API
|
#ifndef OPENSSL_NO_FP_API
|
||||||
int RSA_print_fp(FILE *fp, const RSA *x, int off)
|
int RSA_print_fp(FILE *fp, const RSA *x, int off)
|
||||||
@ -107,7 +109,7 @@ int RSA_print(BIO *bp, const RSA *x, int off)
|
|||||||
char str[128];
|
char str[128];
|
||||||
const char *s;
|
const char *s;
|
||||||
unsigned char *m=NULL;
|
unsigned char *m=NULL;
|
||||||
int ret=0;
|
int ret=0, mod_len = 0;
|
||||||
size_t buf_len=0, i;
|
size_t buf_len=0, i;
|
||||||
|
|
||||||
if (x->n)
|
if (x->n)
|
||||||
@ -141,27 +143,37 @@ int RSA_print(BIO *bp, const RSA *x, int off)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (x->n != NULL)
|
||||||
|
mod_len = BN_num_bits(x->n);
|
||||||
|
|
||||||
if (x->d != NULL)
|
if (x->d != NULL)
|
||||||
{
|
{
|
||||||
if(!BIO_indent(bp,off,128))
|
if(!BIO_indent(bp,off,128))
|
||||||
goto err;
|
goto err;
|
||||||
if (BIO_printf(bp,"Private-Key: (%d bit)\n",BN_num_bits(x->n))
|
if (BIO_printf(bp,"Private-Key: (%d bit)\n", mod_len)
|
||||||
<= 0) goto err;
|
<= 0) goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (x->d == NULL)
|
if (x->d == NULL)
|
||||||
BIO_snprintf(str,sizeof str,"Modulus (%d bit):",BN_num_bits(x->n));
|
BIO_snprintf(str,sizeof str,"Modulus (%d bit):", mod_len);
|
||||||
else
|
else
|
||||||
BUF_strlcpy(str,"modulus:",sizeof str);
|
BUF_strlcpy(str,"modulus:",sizeof str);
|
||||||
if (!print(bp,str,x->n,m,off)) goto err;
|
if (!print(bp,str,x->n,m,off)) goto err;
|
||||||
s=(x->d == NULL)?"Exponent:":"publicExponent:";
|
s=(x->d == NULL)?"Exponent:":"publicExponent:";
|
||||||
if (!print(bp,s,x->e,m,off)) goto err;
|
if ((x->e != NULL) && !print(bp,s,x->e,m,off))
|
||||||
if (!print(bp,"privateExponent:",x->d,m,off)) goto err;
|
goto err;
|
||||||
if (!print(bp,"prime1:",x->p,m,off)) goto err;
|
if ((x->d != NULL) && !print(bp,"privateExponent:",x->d,m,off))
|
||||||
if (!print(bp,"prime2:",x->q,m,off)) goto err;
|
goto err;
|
||||||
if (!print(bp,"exponent1:",x->dmp1,m,off)) goto err;
|
if ((x->p != NULL) && !print(bp,"prime1:",x->p,m,off))
|
||||||
if (!print(bp,"exponent2:",x->dmq1,m,off)) goto err;
|
goto err;
|
||||||
if (!print(bp,"coefficient:",x->iqmp,m,off)) goto err;
|
if ((x->q != NULL) && !print(bp,"prime2:",x->q,m,off))
|
||||||
|
goto err;
|
||||||
|
if ((x->dmp1 != NULL) && !print(bp,"exponent1:",x->dmp1,m,off))
|
||||||
|
goto err;
|
||||||
|
if ((x->dmq1 != NULL) && !print(bp,"exponent2:",x->dmq1,m,off))
|
||||||
|
goto err;
|
||||||
|
if ((x->iqmp != NULL) && !print(bp,"coefficient:",x->iqmp,m,off))
|
||||||
|
goto err;
|
||||||
ret=1;
|
ret=1;
|
||||||
err:
|
err:
|
||||||
if (m != NULL) OPENSSL_free(m);
|
if (m != NULL) OPENSSL_free(m);
|
||||||
@ -196,6 +208,11 @@ int DSA_print(BIO *bp, const DSA *x, int off)
|
|||||||
|
|
||||||
if (x->p)
|
if (x->p)
|
||||||
buf_len = (size_t)BN_num_bytes(x->p);
|
buf_len = (size_t)BN_num_bytes(x->p);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DSAerr(DSA_F_DSA_PRINT,DSA_R_MISSING_PARAMETERS);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
if (x->q)
|
if (x->q)
|
||||||
if (buf_len < (i = (size_t)BN_num_bytes(x->q)))
|
if (buf_len < (i = (size_t)BN_num_bytes(x->q)))
|
||||||
buf_len = i;
|
buf_len = i;
|
||||||
@ -601,6 +618,7 @@ static int print(BIO *bp, const char *number, const BIGNUM *num, unsigned char *
|
|||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef OPENSSL_NO_EC
|
||||||
static int print_bin(BIO *fp, const char *name, const unsigned char *buf,
|
static int print_bin(BIO *fp, const char *name, const unsigned char *buf,
|
||||||
size_t len, int off)
|
size_t len, int off)
|
||||||
{
|
{
|
||||||
@ -638,6 +656,7 @@ static int print_bin(BIO *fp, const char *name, const unsigned char *buf,
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_DH
|
#ifndef OPENSSL_NO_DH
|
||||||
#ifndef OPENSSL_NO_FP_API
|
#ifndef OPENSSL_NO_FP_API
|
||||||
@ -666,6 +685,11 @@ int DHparams_print(BIO *bp, const DH *x)
|
|||||||
|
|
||||||
if (x->p)
|
if (x->p)
|
||||||
buf_len = (size_t)BN_num_bytes(x->p);
|
buf_len = (size_t)BN_num_bytes(x->p);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reason = ERR_R_PASSED_NULL_PARAMETER;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
if (x->g)
|
if (x->g)
|
||||||
if (buf_len < (i = (size_t)BN_num_bytes(x->g)))
|
if (buf_len < (i = (size_t)BN_num_bytes(x->g)))
|
||||||
buf_len = i;
|
buf_len = i;
|
||||||
@ -719,11 +743,16 @@ int DSAparams_print_fp(FILE *fp, const DSA *x)
|
|||||||
int DSAparams_print(BIO *bp, const DSA *x)
|
int DSAparams_print(BIO *bp, const DSA *x)
|
||||||
{
|
{
|
||||||
unsigned char *m=NULL;
|
unsigned char *m=NULL;
|
||||||
int reason=ERR_R_BUF_LIB,ret=0;
|
int ret=0;
|
||||||
size_t buf_len=0,i;
|
size_t buf_len=0,i;
|
||||||
|
|
||||||
if (x->p)
|
if (x->p)
|
||||||
buf_len = (size_t)BN_num_bytes(x->p);
|
buf_len = (size_t)BN_num_bytes(x->p);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DSAerr(DSA_F_DSAPARAMS_PRINT,DSA_R_MISSING_PARAMETERS);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
if (x->q)
|
if (x->q)
|
||||||
if (buf_len < (i = (size_t)BN_num_bytes(x->q)))
|
if (buf_len < (i = (size_t)BN_num_bytes(x->q)))
|
||||||
buf_len = i;
|
buf_len = i;
|
||||||
@ -733,7 +762,7 @@ int DSAparams_print(BIO *bp, const DSA *x)
|
|||||||
m=(unsigned char *)OPENSSL_malloc(buf_len+10);
|
m=(unsigned char *)OPENSSL_malloc(buf_len+10);
|
||||||
if (m == NULL)
|
if (m == NULL)
|
||||||
{
|
{
|
||||||
reason=ERR_R_MALLOC_FAILURE;
|
DSAerr(DSA_F_DSAPARAMS_PRINT,ERR_R_MALLOC_FAILURE);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -741,12 +770,11 @@ int DSAparams_print(BIO *bp, const DSA *x)
|
|||||||
BN_num_bits(x->p)) <= 0)
|
BN_num_bits(x->p)) <= 0)
|
||||||
goto err;
|
goto err;
|
||||||
if (!print(bp,"p:",x->p,m,4)) goto err;
|
if (!print(bp,"p:",x->p,m,4)) goto err;
|
||||||
if (!print(bp,"q:",x->q,m,4)) goto err;
|
if ((x->q != NULL) && !print(bp,"q:",x->q,m,4)) goto err;
|
||||||
if (!print(bp,"g:",x->g,m,4)) goto err;
|
if ((x->g != NULL) && !print(bp,"g:",x->g,m,4)) goto err;
|
||||||
ret=1;
|
ret=1;
|
||||||
err:
|
err:
|
||||||
if (m != NULL) OPENSSL_free(m);
|
if (m != NULL) OPENSSL_free(m);
|
||||||
DSAerr(DSA_F_DSAPARAMS_PRINT,reason);
|
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,8 +63,12 @@
|
|||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/x509v3.h>
|
#include <openssl/x509v3.h>
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
#include <openssl/rsa.h>
|
#include <openssl/rsa.h>
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_DSA
|
||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_FP_API
|
#ifndef OPENSSL_NO_FP_API
|
||||||
int X509_REQ_print_fp(FILE *fp, X509_REQ *x)
|
int X509_REQ_print_fp(FILE *fp, X509_REQ *x)
|
||||||
|
@ -60,8 +60,12 @@
|
|||||||
#include "cryptlib.h"
|
#include "cryptlib.h"
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/asn1.h>
|
#include <openssl/asn1.h>
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
#include <openssl/rsa.h>
|
#include <openssl/rsa.h>
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_DSA
|
||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
|
#endif
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
|
|
||||||
/* Print out an SPKI */
|
/* Print out an SPKI */
|
||||||
|
@ -445,9 +445,9 @@ err:
|
|||||||
int X509_NAME_print(BIO *bp, X509_NAME *name, int obase)
|
int X509_NAME_print(BIO *bp, X509_NAME *name, int obase)
|
||||||
{
|
{
|
||||||
char *s,*c,*b;
|
char *s,*c,*b;
|
||||||
int ret=0,l,ll,i,first=1;
|
int ret=0,l,i;
|
||||||
|
|
||||||
ll=80-2-obase;
|
l=80-2-obase;
|
||||||
|
|
||||||
b=s=X509_NAME_oneline(name,NULL,0);
|
b=s=X509_NAME_oneline(name,NULL,0);
|
||||||
if (!*s)
|
if (!*s)
|
||||||
@ -457,7 +457,6 @@ int X509_NAME_print(BIO *bp, X509_NAME *name, int obase)
|
|||||||
}
|
}
|
||||||
s++; /* skip the first slash */
|
s++; /* skip the first slash */
|
||||||
|
|
||||||
l=ll;
|
|
||||||
c=s;
|
c=s;
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
@ -479,16 +478,6 @@ int X509_NAME_print(BIO *bp, X509_NAME *name, int obase)
|
|||||||
(*s == '\0'))
|
(*s == '\0'))
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
if ((l <= 0) && !first)
|
|
||||||
{
|
|
||||||
first=0;
|
|
||||||
if (BIO_write(bp,"\n",1) != 1) goto err;
|
|
||||||
for (i=0; i<obase; i++)
|
|
||||||
{
|
|
||||||
if (BIO_write(bp," ",1) != 1) goto err;
|
|
||||||
}
|
|
||||||
l=ll;
|
|
||||||
}
|
|
||||||
i=s-c;
|
i=s-c;
|
||||||
if (BIO_write(bp,c,i) != i) goto err;
|
if (BIO_write(bp,c,i) != i) goto err;
|
||||||
c+=i;
|
c+=i;
|
||||||
|
@ -93,12 +93,12 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
|
|||||||
int tag, int aclass, char opt, ASN1_TLC *ctx);
|
int tag, int aclass, char opt, ASN1_TLC *ctx);
|
||||||
|
|
||||||
/* Table to convert tags to bit values, used for MSTRING type */
|
/* Table to convert tags to bit values, used for MSTRING type */
|
||||||
static unsigned long tag2bit[32] = {
|
static const unsigned long tag2bit[32] = {
|
||||||
0, 0, 0, B_ASN1_BIT_STRING, /* tags 0 - 3 */
|
0, 0, 0, B_ASN1_BIT_STRING, /* tags 0 - 3 */
|
||||||
B_ASN1_OCTET_STRING, 0, 0, B_ASN1_UNKNOWN,/* tags 4- 7 */
|
B_ASN1_OCTET_STRING, 0, 0, B_ASN1_UNKNOWN,/* tags 4- 7 */
|
||||||
B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN,/* tags 8-11 */
|
B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN,/* tags 8-11 */
|
||||||
B_ASN1_UTF8STRING,B_ASN1_UNKNOWN,B_ASN1_UNKNOWN,B_ASN1_UNKNOWN,/* tags 12-15 */
|
B_ASN1_UTF8STRING,B_ASN1_UNKNOWN,B_ASN1_UNKNOWN,B_ASN1_UNKNOWN,/* tags 12-15 */
|
||||||
0, 0, B_ASN1_NUMERICSTRING,B_ASN1_PRINTABLESTRING, /* tags 16-19 */
|
B_ASN1_SEQUENCE,0,B_ASN1_NUMERICSTRING,B_ASN1_PRINTABLESTRING, /* tags 16-19 */
|
||||||
B_ASN1_T61STRING,B_ASN1_VIDEOTEXSTRING,B_ASN1_IA5STRING, /* tags 20-22 */
|
B_ASN1_T61STRING,B_ASN1_VIDEOTEXSTRING,B_ASN1_IA5STRING, /* tags 20-22 */
|
||||||
B_ASN1_UTCTIME, B_ASN1_GENERALIZEDTIME, /* tags 23-24 */
|
B_ASN1_UTCTIME, B_ASN1_GENERALIZEDTIME, /* tags 23-24 */
|
||||||
B_ASN1_GRAPHICSTRING,B_ASN1_ISO64STRING,B_ASN1_GENERALSTRING, /* tags 25-27 */
|
B_ASN1_GRAPHICSTRING,B_ASN1_ISO64STRING,B_ASN1_GENERALSTRING, /* tags 25-27 */
|
||||||
@ -158,7 +158,7 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
|
|||||||
const ASN1_EXTERN_FUNCS *ef;
|
const ASN1_EXTERN_FUNCS *ef;
|
||||||
const ASN1_AUX *aux = it->funcs;
|
const ASN1_AUX *aux = it->funcs;
|
||||||
ASN1_aux_cb *asn1_cb;
|
ASN1_aux_cb *asn1_cb;
|
||||||
const unsigned char *p, *q;
|
const unsigned char *p = NULL, *q;
|
||||||
unsigned char *wp=NULL; /* BIG FAT WARNING! BREAKS CONST WHERE USED */
|
unsigned char *wp=NULL; /* BIG FAT WARNING! BREAKS CONST WHERE USED */
|
||||||
unsigned char imphack = 0, oclass;
|
unsigned char imphack = 0, oclass;
|
||||||
char seq_eoc, seq_nolen, cst, isopt;
|
char seq_eoc, seq_nolen, cst, isopt;
|
||||||
@ -283,6 +283,12 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
|
|||||||
{
|
{
|
||||||
wp = *(unsigned char **)in;
|
wp = *(unsigned char **)in;
|
||||||
imphack = *wp;
|
imphack = *wp;
|
||||||
|
if (p == NULL)
|
||||||
|
{
|
||||||
|
ASN1err(ASN1_F_ASN1_ITEM_EX_D2I,
|
||||||
|
ERR_R_NESTED_ASN1_ERROR);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
*wp = (unsigned char)((*p & V_ASN1_CONSTRUCTED)
|
*wp = (unsigned char)((*p & V_ASN1_CONSTRUCTED)
|
||||||
| it->utype);
|
| it->utype);
|
||||||
}
|
}
|
||||||
@ -826,6 +832,7 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
|
|||||||
}
|
}
|
||||||
else if (ret == -1)
|
else if (ret == -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
ret = 0;
|
||||||
/* SEQUENCE, SET and "OTHER" are left in encoded form */
|
/* SEQUENCE, SET and "OTHER" are left in encoded form */
|
||||||
if ((utype == V_ASN1_SEQUENCE)
|
if ((utype == V_ASN1_SEQUENCE)
|
||||||
|| (utype == V_ASN1_SET) || (utype == V_ASN1_OTHER))
|
|| (utype == V_ASN1_SET) || (utype == V_ASN1_OTHER))
|
||||||
@ -872,7 +879,10 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
|
|||||||
* for UNIVERSAL class and ignore the tag.
|
* for UNIVERSAL class and ignore the tag.
|
||||||
*/
|
*/
|
||||||
if (!asn1_collect(&buf, &p, plen, inf, -1, V_ASN1_UNIVERSAL))
|
if (!asn1_collect(&buf, &p, plen, inf, -1, V_ASN1_UNIVERSAL))
|
||||||
|
{
|
||||||
|
free_cont = 1;
|
||||||
goto err;
|
goto err;
|
||||||
|
}
|
||||||
len = buf.length;
|
len = buf.length;
|
||||||
/* Append a final null to string */
|
/* Append a final null to string */
|
||||||
if (!BUF_MEM_grow_clean(&buf, len + 1))
|
if (!BUF_MEM_grow_clean(&buf, len + 1))
|
||||||
@ -924,6 +934,8 @@ int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
|
|||||||
if (!*pval)
|
if (!*pval)
|
||||||
{
|
{
|
||||||
typ = ASN1_TYPE_new();
|
typ = ASN1_TYPE_new();
|
||||||
|
if (typ == NULL)
|
||||||
|
goto err;
|
||||||
*pval = (ASN1_VALUE *)typ;
|
*pval = (ASN1_VALUE *)typ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1167,7 +1179,7 @@ static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len,
|
|||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else if (!collect_data(buf, &p, plen))
|
else if (plen && !collect_data(buf, &p, plen))
|
||||||
return 0;
|
return 0;
|
||||||
len -= p - q;
|
len -= p - q;
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,7 @@
|
|||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include "cryptlib.h"
|
||||||
#include <openssl/asn1.h>
|
#include <openssl/asn1.h>
|
||||||
#include <openssl/asn1t.h>
|
#include <openssl/asn1t.h>
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
@ -617,11 +618,14 @@ int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype,
|
|||||||
tbool = (ASN1_BOOLEAN *)pval;
|
tbool = (ASN1_BOOLEAN *)pval;
|
||||||
if (*tbool == -1)
|
if (*tbool == -1)
|
||||||
return -1;
|
return -1;
|
||||||
/* Default handling if value == size field then omit */
|
if (it->utype != V_ASN1_ANY)
|
||||||
if (*tbool && (it->size > 0))
|
{
|
||||||
return -1;
|
/* Default handling if value == size field then omit */
|
||||||
if (!*tbool && !it->size)
|
if (*tbool && (it->size > 0))
|
||||||
return -1;
|
return -1;
|
||||||
|
if (!*tbool && !it->size)
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
c = (unsigned char)*tbool;
|
c = (unsigned char)*tbool;
|
||||||
cont = &c;
|
cont = &c;
|
||||||
len = 1;
|
len = 1;
|
||||||
|
@ -326,11 +326,13 @@ int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
|
|||||||
{
|
{
|
||||||
ASN1_TYPE *typ;
|
ASN1_TYPE *typ;
|
||||||
int utype;
|
int utype;
|
||||||
const ASN1_PRIMITIVE_FUNCS *pf;
|
|
||||||
pf = it->funcs;
|
|
||||||
|
|
||||||
if (pf && pf->prim_new)
|
if (it && it->funcs)
|
||||||
return pf->prim_new(pval, it);
|
{
|
||||||
|
const ASN1_PRIMITIVE_FUNCS *pf = it->funcs;
|
||||||
|
if (pf->prim_new)
|
||||||
|
return pf->prim_new(pval, it);
|
||||||
|
}
|
||||||
|
|
||||||
if (!it || (it->itype == ASN1_ITYPE_MSTRING))
|
if (!it || (it->itype == ASN1_ITYPE_MSTRING))
|
||||||
utype = -1;
|
utype = -1;
|
||||||
@ -374,10 +376,9 @@ int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
|
|||||||
void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
|
void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
|
||||||
{
|
{
|
||||||
int utype;
|
int utype;
|
||||||
const ASN1_PRIMITIVE_FUNCS *pf;
|
if (it && it->funcs)
|
||||||
pf = it->funcs;
|
|
||||||
if (pf)
|
|
||||||
{
|
{
|
||||||
|
const ASN1_PRIMITIVE_FUNCS *pf = it->funcs;
|
||||||
if (pf->prim_clear)
|
if (pf->prim_clear)
|
||||||
pf->prim_clear(pval, it);
|
pf->prim_clear(pval, it);
|
||||||
else
|
else
|
||||||
|
@ -160,40 +160,40 @@ static int x509_name_ex_d2i(ASN1_VALUE **val, const unsigned char **in, long len
|
|||||||
int tag, int aclass, char opt, ASN1_TLC *ctx)
|
int tag, int aclass, char opt, ASN1_TLC *ctx)
|
||||||
{
|
{
|
||||||
const unsigned char *p = *in, *q;
|
const unsigned char *p = *in, *q;
|
||||||
STACK *intname = NULL, **intname_pp = &intname;
|
union { STACK *s; ASN1_VALUE *a; } intname = {NULL};
|
||||||
|
union { X509_NAME *x; ASN1_VALUE *a; } nm = {NULL};
|
||||||
int i, j, ret;
|
int i, j, ret;
|
||||||
X509_NAME *nm = NULL, **nm_pp = &nm;
|
|
||||||
STACK_OF(X509_NAME_ENTRY) *entries;
|
STACK_OF(X509_NAME_ENTRY) *entries;
|
||||||
X509_NAME_ENTRY *entry;
|
X509_NAME_ENTRY *entry;
|
||||||
q = p;
|
q = p;
|
||||||
|
|
||||||
/* Get internal representation of Name */
|
/* Get internal representation of Name */
|
||||||
ret = ASN1_item_ex_d2i((ASN1_VALUE **)intname_pp,
|
ret = ASN1_item_ex_d2i(&intname.a,
|
||||||
&p, len, ASN1_ITEM_rptr(X509_NAME_INTERNAL),
|
&p, len, ASN1_ITEM_rptr(X509_NAME_INTERNAL),
|
||||||
tag, aclass, opt, ctx);
|
tag, aclass, opt, ctx);
|
||||||
|
|
||||||
if(ret <= 0) return ret;
|
if(ret <= 0) return ret;
|
||||||
|
|
||||||
if(*val) x509_name_ex_free(val, NULL);
|
if(*val) x509_name_ex_free(val, NULL);
|
||||||
if(!x509_name_ex_new((ASN1_VALUE **)nm_pp, NULL)) goto err;
|
if(!x509_name_ex_new(&nm.a, NULL)) goto err;
|
||||||
/* We've decoded it: now cache encoding */
|
/* We've decoded it: now cache encoding */
|
||||||
if(!BUF_MEM_grow(nm->bytes, p - q)) goto err;
|
if(!BUF_MEM_grow(nm.x->bytes, p - q)) goto err;
|
||||||
memcpy(nm->bytes->data, q, p - q);
|
memcpy(nm.x->bytes->data, q, p - q);
|
||||||
|
|
||||||
/* Convert internal representation to X509_NAME structure */
|
/* Convert internal representation to X509_NAME structure */
|
||||||
for(i = 0; i < sk_num(intname); i++) {
|
for(i = 0; i < sk_num(intname.s); i++) {
|
||||||
entries = (STACK_OF(X509_NAME_ENTRY) *)sk_value(intname, i);
|
entries = (STACK_OF(X509_NAME_ENTRY) *)sk_value(intname.s, i);
|
||||||
for(j = 0; j < sk_X509_NAME_ENTRY_num(entries); j++) {
|
for(j = 0; j < sk_X509_NAME_ENTRY_num(entries); j++) {
|
||||||
entry = sk_X509_NAME_ENTRY_value(entries, j);
|
entry = sk_X509_NAME_ENTRY_value(entries, j);
|
||||||
entry->set = i;
|
entry->set = i;
|
||||||
if(!sk_X509_NAME_ENTRY_push(nm->entries, entry))
|
if(!sk_X509_NAME_ENTRY_push(nm.x->entries, entry))
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
sk_X509_NAME_ENTRY_free(entries);
|
sk_X509_NAME_ENTRY_free(entries);
|
||||||
}
|
}
|
||||||
sk_free(intname);
|
sk_free(intname.s);
|
||||||
nm->modified = 0;
|
nm.x->modified = 0;
|
||||||
*val = (ASN1_VALUE *)nm;
|
*val = nm.a;
|
||||||
*in = p;
|
*in = p;
|
||||||
return ret;
|
return ret;
|
||||||
err:
|
err:
|
||||||
@ -219,35 +219,35 @@ static int x509_name_ex_i2d(ASN1_VALUE **val, unsigned char **out, const ASN1_IT
|
|||||||
|
|
||||||
static int x509_name_encode(X509_NAME *a)
|
static int x509_name_encode(X509_NAME *a)
|
||||||
{
|
{
|
||||||
STACK *intname = NULL, **intname_pp = &intname;
|
union { STACK *s; ASN1_VALUE *a; } intname = {NULL};
|
||||||
int len;
|
int len;
|
||||||
unsigned char *p;
|
unsigned char *p;
|
||||||
STACK_OF(X509_NAME_ENTRY) *entries = NULL;
|
STACK_OF(X509_NAME_ENTRY) *entries = NULL;
|
||||||
X509_NAME_ENTRY *entry;
|
X509_NAME_ENTRY *entry;
|
||||||
int i, set = -1;
|
int i, set = -1;
|
||||||
intname = sk_new_null();
|
intname.s = sk_new_null();
|
||||||
if(!intname) goto memerr;
|
if(!intname.s) goto memerr;
|
||||||
for(i = 0; i < sk_X509_NAME_ENTRY_num(a->entries); i++) {
|
for(i = 0; i < sk_X509_NAME_ENTRY_num(a->entries); i++) {
|
||||||
entry = sk_X509_NAME_ENTRY_value(a->entries, i);
|
entry = sk_X509_NAME_ENTRY_value(a->entries, i);
|
||||||
if(entry->set != set) {
|
if(entry->set != set) {
|
||||||
entries = sk_X509_NAME_ENTRY_new_null();
|
entries = sk_X509_NAME_ENTRY_new_null();
|
||||||
if(!entries) goto memerr;
|
if(!entries) goto memerr;
|
||||||
if(!sk_push(intname, (char *)entries)) goto memerr;
|
if(!sk_push(intname.s, (char *)entries)) goto memerr;
|
||||||
set = entry->set;
|
set = entry->set;
|
||||||
}
|
}
|
||||||
if(!sk_X509_NAME_ENTRY_push(entries, entry)) goto memerr;
|
if(!sk_X509_NAME_ENTRY_push(entries, entry)) goto memerr;
|
||||||
}
|
}
|
||||||
len = ASN1_item_ex_i2d((ASN1_VALUE **)intname_pp, NULL,
|
len = ASN1_item_ex_i2d(&intname.a, NULL,
|
||||||
ASN1_ITEM_rptr(X509_NAME_INTERNAL), -1, -1);
|
ASN1_ITEM_rptr(X509_NAME_INTERNAL), -1, -1);
|
||||||
if (!BUF_MEM_grow(a->bytes,len)) goto memerr;
|
if (!BUF_MEM_grow(a->bytes,len)) goto memerr;
|
||||||
p=(unsigned char *)a->bytes->data;
|
p=(unsigned char *)a->bytes->data;
|
||||||
ASN1_item_ex_i2d((ASN1_VALUE **)intname_pp,
|
ASN1_item_ex_i2d(&intname.a,
|
||||||
&p, ASN1_ITEM_rptr(X509_NAME_INTERNAL), -1, -1);
|
&p, ASN1_ITEM_rptr(X509_NAME_INTERNAL), -1, -1);
|
||||||
sk_pop_free(intname, sk_internal_free);
|
sk_pop_free(intname.s, sk_internal_free);
|
||||||
a->modified = 0;
|
a->modified = 0;
|
||||||
return len;
|
return len;
|
||||||
memerr:
|
memerr:
|
||||||
sk_pop_free(intname, sk_internal_free);
|
sk_pop_free(intname.s, sk_internal_free);
|
||||||
ASN1err(ASN1_F_X509_NAME_ENCODE, ERR_R_MALLOC_FAILURE);
|
ASN1err(ASN1_F_X509_NAME_ENCODE, ERR_R_MALLOC_FAILURE);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -60,8 +60,12 @@
|
|||||||
#include "cryptlib.h"
|
#include "cryptlib.h"
|
||||||
#include <openssl/asn1t.h>
|
#include <openssl/asn1t.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
#include <openssl/rsa.h>
|
#include <openssl/rsa.h>
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_DSA
|
||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Minor tweak to operation: free up EVP_PKEY */
|
/* Minor tweak to operation: free up EVP_PKEY */
|
||||||
static int pubkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
|
static int pubkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
|
||||||
|
@ -102,7 +102,7 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = {
|
|||||||
|
|
||||||
IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO)
|
IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO)
|
||||||
|
|
||||||
ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_INFO) = {
|
ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = {
|
||||||
ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO),
|
ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO),
|
||||||
ASN1_SIMPLE(X509_REQ, sig_alg, X509_ALGOR),
|
ASN1_SIMPLE(X509_REQ, sig_alg, X509_ALGOR),
|
||||||
ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING)
|
ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING)
|
||||||
|
@ -94,6 +94,10 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
|
|||||||
ret->ex_pathlen = -1;
|
ret->ex_pathlen = -1;
|
||||||
ret->skid = NULL;
|
ret->skid = NULL;
|
||||||
ret->akid = NULL;
|
ret->akid = NULL;
|
||||||
|
#ifndef OPENSSL_NO_RFC3779
|
||||||
|
ret->rfc3779_addr = NULL;
|
||||||
|
ret->rfc3779_asid = NULL;
|
||||||
|
#endif
|
||||||
ret->aux = NULL;
|
ret->aux = NULL;
|
||||||
CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data);
|
CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data);
|
||||||
break;
|
break;
|
||||||
@ -109,6 +113,10 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
|
|||||||
ASN1_OCTET_STRING_free(ret->skid);
|
ASN1_OCTET_STRING_free(ret->skid);
|
||||||
AUTHORITY_KEYID_free(ret->akid);
|
AUTHORITY_KEYID_free(ret->akid);
|
||||||
policy_cache_free(ret->policy_cache);
|
policy_cache_free(ret->policy_cache);
|
||||||
|
#ifndef OPENSSL_NO_RFC3779
|
||||||
|
sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free);
|
||||||
|
ASIdentifiers_free(ret->rfc3779_asid);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (ret->name != NULL) OPENSSL_free(ret->name);
|
if (ret->name != NULL) OPENSSL_free(ret->name);
|
||||||
break;
|
break;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# SSLeay/crypto/blowfish/Makefile
|
# OpenSSL/crypto/blowfish/Makefile
|
||||||
#
|
#
|
||||||
|
|
||||||
DIR= bf
|
DIR= bf
|
||||||
@ -40,7 +40,7 @@ top:
|
|||||||
all: lib
|
all: lib
|
||||||
|
|
||||||
lib: $(LIBOBJ)
|
lib: $(LIBOBJ)
|
||||||
$(AR) $(LIB) $(LIBOBJ)
|
$(ARX) $(LIB) $(LIBOBJ)
|
||||||
$(RANLIB) $(LIB) || echo Never mind.
|
$(RANLIB) $(LIB) || echo Never mind.
|
||||||
@touch lib
|
@touch lib
|
||||||
|
|
||||||
@ -62,7 +62,10 @@ links:
|
|||||||
@$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
|
@$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
|
||||||
@$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
|
@$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
|
||||||
|
|
||||||
install:
|
# We need to use force because 'install' matches 'INSTALL' on case
|
||||||
|
# insensitive systems
|
||||||
|
FRC.install:
|
||||||
|
install: FRC.install
|
||||||
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
||||||
@headerlist="$(EXHEADER)"; for i in $$headerlist ; \
|
@headerlist="$(EXHEADER)"; for i in $$headerlist ; \
|
||||||
do \
|
do \
|
||||||
@ -100,5 +103,9 @@ bf_enc.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
|
|||||||
bf_enc.o: ../../include/openssl/opensslconf.h bf_enc.c bf_locl.h
|
bf_enc.o: ../../include/openssl/opensslconf.h bf_enc.c bf_locl.h
|
||||||
bf_ofb64.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
|
bf_ofb64.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
|
||||||
bf_ofb64.o: ../../include/openssl/opensslconf.h bf_locl.h bf_ofb64.c
|
bf_ofb64.o: ../../include/openssl/opensslconf.h bf_locl.h bf_ofb64.c
|
||||||
bf_skey.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
|
bf_skey.o: ../../include/openssl/blowfish.h ../../include/openssl/crypto.h
|
||||||
bf_skey.o: ../../include/openssl/opensslconf.h bf_locl.h bf_pi.h bf_skey.c
|
bf_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/fips.h
|
||||||
|
bf_skey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
|
bf_skey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
|
||||||
|
bf_skey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
|
bf_skey.o: bf_locl.h bf_pi.h bf_skey.c
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user