Compare commits
1072 Commits
v3.15.8
...
v4.2.0-sta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
48c4b2fedc | ||
|
|
1cbc2536cc | ||
|
|
32f537cb6c | ||
|
|
497818525a | ||
|
|
9b8f1dadd0 | ||
|
|
132877ea0b | ||
|
|
09a0859865 | ||
|
|
e24787c8e4 | ||
|
|
ea45da5fa8 | ||
|
|
26793359a2 | ||
|
|
0eefa80d74 | ||
|
|
a0a572cf3e | ||
|
|
0e73af8b88 | ||
|
|
7135e9e500 | ||
|
|
fb8d2d4b2f | ||
|
|
78e1336598 | ||
|
|
b7d4c9f839 | ||
|
|
b4a3ad6e2d | ||
|
|
acd0a55d47 | ||
|
|
5c07391f1b | ||
|
|
928eb36b5e | ||
|
|
63e74554a8 | ||
|
|
bb6eeefe26 | ||
|
|
4bde06fbe3 | ||
|
|
b27504b222 | ||
|
|
95c036a08a | ||
|
|
d30e4ac74f | ||
|
|
c3e99e1394 | ||
|
|
f0dfe5355b | ||
|
|
df77088d5c | ||
|
|
9560b905af | ||
|
|
2c3e4a2d18 | ||
|
|
afb1c5f252 | ||
|
|
f2a3da94b6 | ||
|
|
54b6148259 | ||
|
|
ccc500e13f | ||
|
|
9357db4d0c | ||
|
|
306b280ccd | ||
|
|
d7fe000cfe | ||
|
|
fd6328aa8e | ||
|
|
2c6c88266b | ||
|
|
cd934a95a4 | ||
|
|
9c5fd165d0 | ||
|
|
774c0c5c3c | ||
|
|
fabc6596b3 | ||
|
|
d781734b55 | ||
|
|
65d1c3b8ce | ||
|
|
1d7f0de5b5 | ||
|
|
4fa2b71848 | ||
|
|
d137cab427 | ||
|
|
2312d0e125 | ||
|
|
e22563ed00 | ||
|
|
d89f9ddc42 | ||
|
|
89db0da0aa | ||
|
|
b7fe49c8b4 | ||
|
|
a84fbeae6b | ||
|
|
ff15b3cfaa | ||
|
|
136bc45857 | ||
|
|
98b8cd35d8 | ||
|
|
b247b4565c | ||
|
|
625bd121f2 | ||
|
|
8ec90339d9 | ||
|
|
f025f08315 | ||
|
|
a467c75390 | ||
|
|
b6b57154e5 | ||
|
|
89ff909d73 | ||
|
|
ebd435ae46 | ||
|
|
a5bfb8a18b | ||
|
|
d1d2eb0edd | ||
|
|
8b21082abe | ||
|
|
1b057df610 | ||
|
|
841e469340 | ||
|
|
725243b132 | ||
|
|
b2fb6d1a81 | ||
|
|
3256fef7f9 | ||
|
|
53c7f864b2 | ||
|
|
b6ca72549c | ||
|
|
dea5e73852 | ||
|
|
62ac388f55 | ||
|
|
98e94a6f0f | ||
|
|
a0ad39cf70 | ||
|
|
73273f4fec | ||
|
|
0e1073f622 | ||
|
|
4292936efc | ||
|
|
bbc208ad33 | ||
|
|
a991cc42f4 | ||
|
|
87a8447f0d | ||
|
|
743a6ab829 | ||
|
|
dd9635d8ff | ||
|
|
30829cec09 | ||
|
|
b213a962e9 | ||
|
|
0d43c1f3d7 | ||
|
|
d48e904c16 | ||
|
|
48d872187d | ||
|
|
a258b84018 | ||
|
|
f47a9c8b20 | ||
|
|
3183ccc0c8 | ||
|
|
5f1dcc3b0c | ||
|
|
82fc96b7f3 | ||
|
|
197b22973b | ||
|
|
12bf46296e | ||
|
|
f5a4b82302 | ||
|
|
177bab84e5 | ||
|
|
df2c27af32 | ||
|
|
c0a4143942 | ||
|
|
3b989329cd | ||
|
|
9a5eb1bb67 | ||
|
|
0340b323cd | ||
|
|
91222bc887 | ||
|
|
43e391528d | ||
|
|
ca817c50aa | ||
|
|
7261ed8b6f | ||
|
|
901ee627fc | ||
|
|
ea68e146c7 | ||
|
|
caa5ba7551 | ||
|
|
056c374f85 | ||
|
|
e7c2892579 | ||
|
|
5486b535d1 | ||
|
|
43476e80d4 | ||
|
|
ab4a78fdae | ||
|
|
4c89a21d12 | ||
|
|
b47039b7ec | ||
|
|
bfa20c53b0 | ||
|
|
937a344682 | ||
|
|
5bcf54b9e2 | ||
|
|
1f393c9dde | ||
|
|
78f6bbcdb8 | ||
|
|
6bfe6761d8 | ||
|
|
4c709f1f2c | ||
|
|
a1b324f7f8 | ||
|
|
9571f2fce8 | ||
|
|
34e0eb498a | ||
|
|
606b76d06e | ||
|
|
a5f9d38c0d | ||
|
|
872d222b59 | ||
|
|
42d04a36d6 | ||
|
|
4a6925e2ef | ||
|
|
c6c7f67dfd | ||
|
|
8139fbd026 | ||
|
|
f1b68873ef | ||
|
|
02c5d36f72 | ||
|
|
9d05e9c0b7 | ||
|
|
bcd8a521f5 | ||
|
|
425548565f | ||
|
|
f01e943448 | ||
|
|
082d0e459d | ||
|
|
793df114f3 | ||
|
|
74386fd0d0 | ||
|
|
b92509144b | ||
|
|
54cdab8005 | ||
|
|
8636bac12f | ||
|
|
3f10a37eda | ||
|
|
d762d2fa5d | ||
|
|
2dafd2102c | ||
|
|
2f818f9508 | ||
|
|
dfc00bf057 | ||
|
|
3b6112e317 | ||
|
|
c16b02a265 | ||
|
|
33a83cdba0 | ||
|
|
2dbf3f81fc | ||
|
|
fd1d65c4f9 | ||
|
|
cc452adff1 | ||
|
|
523b1801ed | ||
|
|
ab86e78cbe | ||
|
|
6aecdf59c1 | ||
|
|
ae25027135 | ||
|
|
1493b94b27 | ||
|
|
f532143094 | ||
|
|
5c5aa45a5e | ||
|
|
a37b604da9 | ||
|
|
63d61c490d | ||
|
|
a6b2d1621b | ||
|
|
778a2065ab | ||
|
|
cb0184fe98 | ||
|
|
a292e69d3f | ||
|
|
5c6f6fdb7d | ||
|
|
0bc16d47e2 | ||
|
|
bdbe0943cf | ||
|
|
4ef8f53c9e | ||
|
|
946a0f593f | ||
|
|
f0e774d1e1 | ||
|
|
bdad0fa53f | ||
|
|
0e5de0c076 | ||
|
|
2c2907c2a5 | ||
|
|
b7c08988dc | ||
|
|
708556d5c7 | ||
|
|
3b7b81fea7 | ||
|
|
326f02d76d | ||
|
|
e6c48327c1 | ||
|
|
000fc64f27 | ||
|
|
9d69f17f17 | ||
|
|
9d3d170411 | ||
|
|
40fc86dfd2 | ||
|
|
a2d3da2831 | ||
|
|
6894dde4e9 | ||
|
|
b70f22e21a | ||
|
|
09541082d6 | ||
|
|
4e62d1f509 | ||
|
|
c27a4b3865 | ||
|
|
852d50adcf | ||
|
|
2a1a9f36cc | ||
|
|
ed06f34f55 | ||
|
|
22c398494e | ||
|
|
e93e3b60da | ||
|
|
def36ddfe8 | ||
|
|
66b76a4420 | ||
|
|
645f8ddd31 | ||
|
|
eb2aa3dce1 | ||
|
|
99252cc936 | ||
|
|
95d3289fa2 | ||
|
|
88036db223 | ||
|
|
ab5c12fd17 | ||
|
|
c0317ad198 | ||
|
|
342d03a294 | ||
|
|
2cf26a1353 | ||
|
|
c52801754c | ||
|
|
02419e248f | ||
|
|
87d0c70695 | ||
|
|
7433b20d43 | ||
|
|
348be7fb00 | ||
|
|
82d531562c | ||
|
|
4c88d94d13 | ||
|
|
afb15f6521 | ||
|
|
ebe99cf5ef | ||
|
|
37328544ad | ||
|
|
85b123046b | ||
|
|
3e12d260b8 | ||
|
|
a975ba9e97 | ||
|
|
171902f1fb | ||
|
|
1785089798 | ||
|
|
d6685edfa0 | ||
|
|
eaeaaf12c1 | ||
|
|
bf7296aefb | ||
|
|
56df8162bd | ||
|
|
b35fd4f1aa | ||
|
|
0927f93b07 | ||
|
|
b19e785c2c | ||
|
|
492ce6ac91 | ||
|
|
03967d62f4 | ||
|
|
46790080a7 | ||
|
|
60befc82c5 | ||
|
|
9fd38dc340 | ||
|
|
2a750cd18d | ||
|
|
ef20276ab5 | ||
|
|
adc548fc61 | ||
|
|
347a859ffc | ||
|
|
09f80c7f5f | ||
|
|
db2468154f | ||
|
|
b8d2ccee83 | ||
|
|
9034e3a0fe | ||
|
|
5f77627857 | ||
|
|
d6bac37def | ||
|
|
24e98dd05e | ||
|
|
87e876d8c6 | ||
|
|
46b4654564 | ||
|
|
a76f719aac | ||
|
|
411f15bec3 | ||
|
|
0c9ba1b361 | ||
|
|
625c3074b9 | ||
|
|
59dddda3a9 | ||
|
|
dc5d11fef4 | ||
|
|
7fcb85b743 | ||
|
|
4ec90be4d6 | ||
|
|
a49f447e47 | ||
|
|
e6252a94ce | ||
|
|
f9e364f893 | ||
|
|
10431738c7 | ||
|
|
208e9f3fcf | ||
|
|
e9d1f32441 | ||
|
|
e8f468e2cf | ||
|
|
00dadafddb | ||
|
|
6f9210d6af | ||
|
|
b2555d38bc | ||
|
|
9b3fee223f | ||
|
|
6311ae425c | ||
|
|
0f60ee8a85 | ||
|
|
5e28dd94a2 | ||
|
|
ea4e7b2669 | ||
|
|
256ac4a515 | ||
|
|
61d01ab7f3 | ||
|
|
76b9476b9a | ||
|
|
99329b0fc4 | ||
|
|
12687e5a2a | ||
|
|
2c97b040ff | ||
|
|
1bad2bed3c | ||
|
|
681de3e41a | ||
|
|
6209e8ff24 | ||
|
|
63538fedde | ||
|
|
54fb08d6df | ||
|
|
2ba6c66d44 | ||
|
|
8b2a1f13c4 | ||
|
|
0e6bb4717e | ||
|
|
b83aebafb1 | ||
|
|
65aeb71d6c | ||
|
|
c6e4aebcdf | ||
|
|
cf83561b64 | ||
|
|
6544b5df88 | ||
|
|
132f60e77f | ||
|
|
37f1522825 | ||
|
|
05d86ade20 | ||
|
|
e298b3290d | ||
|
|
7deab4c54f | ||
|
|
67c3751836 | ||
|
|
a5d222a20e | ||
|
|
154930d128 | ||
|
|
24bfea1ad2 | ||
|
|
644e7a8f45 | ||
|
|
5530336617 | ||
|
|
fd0390430d | ||
|
|
01a3b59e28 | ||
|
|
3e1c103c78 | ||
|
|
586b74b05f | ||
|
|
7d4023f6a1 | ||
|
|
487e66394e | ||
|
|
3f992ce39d | ||
|
|
eb68ad162b | ||
|
|
e8986f389f | ||
|
|
dea4f2fb1a | ||
|
|
8454bd1077 | ||
|
|
0d13b385ab | ||
|
|
aee766e11b | ||
|
|
e7f0ed4b98 | ||
|
|
9d53e9b6d5 | ||
|
|
63fe2a219e | ||
|
|
a229e1e8e4 | ||
|
|
0931b574a7 | ||
|
|
14316f8e24 | ||
|
|
489af0cd2b | ||
|
|
51c31695bd | ||
|
|
b06dbf16c2 | ||
|
|
089ca6d6e8 | ||
|
|
0a1a81ab42 | ||
|
|
1b841363cc | ||
|
|
ed7ac6fb26 | ||
|
|
b2b24a06f3 | ||
|
|
cb33ada380 | ||
|
|
e75417fde1 | ||
|
|
48fa6a458c | ||
|
|
fa79ef0940 | ||
|
|
e8e1d35744 | ||
|
|
9301cce9ac | ||
|
|
b1ad0525ea | ||
|
|
b7bd710bc8 | ||
|
|
1acd24deb8 | ||
|
|
b9ddbb974a | ||
|
|
20d9d5b0da | ||
|
|
883d5778a3 | ||
|
|
f4d9991e3a | ||
|
|
63c6c47165 | ||
|
|
6054a851ce | ||
|
|
e7c6fc221d | ||
|
|
0a4ac0e380 | ||
|
|
d4cf6e37e8 | ||
|
|
dd48c825ed | ||
|
|
34fe643938 | ||
|
|
1396ca085b | ||
|
|
8e4fa1c786 | ||
|
|
4bff2b6bef | ||
|
|
1371fc8327 | ||
|
|
c1938969aa | ||
|
|
000c38ae1f | ||
|
|
eccc85b9fa | ||
|
|
f5f5947616 | ||
|
|
8e83fb2e67 | ||
|
|
99ddf65a96 | ||
|
|
ab4924b86b | ||
|
|
4f714b9788 | ||
|
|
c34657b20f | ||
|
|
6f54a2ec6b | ||
|
|
9acd952ea1 | ||
|
|
31461dbfb5 | ||
|
|
da6fa384d4 | ||
|
|
f5c1c33dba | ||
|
|
e83116fc0b | ||
|
|
18002d4545 | ||
|
|
d1fbdb3ddf | ||
|
|
0e1d81e63f | ||
|
|
b4673344c0 | ||
|
|
2a22179068 | ||
|
|
51dfc35aac | ||
|
|
3cf30f1e96 | ||
|
|
fb8fc4d800 | ||
|
|
4f0fd2c2f9 | ||
|
|
7098fdff29 | ||
|
|
a8d2b6b3c8 | ||
|
|
34b2d257cd | ||
|
|
e77161ae9a | ||
|
|
1db036eb75 | ||
|
|
1792fe34b9 | ||
|
|
6a52e0a138 | ||
|
|
c400c38588 | ||
|
|
d4ab1c7e86 | ||
|
|
dcab47efd8 | ||
|
|
81a9779fc4 | ||
|
|
8b8cc41a1a | ||
|
|
0a60c2bb2c | ||
|
|
21c8ad03d3 | ||
|
|
f314613fa1 | ||
|
|
91251eb319 | ||
|
|
e3653a7a07 | ||
|
|
23af4e92f3 | ||
|
|
ec18ae0fbc | ||
|
|
4778dac49f | ||
|
|
d7b893f250 | ||
|
|
741d7bdb67 | ||
|
|
ca87861915 | ||
|
|
9e26bc40bb | ||
|
|
8ce2dd4bf7 | ||
|
|
fe598fc6fc | ||
|
|
2cd64c748a | ||
|
|
b658f2e7c3 | ||
|
|
b0444bcfa1 | ||
|
|
50fbdb961f | ||
|
|
77fda069a8 | ||
|
|
2befc9d68f | ||
|
|
13957e7762 | ||
|
|
589b056ecb | ||
|
|
8f5a0dc66a | ||
|
|
f8e2285ab8 | ||
|
|
7ca9b23b76 | ||
|
|
c443116189 | ||
|
|
fc918f9052 | ||
|
|
db9a17c8a7 | ||
|
|
aec980b803 | ||
|
|
aed1e433b2 | ||
|
|
ab01cd9be1 | ||
|
|
2abcffd4a7 | ||
|
|
0bcae86038 | ||
|
|
45abd67bd1 | ||
|
|
b73c53471c | ||
|
|
6fd623248e | ||
|
|
7db3f8e2c6 | ||
|
|
b399b08df7 | ||
|
|
d1700d3739 | ||
|
|
7fe4521083 | ||
|
|
0555668f2c | ||
|
|
3aad9a2673 | ||
|
|
9c245b7fc5 | ||
|
|
c3c705f82b | ||
|
|
7e79e3a6bf | ||
|
|
f63656f18b | ||
|
|
dc71f957f3 | ||
|
|
8b6e66f095 | ||
|
|
9a2f4bb8f8 | ||
|
|
af8395b17b | ||
|
|
8bf8fcca60 | ||
|
|
483f6a5acd | ||
|
|
5f3fd3ae86 | ||
|
|
fdeb65dec8 | ||
|
|
cb2ed60305 | ||
|
|
7b021d68c3 | ||
|
|
5067d1fc10 | ||
|
|
8b8ff2ac34 | ||
|
|
99d3ea9e56 | ||
|
|
4b0bb75909 | ||
|
|
2e308ea82c | ||
|
|
9f1aa1a27c | ||
|
|
d51b958334 | ||
|
|
8112c1236d | ||
|
|
9af9941b90 | ||
|
|
d620433d1d | ||
|
|
4e648dd35f | ||
|
|
3cdb4f8bf0 | ||
|
|
7367da3fb6 | ||
|
|
6e6c93624a | ||
|
|
cba8a7f155 | ||
|
|
4362ce5f6b | ||
|
|
a25d04044a | ||
|
|
60fc9b3a1d | ||
|
|
d33a95352a | ||
|
|
f79a119c82 | ||
|
|
d7a86de969 | ||
|
|
84653a7fb5 | ||
|
|
a7a51d8f33 | ||
|
|
ab0029f9ac | ||
|
|
2972b1c467 | ||
|
|
5743a1c80f | ||
|
|
9d9495f8b6 | ||
|
|
051112a101 | ||
|
|
b4765a5c9e | ||
|
|
88f923a2a1 | ||
|
|
3756a2c8c7 | ||
|
|
a6cc9af1fc | ||
|
|
6c9fac2a71 | ||
|
|
85ce959031 | ||
|
|
45b280a53e | ||
|
|
d7b50874f6 | ||
|
|
92bd585f25 | ||
|
|
9cd6a992c5 | ||
|
|
d88458a447 | ||
|
|
9daccb3300 | ||
|
|
964fd95a43 | ||
|
|
3e6246af59 | ||
|
|
e01f9961ac | ||
|
|
b8c6bc0d7f | ||
|
|
b7986ccb17 | ||
|
|
4d13121de1 | ||
|
|
0bb6b388c0 | ||
|
|
97a6dc9e7e | ||
|
|
1bcec1b9ab | ||
|
|
efe276414b | ||
|
|
79165ce8cb | ||
|
|
44b8106da6 | ||
|
|
bd40a59f3e | ||
|
|
36920b1469 | ||
|
|
d824b78af0 | ||
|
|
baf65f4f43 | ||
|
|
e6ab7d165c | ||
|
|
66db74d827 | ||
|
|
406ff31fc8 | ||
|
|
1070aba5e2 | ||
|
|
2610d9ce94 | ||
|
|
74324bb1b5 | ||
|
|
60d6d71636 | ||
|
|
2a4b935e07 | ||
|
|
cc453c6c12 | ||
|
|
b5a5100068 | ||
|
|
964dac96a7 | ||
|
|
011fa6bafd | ||
|
|
c9f18bfe3b | ||
|
|
4cf8923838 | ||
|
|
8dccecc531 | ||
|
|
61e1491407 | ||
|
|
9b654d25d1 | ||
|
|
5dcd421580 | ||
|
|
ab9d89cb31 | ||
|
|
02871d5ed4 | ||
|
|
0b5ee1b633 | ||
|
|
8327984523 | ||
|
|
f2bb5e8944 | ||
|
|
7c393edf49 | ||
|
|
58fe2781f1 | ||
|
|
a7acacff41 | ||
|
|
d5f3fa2ff8 | ||
|
|
01c9fa1830 | ||
|
|
eba78cd87a | ||
|
|
40864da533 | ||
|
|
0e33e2d9ee | ||
|
|
28aa99c3e3 | ||
|
|
21afcf17a8 | ||
|
|
b02e1e8d59 | ||
|
|
8be6c0c08c | ||
|
|
b61803f165 | ||
|
|
fd71618f10 | ||
|
|
b2f919ec13 | ||
|
|
354ec9cd9d | ||
|
|
f8e3e63938 | ||
|
|
3652929573 | ||
|
|
4500f2d773 | ||
|
|
08bd5000f1 | ||
|
|
db17fce49a | ||
|
|
b7e00eea1a | ||
|
|
1fe69992e2 | ||
|
|
373bbf6660 | ||
|
|
707156f53b | ||
|
|
4ff9d951f6 | ||
|
|
1d05503d20 | ||
|
|
4eaabd9be5 | ||
|
|
60af8bdb7c | ||
|
|
43ce956d9c | ||
|
|
1634d9571c | ||
|
|
e96ede65ce | ||
|
|
46a2a437d4 | ||
|
|
1592d6f856 | ||
|
|
a3e4a2fd6e | ||
|
|
8312ceb14c | ||
|
|
5f9a851adb | ||
|
|
7d2ac604f5 | ||
|
|
8a0c058782 | ||
|
|
f51a8fffde | ||
|
|
8bea016d69 | ||
|
|
c7d1424adf | ||
|
|
e7fd45537d | ||
|
|
7520137601 | ||
|
|
da5357cadd | ||
|
|
0dbba5f056 | ||
|
|
6478f92e04 | ||
|
|
cb4f9afd6d | ||
|
|
3a378520c0 | ||
|
|
53c1a6c264 | ||
|
|
eceb460cff | ||
|
|
ef64cd300c | ||
|
|
dcdd6d6d6f | ||
|
|
a9fff57063 | ||
|
|
ee023c6bf4 | ||
|
|
da6ed416be | ||
|
|
26384d4936 | ||
|
|
b957415609 | ||
|
|
851a547fd5 | ||
|
|
15552be934 | ||
|
|
036f6a1177 | ||
|
|
785d984a3c | ||
|
|
56d7da3130 | ||
|
|
587e962331 | ||
|
|
2ba89cb7a9 | ||
|
|
c7964b62c0 | ||
|
|
358757cd2e | ||
|
|
0100159079 | ||
|
|
78956534f0 | ||
|
|
0e3881d418 | ||
|
|
8439beb525 | ||
|
|
0eaccb7259 | ||
|
|
0203a25b60 | ||
|
|
9715431921 | ||
|
|
c600f7659a | ||
|
|
2ee7d05dcc | ||
|
|
71fe3313d3 | ||
|
|
c826c605a3 | ||
|
|
f42c94e3bc | ||
|
|
0fed159abd | ||
|
|
f1f6ac9308 | ||
|
|
1d9d9e2955 | ||
|
|
6d04d784c4 | ||
|
|
b236a1c32f | ||
|
|
c114bcaead | ||
|
|
49a631996c | ||
|
|
fba89ae034 | ||
|
|
f4548945f7 | ||
|
|
e4e6ed3701 | ||
|
|
a28e075290 | ||
|
|
7225823f90 | ||
|
|
2460effb0b | ||
|
|
ce251417f5 | ||
|
|
b631670cca | ||
|
|
c82c9b481b | ||
|
|
e1b03aa056 | ||
|
|
e7b3b31d9f | ||
|
|
7bde02b3e7 | ||
|
|
19cb31d429 | ||
|
|
4581342fb0 | ||
|
|
71cb117dda | ||
|
|
d378d3c009 | ||
|
|
dd9dd6306e | ||
|
|
c500fd5a86 | ||
|
|
c2032c64d2 | ||
|
|
2cf4a74b47 | ||
|
|
36fb4e2f2d | ||
|
|
18ac566f48 | ||
|
|
a4bdfbf953 | ||
|
|
2435ec2d6b | ||
|
|
53cac0499f | ||
|
|
102ecac70c | ||
|
|
911c8df185 | ||
|
|
1f3d9c04c0 | ||
|
|
01ad44feef | ||
|
|
24042c973a | ||
|
|
48d4ed38ac | ||
|
|
de5ff0acea | ||
|
|
1f0a46331b | ||
|
|
540c5cdd2f | ||
|
|
a48981c3c6 | ||
|
|
cdf0241ed0 | ||
|
|
c5aa13021a | ||
|
|
d7ab3a6dec | ||
|
|
02c2782e39 | ||
|
|
b4ca2824cb | ||
|
|
efcf06ef7c | ||
|
|
6a594218bc | ||
|
|
292aa196fb | ||
|
|
a2f943984f | ||
|
|
f114932a03 | ||
|
|
90228e1275 | ||
|
|
87d24f4488 | ||
|
|
090899e74e | ||
|
|
fdd01c8c8c | ||
|
|
64b8af728b | ||
|
|
4e3004639d | ||
|
|
97780149a5 | ||
|
|
25aeb8238e | ||
|
|
9f9155b6f2 | ||
|
|
074e770c98 | ||
|
|
fee81ce49e | ||
|
|
77248e4e2a | ||
|
|
4f80c7c94e | ||
|
|
19372c8199 | ||
|
|
b4571f1f5a | ||
|
|
290663f8b2 | ||
|
|
7601276411 | ||
|
|
4367761367 | ||
|
|
978928be83 | ||
|
|
80dd6cc143 | ||
|
|
9fbe471156 | ||
|
|
e429185535 | ||
|
|
7624d90590 | ||
|
|
7726bbbff2 | ||
|
|
e01ae09809 | ||
|
|
a5fabda5c6 | ||
|
|
19c348b5c7 | ||
|
|
33d27a391a | ||
|
|
173163d1a3 | ||
|
|
af9d82963e | ||
|
|
fea89c52f4 | ||
|
|
5601aa4634 | ||
|
|
f1ecf33d94 | ||
|
|
765b075e50 | ||
|
|
87fb9f73e9 | ||
|
|
5ea13a09f6 | ||
|
|
d42bdf9c0b | ||
|
|
263769765c | ||
|
|
f26a9589ff | ||
|
|
a89a2839de | ||
|
|
ebbfe769e3 | ||
|
|
6564d03369 | ||
|
|
86b558300b | ||
|
|
9906a1045b | ||
|
|
ac5a5dfd56 | ||
|
|
6fe4c3ff34 | ||
|
|
cab4a8c9b1 | ||
|
|
e7fdb1360a | ||
|
|
a742cf9bf8 | ||
|
|
5b5d03d5ac | ||
|
|
6cbe8219a3 | ||
|
|
ad8f9c6134 | ||
|
|
38d1e908d6 | ||
|
|
b53e94b49a | ||
|
|
484f7a6c32 | ||
|
|
d8a3768464 | ||
|
|
827fc67e52 | ||
|
|
ec4dad76e2 | ||
|
|
295dd4ff21 | ||
|
|
cb9e0a1973 | ||
|
|
c77b99a8a4 | ||
|
|
04f24881cb | ||
|
|
be65e31cdc | ||
|
|
c85eae1322 | ||
|
|
797dae9d74 | ||
|
|
1ce8e227d2 | ||
|
|
245db5d5ce | ||
|
|
1781a9fd76 | ||
|
|
27a9080ac3 | ||
|
|
cae4d400b9 | ||
|
|
6ab24a2ca3 | ||
|
|
3b544b8584 | ||
|
|
7a9d3db514 | ||
|
|
6c713e4b88 | ||
|
|
fd50248139 | ||
|
|
651087ab5a | ||
|
|
7a671eb70b | ||
|
|
aca46f42fb | ||
|
|
b2a5516c63 | ||
|
|
88bf5d9676 | ||
|
|
3b0a7e679a | ||
|
|
5b658ebff5 | ||
|
|
0cdaf43a14 | ||
|
|
a8b469eb7f | ||
|
|
10dde24363 | ||
|
|
5aa5f350ba | ||
|
|
9d4d877919 | ||
|
|
f923409f1f | ||
|
|
dbeb5d702f | ||
|
|
27e243085d | ||
|
|
bf9f912b29 | ||
|
|
79bf578fd3 | ||
|
|
e43e03c30a | ||
|
|
1605ab86d2 | ||
|
|
34dc41fe75 | ||
|
|
4e2e207e67 | ||
|
|
9205ee70f4 | ||
|
|
94d9ce1dfa | ||
|
|
ff5bf7aea1 | ||
|
|
dcd6e02de9 | ||
|
|
a36296a959 | ||
|
|
ade8f780a9 | ||
|
|
891a645eaa | ||
|
|
a130ce2eed | ||
|
|
b1442633dd | ||
|
|
3c1569dff7 | ||
|
|
683646e452 | ||
|
|
08531a0f31 | ||
|
|
3e7a6054a9 | ||
|
|
06eba2c1e2 | ||
|
|
1a76f0cd26 | ||
|
|
78c6ad4d84 | ||
|
|
0dd3305f06 | ||
|
|
5e343b8e7e | ||
|
|
814c5776fd | ||
|
|
b25177ca6c | ||
|
|
dc98832757 | ||
|
|
dc313ccf6e | ||
|
|
e00ba1c66a | ||
|
|
7cdda4d595 | ||
|
|
86101468fc | ||
|
|
443fef6a6a | ||
|
|
9d736898cc | ||
|
|
8aacd7b802 | ||
|
|
b68253c180 | ||
|
|
ef29aa94ea | ||
|
|
ea797fd98e | ||
|
|
bbb72946b7 | ||
|
|
1830a0a74c | ||
|
|
45703a8d72 | ||
|
|
fdabe614f8 | ||
|
|
dfde631cb2 | ||
|
|
12a7c32530 | ||
|
|
547c09e1d7 | ||
|
|
a87552b37f | ||
|
|
edef75c70f | ||
|
|
6b51f2d5b2 | ||
|
|
2a6ab9549b | ||
|
|
3e24212780 | ||
|
|
5d2f34aa6d | ||
|
|
34c1d5cba0 | ||
|
|
6c65550eab | ||
|
|
90ce5c04dc | ||
|
|
f8c9285b92 | ||
|
|
393ca1b30c | ||
|
|
de299848c1 | ||
|
|
82796d4b4c | ||
|
|
29101a29c9 | ||
|
|
ec2849b885 | ||
|
|
efc96e40d1 | ||
|
|
378f5c0d4b | ||
|
|
b291b51988 | ||
|
|
e1537b2a56 | ||
|
|
e4555b5bf5 | ||
|
|
abced6c365 | ||
|
|
b787465b42 | ||
|
|
083183e3b1 | ||
|
|
db1fabbdd4 | ||
|
|
6976219b05 | ||
|
|
7da46501cc | ||
|
|
788443d3cf | ||
|
|
494e469dd2 | ||
|
|
72f3329faa | ||
|
|
bf3d876e6a | ||
|
|
0d3541594f | ||
|
|
2cf264a9d5 | ||
|
|
3f8e0a67e6 | ||
|
|
3bf01072d8 | ||
|
|
1ab5a022c6 | ||
|
|
5bfc49f63f | ||
|
|
4ee4cb2068 | ||
|
|
013e4429da | ||
|
|
3c63f70cde | ||
|
|
bd618970c1 | ||
|
|
68390b1ba3 | ||
|
|
364bf50a94 | ||
|
|
02500365bf | ||
|
|
1d023b344d | ||
|
|
e5bf2ed1d1 | ||
|
|
ae9ef3998c | ||
|
|
1fffe4a463 | ||
|
|
b6fcbe8436 | ||
|
|
35654530ba | ||
|
|
173016ef47 | ||
|
|
13909fc407 | ||
|
|
a90001581e | ||
|
|
333b666f6b | ||
|
|
9b62141580 | ||
|
|
2c5f268f16 | ||
|
|
4f75d4eea2 | ||
|
|
c78b0c3a40 | ||
|
|
bbf8ed408d | ||
|
|
ce43044426 | ||
|
|
5c8cf9ecd2 | ||
|
|
460556ff45 | ||
|
|
6a964123a1 | ||
|
|
f5f1fec840 | ||
|
|
2ad80df1c7 | ||
|
|
56d7766ba3 | ||
|
|
cc5ba81245 | ||
|
|
ad857c40d1 | ||
|
|
9c3cb2fbba | ||
|
|
db83e6dd31 | ||
|
|
f81446bf69 | ||
|
|
a59488b299 | ||
|
|
b224f6fac9 | ||
|
|
e13c903ad2 | ||
|
|
51251bc421 | ||
|
|
e4059a65b9 | ||
|
|
c7b5f772aa | ||
|
|
e8afb6ea51 | ||
|
|
26cbfcdee0 | ||
|
|
9ce32e3808 | ||
|
|
9ad48067f6 | ||
|
|
817eaa6da4 | ||
|
|
6c0989ba4d | ||
|
|
6d1a11eefb | ||
|
|
6968797848 | ||
|
|
1c22f14d1c | ||
|
|
1906179a1b | ||
|
|
b0d65d2a3e | ||
|
|
7e9e50c03b | ||
|
|
5b21da4dc5 | ||
|
|
d7c6683d9b | ||
|
|
b599dc2b9d | ||
|
|
9ea2dbea95 | ||
|
|
cffe7eccde | ||
|
|
b1c791dbd9 | ||
|
|
8c6316eb9c | ||
|
|
15c7463150 | ||
|
|
ed5feaf7ae | ||
|
|
05987ec717 | ||
|
|
b40e0888ad | ||
|
|
b24e122a0d | ||
|
|
7aa159ca6d | ||
|
|
f493ff859c | ||
|
|
6b325929e5 | ||
|
|
3e42c6edcd | ||
|
|
6c9e64129d | ||
|
|
d9e6b8a62d | ||
|
|
3d747f7c87 | ||
|
|
744c247e92 | ||
|
|
441fb60679 | ||
|
|
50a854c4cf | ||
|
|
f7a7a97f8c | ||
|
|
f66aa60385 | ||
|
|
e07e41d0aa | ||
|
|
21f2beca9f | ||
|
|
5ab6d58504 | ||
|
|
1c237af5b3 | ||
|
|
fbfd7a4dea | ||
|
|
22b2ae7358 | ||
|
|
fb3ca1b53e | ||
|
|
fed2bc5f72 | ||
|
|
eebf07b67c | ||
|
|
384b240ea2 | ||
|
|
6a3eccd344 | ||
|
|
1ac74b0061 | ||
|
|
ba8b104d7b | ||
|
|
246c444b93 | ||
|
|
60d3dec246 | ||
|
|
d42f3bbdb6 | ||
|
|
ce4b54944b | ||
|
|
2817f6ed1a | ||
|
|
0ef4b7e933 | ||
|
|
45b6a3b67d | ||
|
|
6ff2039b1f | ||
|
|
b1ea7c035f | ||
|
|
172fd6d233 | ||
|
|
8a1ad3fcff | ||
|
|
4b56af67a2 | ||
|
|
ac47e889f7 | ||
|
|
3e3f746f3b | ||
|
|
e08b36ea9c | ||
|
|
6361ec2f10 | ||
|
|
397c2a4f8a | ||
|
|
d19c37de2e | ||
|
|
5a2cd5fc90 | ||
|
|
3feef07c93 | ||
|
|
6b89b1f97a | ||
|
|
27ea9d9bce | ||
|
|
bca69488b2 | ||
|
|
a42290dd57 | ||
|
|
2f4507e4f1 | ||
|
|
508cda43a2 | ||
|
|
f54a7e50ce | ||
|
|
4c42630f2b | ||
|
|
41bc83c5ce | ||
|
|
68c576e0d9 | ||
|
|
06e5f8c39b | ||
|
|
effca6c081 | ||
|
|
e810551aab | ||
|
|
0d48a4a1a7 | ||
|
|
b4ba3d7ca6 | ||
|
|
28a1ff5d59 | ||
|
|
696fe47de2 | ||
|
|
70490a4db6 | ||
|
|
7ac5f8fde1 | ||
|
|
03e0dd6ca3 | ||
|
|
764b783317 | ||
|
|
666e47faaa | ||
|
|
4ea1a7e651 | ||
|
|
ad32ace0a1 | ||
|
|
7d1bb05c0c | ||
|
|
700eca4566 | ||
|
|
f1af32b783 | ||
|
|
57cdbffc2c | ||
|
|
554af3dcfa | ||
|
|
3710a0a6c8 | ||
|
|
2b59aefe80 | ||
|
|
8b6bd306f3 | ||
|
|
436a46a9f4 | ||
|
|
ab0beb354b | ||
|
|
b8035371f4 | ||
|
|
c0ee01bbf6 | ||
|
|
1eb46c697f | ||
|
|
9bd40353c2 | ||
|
|
8a4e8067f6 | ||
|
|
201c85478e | ||
|
|
a1ed8e7a67 | ||
|
|
2342ea15eb | ||
|
|
cb57a5f3ed | ||
|
|
b7663a940e | ||
|
|
6e1b05316d | ||
|
|
b3a1d6bff1 | ||
|
|
de21642db1 | ||
|
|
616b75bfba | ||
|
|
9c9279817b | ||
|
|
3d9c660688 | ||
|
|
68c04a95e0 | ||
|
|
1dcd6b92a0 | ||
|
|
ea13e0482a | ||
|
|
3be4682cda | ||
|
|
d8bec5e034 | ||
|
|
d26a6b59a3 | ||
|
|
413e3b36cb | ||
|
|
be83a54f22 | ||
|
|
619cf89106 | ||
|
|
0e962aa6e5 | ||
|
|
934c1b7952 | ||
|
|
d699b65a25 | ||
|
|
d61684f210 | ||
|
|
f64c165a8b | ||
|
|
b7deab9787 | ||
|
|
e897661402 | ||
|
|
e3ddfc42af | ||
|
|
5e573b518a | ||
|
|
dc3b81f633 | ||
|
|
42eacece82 | ||
|
|
a364874b48 | ||
|
|
980970da86 | ||
|
|
99b5188ee9 | ||
|
|
da27a4da10 | ||
|
|
222f9f4f47 | ||
|
|
8569d14cb3 | ||
|
|
621e1656b4 | ||
|
|
5f332fa29e | ||
|
|
020b27bab2 | ||
|
|
4f2d4420df | ||
|
|
5083330b86 | ||
|
|
de869080be | ||
|
|
cce06e8c50 | ||
|
|
ee17bd7470 | ||
|
|
6372634eda | ||
|
|
330bbb2f8b | ||
|
|
e8c3e8dd63 | ||
|
|
fd089b4b6b | ||
|
|
1f7f424075 | ||
|
|
9e93bd1000 | ||
|
|
2e41d25bca | ||
|
|
164eb30732 | ||
|
|
65c72ddfe1 | ||
|
|
57d8e070f9 | ||
|
|
e01723a435 | ||
|
|
8a47af0edc | ||
|
|
95658be0ce | ||
|
|
aa70ac0be2 | ||
|
|
7b44fbe265 | ||
|
|
5e0a77704b | ||
|
|
801ef2c62c | ||
|
|
28d8730948 | ||
|
|
39626bb349 | ||
|
|
7389553bd6 | ||
|
|
a376e17aee | ||
|
|
f78ba4649b | ||
|
|
1f6314746c | ||
|
|
161e815c03 | ||
|
|
b842b8583e | ||
|
|
0ee1e103dd | ||
|
|
239f878bd1 | ||
|
|
f3c2125259 | ||
|
|
1c6911634c | ||
|
|
98e53cb4eb | ||
|
|
c7f8f9fc90 | ||
|
|
6c3ed46542 | ||
|
|
7328fce60d | ||
|
|
9a67d2a869 | ||
|
|
f8ff68ca7a | ||
|
|
099d813a8c | ||
|
|
8df27ffdcf | ||
|
|
cb39768e09 | ||
|
|
92fd92c208 | ||
|
|
034d1dff21 | ||
|
|
64a528f318 | ||
|
|
4821d06dff | ||
|
|
6a25b42efb | ||
|
|
50598dcbac | ||
|
|
6f760d796c | ||
|
|
cca27f6724 | ||
|
|
13f4086d53 | ||
|
|
55fdeacf87 |
16
.gitignore
vendored
16
.gitignore
vendored
@@ -78,6 +78,7 @@ tests/unit
|
||||
testsuite/testsuite.test
|
||||
tests/unit.test
|
||||
tests/bio_write_test.txt
|
||||
test-write-dhparams.pem
|
||||
testsuite/*.der
|
||||
testsuite/*.pem
|
||||
testsuite/*.raw
|
||||
@@ -295,6 +296,7 @@ Backup
|
||||
UpgradeLog.htm
|
||||
*.aps
|
||||
*.VC.db
|
||||
*.filters
|
||||
|
||||
IDE/INTIME-RTOS/Debug_*
|
||||
IDE/VS-ARM/.vs
|
||||
@@ -318,3 +320,17 @@ scripts/memtest.txt
|
||||
doc/doxygen_warnings
|
||||
doc/html
|
||||
doc/pdf
|
||||
|
||||
# XCODE Index
|
||||
IDE/XCODE/Index
|
||||
|
||||
# ARM DS-5
|
||||
\.settings/
|
||||
\.cproject
|
||||
\.project
|
||||
|
||||
# Renesas e2studio
|
||||
/IDE/Renesas/e2studio/Projects/test/src/smc_gen
|
||||
/IDE/Renesas/e2studio/Projects/test/trash
|
||||
/IDE/Renesas/e2studio/Projects/test/*.launch
|
||||
/IDE/Renesas/e2studio/Projects/test/*.scfg
|
||||
|
||||
255
ChangeLog.md
255
ChangeLog.md
@@ -1,3 +1,258 @@
|
||||
# wolfSSL Release 4.2.0 (10/22/2019)
|
||||
|
||||
If you have questions about this release, then feel free to contact us on our info@ address.
|
||||
|
||||
Release 4.2.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
|
||||
##### New Feature Additions
|
||||
* Over 198 OpenSSL compatibility API’s added
|
||||
* Apache port added for compiling with wolfSSL using --enable-apachehttpd
|
||||
* Port for using wolfSSL with OpenVSwitch
|
||||
* Port for Renesas TSIP added
|
||||
* Visual Studio Solution for Azure Sphere Devices (MT3620 and MT3620-mini) added to the directory IDE/VS-AZURE-SPHERE
|
||||
* Addition of Coldfire MCF5441X NetBurner example to the directory IDE/M68K/
|
||||
* Added support for prime checking to SP math build
|
||||
* Addition of DYNAMIC_TYPE_BIGINT type for tracking mp_int allocations
|
||||
* Addition of wc_ecc_get_curve_params API for getting ecc_set_type params for a curve
|
||||
* Adding in TLS_SHA256_SHA256 and TLS_SHA384_SHA384 TLS1.3 cipher suites (null ciphers)
|
||||
* Added in PKCS7 decryption callbacks for CMS operations
|
||||
* Added handling for optional ECC parameters with PKCS7 KARI
|
||||
* Addition to configure.ac for FIPS wolfRand builds
|
||||
* Adding the flag WOLFSSL_LOAD_FLAG_DATE_ERR_OKAY for ignoring certificate date checks with the functions wolfSSL_CTX_load_verify_buffer_ex and wolfSSL_CTX_load_verify_locations_ex
|
||||
* Support for PKCS8 keys added to the function wolfSSL_CTX_use_PrivateKey_buffer
|
||||
* Support for KECCAK hashing. Build with macro WOLFSSL_HASH_FLAGS and call wc_Sha3_SetFlags(&sha, WC_HASH_SHA3_KECCAK256) before the first SHA3 update
|
||||
* Addition of setting secure renegotiation at CTX level
|
||||
* Addition of KDS (NXP Kinetis Design Studio) example project to directory IDE/KDS/
|
||||
* Support for Encrypt-Then-MAC to TLS 1.2 and below
|
||||
* Added a new build option for a TITAN session cache that can hold just over 2 million session entries (--enable-titancache)
|
||||
* Synchronous Quick Assist Support for Sniffer
|
||||
* Added Support for SiFive HiFive Unleashed board
|
||||
* Support for Google WebRTC added in to compatibility layer build
|
||||
* Additional Sniffer features; IPv6 sniffer support, Fragment chain input, Data store callback, Various statistics tweaks and other Sniffer fixes
|
||||
|
||||
|
||||
##### Fixes
|
||||
* Addition of internal content digest checks for PKCS7 SignedData message types that also have signed attributes present. Users could previously check the content digest against the messageDigest attribute, but this adds a default internal check. It’s advised that if users are not doing their own checks that they update wolfSSL version.
|
||||
* A fix for BIO and base64 encoding/decoding
|
||||
* A fix for memory management of CTX / WOLFSSL_METHOD pointer with staticmemory build
|
||||
* A fix for detection of AES-NI support to read bit 25 from ECX
|
||||
* A fix a DTLS handshake message retransmit bug corner case
|
||||
* Additional fixes to coding style and uninitialized values using cppcheck tool
|
||||
* Fixes for failing IAR builds, thanks to Joseph C. for the report
|
||||
* Fixes for ARMv8 Poly1305 inline assembly code to compile with clang 3.5
|
||||
* Fixes for esp-idf build warnings
|
||||
* A fix for XSNPRINTF with mingw32 builds
|
||||
* Fixes for strncpy warnings when compiling with newer versions of GCC
|
||||
* A fix for using IV of all 0’s as default case with AES-NI when no IV passed in
|
||||
* Fixes for types with 16 bit systems, thanks to Ralf Schlatterbeck
|
||||
* Fixes for build with devcrypto/afalg and aesccm, thanks to GitHub user cotequeiroz for the report
|
||||
* Fixes for addressing handling of pathLen constraint when parsing certificate chains
|
||||
* A DTLS fix for alert packet injection at end of handshake
|
||||
* Fixes for Poly1305 AArch64 assembly code
|
||||
* A fix for memory management in error cases when adding a CA, this resolves a coverity report
|
||||
* A fix for SP math for precomputation tables to not include infinity field
|
||||
* Fixes for checks on defines with AVX2 and Poly1305 build
|
||||
* Fixes for CubeMX HAL v1.15 with STM32F7
|
||||
* A fix for TLS 1.3 to always send Key Share extension
|
||||
* A fix for a potential buffer over read in TLS 1.3 DoTls13SupportedVersions, thanks to Artem for the report
|
||||
|
||||
|
||||
##### Improvements/Optimizations
|
||||
* Optimization to SP math, changing variables to const where possible. Thanks to Yair Poleg (yair.poleg@ayyeka.com) of Ayyeka for proposing static declaration of global constant variables in SP code
|
||||
* Additional fuzz testing and fixes for TLS 1.3 use, including additional TLS 1.3 alert messages (PR#2440 for more information)
|
||||
* Additional sanity check that ciphersuite from client hello is used in server hello response (check can be removed with the macro WOLFSSL_NO_STRICT_CIPHER_SUITE)
|
||||
* Improved MMCAU performance: SHA-1 by 35%, SHA-256 by 20% and MD5 by 78%
|
||||
* By default, disallow SHA-2 cipher suites from being used in TLS 1.0 and 1.1 handshakes (can be ignored with macro WOLFSSL_OLDTLS_SHA2_CIPHERSUITES)
|
||||
* Optimization of export session buffer size with enable option --enable-sessionexport=nopeer
|
||||
* Spelling fixes in comments and some cast warnings resolved
|
||||
* Updates to abstract atoi to XATOI when used, this allows for better portability when making calls to the system function atoi for converting strings to integers
|
||||
* Improvements to the STSAFE-A100 error code handling, providing better debug information
|
||||
* Adding a sanity check on TLS 1.3 ticket encrypt callback
|
||||
* Specialized implementations of mod exp when base is 2
|
||||
|
||||
|
||||
|
||||
##### This release of wolfSSL includes a fix for 5 security vulnerabilities.
|
||||
|
||||
Fix for sanity check on reading TLS 1.3 pre-shared key extension. This fixes a potential for an invalid read when TLS 1.3 and pre-shared keys is enabled. Users without TLS 1.3 enabled are unaffected. Users with TLS 1.3 enabled and HAVE_SESSION_TICKET defined or NO_PSK not defined should update wolfSSL versions. Thanks to Robert Hoerr for the report.
|
||||
|
||||
Fix for potential program hang when ocspstapling2 is enabled. This is a moderate level fix that affects users who have ocspstapling2 enabled(off by default) and are on the server side. In parsing a CSR2 (Certificate Status Request v2 ) on the server side, there was the potential for a malformed extension to cause a program hang. Thanks to Robert Hoerr for the report.
|
||||
|
||||
Two moderate level fixes involving an ASN.1 over read by one byte. CVE-2019-15651 is for a fix that is due to a potential one byte over read when decoding certificate extensions. CVE-2019-16748 is for a fix on a potential one byte overread with checking certificate signatures. This affects builds that do certificate parsing and do not have the macro NO_SKID defined.Thanks to Yan Jia and the researcher team from Institute of Software, Chinese Academy of Sciences for the report.
|
||||
|
||||
High level fix for DSA operations involving an attack on recovering DSA private keys. This fix affects users that have DSA enabled and are performing DSA operations (off by default). All users that have DSA enabled and are using DSA keys are advised to regenerate DSA keys and update wolfSSL version. ECDSA is NOT affected by this and TLS code is NOT affected by this issue. Thanks to Ján Jančár for the report.
|
||||
|
||||
|
||||
For additional vulnerability information visit the vulnerability page at https://www.wolfssl.com/docs/security-vulnerabilities/
|
||||
|
||||
See INSTALL file for build instructions.
|
||||
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html
|
||||
|
||||
|
||||
|
||||
# wolfSSL Release 4.1.0 (07/22/2019)
|
||||
|
||||
Release 4.1.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
* A fix for the check on return value when verifying PKCS7 bundle signatures, all users with applications using the function wc_PKCS7_VerifySignedData should update
|
||||
* Adding the function wc_PKCS7_GetSignerSID for PKCS7 firmware bundles as a getter function for the signers SID
|
||||
* PKCS7 callback functions for unwrapping of CEK and for decryption
|
||||
* Adding the error value PKCS7_SIGNEEDS_CHECK when no certificates are available in a PKCS7 bundle to verify the signature
|
||||
* TLS 1.3 fixes including if major version is TLS Draft then it is now ignored and if version negotiation occurs but none were matched then an alert is now sent
|
||||
* Addition of the WOLFSSL_PSK_ONE_ID macro for indicating that only one identity in TLS 1.3 PSK is available and will be cached
|
||||
* Adding sanity checks on length of PSK identity from a TLS 1.3 pre-shared key extension
|
||||
* Additional sanity checks and alert messages added for TLS 1.3
|
||||
* Adding XTIME_MS macro to simplify the tls13.c time requirement
|
||||
* Improvements and refactoring of code related to parsing and creating TLS 1.3 client hello packets
|
||||
* TLS 1.3 version renegotiation now happens before interpreting ClientHello message
|
||||
* Chacha20 algorithm optimizations on the ARM architecture for performance increase
|
||||
* Poly1305 algorithm performance enhancements for the ARM architecture using the SIMD NEON extension
|
||||
* Curve25519 and Ed25519 optimized for ARM architecture for performance increase
|
||||
* SHA-512/384 optimizations for performance with ARM architecture using the SIMD NEON extension
|
||||
* Sniffer updates including adding support for the null cipher and static ECDH key exchange and new SSLWatchCb callback
|
||||
* Cipher suite TLS_RSA_WITH_NULL_MD5 for use with the sniffer (off by default)
|
||||
* Sniffer statistic print outs with the macro WOLFSSL_SNIFFER_STATS defined
|
||||
* A fix for wolfSSL_DH_generate_key when WOLFSSL_SMALL_STACK is defined
|
||||
* wolfSSL_BN_Init implementation for opensslextra builds
|
||||
* Updates to the function wolfSSL_i2d_RSAPrivateKey and additional automated tests
|
||||
* Fixes for EVP_CipherFinal edge cases to match behavior desired
|
||||
* Check for appropriate private vs public flag with ECC key decode in wolfSSL_EC_KEY_LoadDer_ex, thanks to Eric Miller for the report
|
||||
* Implementation of the function wolfSSL_PEM_write_DHparams
|
||||
* wolfSSL_RAND_seed is called in wolfSSL_Init now when opensslextra is enabled
|
||||
* CryptoCell-310 support on nRF52840 added
|
||||
* Fixes for atmel_ecc_create_pms to free the used slot.
|
||||
* Fixes for building ATECC with ATCAPRINTF or WOLFSSL_PUBLIC_MP
|
||||
* Cortex-M code changes to support IAR compiler
|
||||
* Improvements to STM32 AES-GCM performance
|
||||
* Fixes for 16-bit systems including PK callbacks, ATECC and LowResTimer function ptoto.
|
||||
* IAR-EWARM compiler warning fix
|
||||
* Clean up of user_settings for CS+ port
|
||||
* Updating Renesas example projects to the latest version
|
||||
* Micrium updates adjusting STATIC macro name and added inline flag
|
||||
* Fixes for building with WOLFSSL_CUSTOM_CURVES on Windows
|
||||
* Updates and refactor to the default build settings with Arduino
|
||||
* Fixes for visibility tags with Cygwin build
|
||||
* STSAFE Improvements to support wolfSSL Crypto Callbacks
|
||||
* Improvements to NetBSD builds and mutex use in test case
|
||||
* Updating TI hardware offload with WOLFSSL_TI_CRYPT build
|
||||
* Maintaining Xilinx FreeRTOS port by adjusting time.h include in wolfSSL
|
||||
* SiFive HiFive E31 RISC‐V core family port
|
||||
* Port for Telit IoT AppZone SDK
|
||||
* OCSP Response signed by issuer with identical SKID fix
|
||||
* Fix for sending revoked certificate with OCSP
|
||||
* Honor the status sent over connection with peers and do not perform an internal OCSP lookup
|
||||
* Adding the build flag `--enable-ecccustcurves=all` to enable all curve types
|
||||
* Support add for Ed25519ctx and Ed25519ph sign/verify algorithms as per RFC 8032
|
||||
* Addition of the macro WOLFSSL_NO_SIGALG to disable signature algorithms extension
|
||||
* wc_AesCtrEncrypt in place addition, where input and output buffer can be the same buffer
|
||||
* Single shot API added for SHA3; wc_Sha3_224Hash, wc_Sha3_256Hash, wc_Sha3_384Hash, wc_Sha3_512Hash
|
||||
* Function additions for JSSE support some of which are wolfSSL_get_ciphers_iana and wolfSSL_X509_verify along with expansion of the --enable-jni option
|
||||
* Macro guards for more modular SHA3 build (i.e. support for 384 size only)
|
||||
* Benchmarking -thread <num> argument support for asynchronous crypto
|
||||
* Blake2s support (--enable-blake2s), which provides 32-bit Blake2 support
|
||||
* Macro SHA256_MANY_REGISTERS addition to potentially speed up SHA256 depending on architecture
|
||||
* Additional TLS alert messages sent with the macro WOLFSSL_EXTRA_ALERTS defined
|
||||
* Feature to fail resumption of a session if the session’s cipher suite is not in the client’s list, this can be overridden by defining the macro NO_RESUME_SUITE_CHECK
|
||||
* Fallback SCSV (Signaling Cipher Suite Value) support on Server only (--enable-fallback-scsv)
|
||||
* DTLS export state only (wolfSSL_dtls_export_state_only) which is a subset of the information exported from previous DTLS export function
|
||||
* Function wc_DhCheckPubValue added to perform simple validity checks on DH keys
|
||||
* Support for RSA SHA-224 signatures with TLS added
|
||||
* Additional option “-print” to the benchmark app for printing out a brief summary after benchmarks are complete
|
||||
* Adding (--disable-pkcs12) option and improvements for disabled sections in pwdbased.c, asn.c, rsa.c, pkcs12.c and wc_encrypt
|
||||
* Added DES3 support to the wolfSSL crypto callbacks
|
||||
* Compile time fixes for build case with SP math and RSA only
|
||||
* Fixes for Coverity static analysis report including explicit initialization of reported stack variables some additional Coverity fixes added thanks to Martin
|
||||
* Fixes for scan build warnings (i.e possible null dereference in ecc.c)
|
||||
* Resetting verify send value with a call to wolfSSL_clear function
|
||||
* Fix for extern with sp_ModExp_2048 when building with --cpp option
|
||||
* Fix for typo issue with --enable-sp=cortexm
|
||||
* Adding #pragma warning disable 4127 for tfm.c when building with Visual Studio
|
||||
* Improvements to the maximum ECC signature calculations
|
||||
* Improvements to TLS write handling in error cases which helps user application not go through with a wolfSSL_write attempt after a wolfSSL_read failure
|
||||
* Fix for read directory functions with Windows (wc_ReadDirFirst and wc_ReadDirNext)
|
||||
* Sanity check on index before accessing domain component buffer in call to wolfSSL_X509_NAME_get_entry
|
||||
* Sending fatal alert from client side on version error
|
||||
* Fix for static RSA cipher suite with PK callback and no loaded private key
|
||||
* Fix for potential memory leak in error case with the function wc_DsaKeyToDer, thanks to Chris H. for the report
|
||||
* Adjusting STRING_USER macro to remove includes of standard lib <string.h> or <stdio.h>
|
||||
* Bug fix for checking wrong allocation assignment in the function wc_PBKDF2 and handling potential leak on allocation failure. This case is only hit when the specific call to malloc fails in the function wc_PBKDF2. Thanks to Robert Altnoeder (Linbit) for the report
|
||||
* Improved length checks when parsing ASN.1 certificates
|
||||
* extern "C" additions to header files that were missing them
|
||||
* Improved checking of return values with TLS extension functions and error codes
|
||||
* Removing redundant calls to the generate function when instantiating and reseeding DRBG
|
||||
* Refactoring and improvements to autoconf code with consolidating AM_CONDITIONAL statements
|
||||
* Improvements for handling error return codes when reading input from transport layer
|
||||
* Improvements to efficiency of SNI extension parsing and error checking with ALPN parsing
|
||||
* Macro WOLFSSL_DEBUG_TLS addition for printing out extension data being parsed during a TLS connection
|
||||
* Adjustment of prime testing with --disable-fastmath builds
|
||||
|
||||
|
||||
This release of wolfSSL includes a fix for 2 security vulnerabilities.
|
||||
|
||||
There is a fix for a potential buffer overflow case with the TLSv1.3 PSK extension parsing. This affects users that are enabling TLSv1.3 (--enable-tls13). Thanks to Robert Hoerr for the report. The CVE associated with the report is CVE-2019-11873.
|
||||
|
||||
There is a fix for the potential leak of nonce sizes when performing ECDSA signing operations. The leak is considered to be difficult to exploit but it could potentially be used maliciously to perform a lattice based timing attack against previous wolfSSL versions. ECC operations with --enable-sp and --enable-sp-asm are not affected, users with private ECC keys in other builds that are performing ECDSA signing operations should update versions of wolfSSL along with private ECC keys. Thanks to Ján Jančár from Masaryk University for the report.
|
||||
|
||||
|
||||
# wolfSSL Release 4.0.0 (03/20/2019)
|
||||
|
||||
Release 4.0.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
* Support for wolfCrypt FIPS v4.0.0, certificate #3389
|
||||
* FIPS Ready Initiative
|
||||
* Compatibility fixes for secure renegotiation with Chrome
|
||||
* Better size check for TLS record fragment reassembly
|
||||
* Improvements to non-blocking and handshake message retry support for DTLS
|
||||
* Improvements to OCSP with ECDSA signers
|
||||
* Added TLS server side secure renegotiation
|
||||
* Added TLS Trusted CA extension
|
||||
* Add support for the Deos Safety Critical RTOS
|
||||
* OCSP fixes for memory management and initializations
|
||||
* Fixes for EVP Cipher decryption padding checks
|
||||
* Removal of null terminators on `wolfSSL_X509_print` substrings
|
||||
* `wolfSSL_sk_ASN1_OBJCET_pop` function renamed to `wolfSSL_sk_ASN1_OBJECT_pop`
|
||||
* Adjustment to include path in compatibility layer for evp.h and objects.h
|
||||
* Fixes for decoding BER encoded PKCS7 contents
|
||||
* TLS handshake now supports using PKCS #11 for private keys
|
||||
* PKCS #11 support of HMAC, AES-CBC and random seeding/generation
|
||||
* Support for named FFDHE parameters in TLS 1.2 (RFC 7919)
|
||||
* Port to Zephyr Project
|
||||
* Move the TLS PRF to wolfCrypt.
|
||||
* Update to CMS KARI support
|
||||
* Added ESP32 WROOM support
|
||||
* Fixes and additions to the OpenSSL compatibility layer
|
||||
* Added WICED Studio Support
|
||||
* MDK CMSIS RTOS v2
|
||||
* Xcode project file update
|
||||
* Fixes for ATECC508A/ATECC608A
|
||||
* Fixes issue with CA path length for self signed root CA's
|
||||
* Fixes for Single Precision (SP) ASM when building sources directly
|
||||
* Fixes for STM32 AES GCM
|
||||
* Fixes for ECC sign with hardware to ensure the input is truncated
|
||||
* Fixes for proper detection of PKCS7 buffer overflow case
|
||||
* Fixes to handle degenerate PKCS 7 with BER encoding
|
||||
* Fixes for TLS v1.3 handling of 6144 and 8192 bit keys
|
||||
* Fixes for possible build issues with SafeRTOS
|
||||
* Added `ECC_PUBLICKEY_TYPE` to the support PEM header types
|
||||
* Added strict checking of the ECDSA signature DER encoding length
|
||||
* Added ECDSA option to limit sig/algos in client_hello to key size with
|
||||
`USE_ECDSA_KEYSZ_HASH_ALGO`
|
||||
* Added Cortex-M support for Single Precision (SP) math
|
||||
* Added wolfCrypt RSA non-blocking time support
|
||||
* Added 16-bit compiler support using --enable-16bit option
|
||||
* Improved Arduino sketch example
|
||||
* Improved crypto callback features
|
||||
* Improved TLS benchmark tool
|
||||
* Added new wrapper for snprintf for use with certain Visual Studio builds,
|
||||
thanks to David Parnell (Cambridge Consultants)
|
||||
|
||||
This release of wolfSSL includes a fix for 1 security vulnerability.
|
||||
|
||||
* Fixed a bug in tls_bench.c example test application unrelated to the crypto
|
||||
or TLS portions of the library. (CVE-2019-6439)
|
||||
|
||||
|
||||
# wolfSSL Release 3.15.7 (12/26/2018)
|
||||
|
||||
Release 3.15.7 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
@@ -12,9 +12,18 @@ wolfssl/IDE/ARDUINO directory:
|
||||
|
||||
`./wolfssl-arduino.sh`
|
||||
|
||||
Step 2: Copy the directory wolfSSL that was just created to:
|
||||
`~/Documents/Arduino/libraries/` directory so the Arduino IDE can find it.
|
||||
|
||||
Step 2: Edit `<wolfssl-root>/IDE/ARDUINO/wolfSSL/wolfssl/wolfcrypt/settings.h` uncomment the define for `WOLFSSL_ARDUINO`
|
||||
If building for Intel Galileo platform also uncomment the define for `INTEL_GALILEO`.
|
||||
Step 3: Edit `<arduino-libraries>/wolfSSL/user_settings.h`
|
||||
If building for Intel Galileo platform add: `#define INTEL_GALILEO`.
|
||||
Add any other custom settings, for a good start see the below in wolfssl root.
|
||||
(See wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/user_settings.h)
|
||||
|
||||
Step 4: If you experience any issues with custom user_settings.h see the wolfssl
|
||||
porting guide here for more assistance: https://www.wolfssl.com/docs/porting-guide/
|
||||
|
||||
Step 5: If you still have any issues contact support@wolfssl.com for more help.
|
||||
|
||||
##### Including wolfSSL in Arduino Libraries (for Arduino version 1.6.6)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_client.ino
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_server.ino
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
|
||||
DIR=${PWD##*/}
|
||||
|
||||
space(){
|
||||
echo "" >> "$1"
|
||||
}
|
||||
|
||||
if [ "$DIR" = "ARDUINO" ]; then
|
||||
rm -rf wolfSSL
|
||||
mkdir wolfSSL
|
||||
@@ -22,14 +26,43 @@ if [ "$DIR" = "ARDUINO" ]; then
|
||||
mkdir ./wolfSSL/wolfcrypt
|
||||
mkdir ./wolfSSL/wolfcrypt/src
|
||||
cp ../../wolfcrypt/src/misc.c ./wolfSSL/wolfcrypt/src
|
||||
cp ../../wolfcrypt/src/asm.c ./wolfSSL/wolfcrypt/src
|
||||
|
||||
# put bio and evp as includes
|
||||
mv ./wolfSSL/bio.c ./wolfSSL/wolfssl
|
||||
mv ./wolfSSL/evp.c ./wolfSSL/wolfssl
|
||||
|
||||
echo "/* Generated wolfSSL header file for Arduino */" >> ./wolfSSL/wolfssl.h
|
||||
echo "/* Generated wolfSSL header file for Arduino */" > ./wolfSSL/wolfssl.h
|
||||
echo "#include <wolfssl/wolfcrypt/settings.h>" >> ./wolfSSL/wolfssl.h
|
||||
echo "#include <wolfssl/ssl.h>" >> ./wolfSSL/wolfssl.h
|
||||
|
||||
echo "/* Generated wolfSSL user_settings.h file for Arduino */" > ./wolfSSL/user_settings.h
|
||||
echo "#ifndef ARDUINO_USER_SETTINGS_H" >> ./wolfSSL/user_settings.h
|
||||
echo "#define ARDUINO_USER_SETTINGS_H" >> ./wolfSSL/user_settings.h
|
||||
space wolfSSL/user_settings.h
|
||||
echo "/* Platform */" >> ./wolfSSL/user_settings.h
|
||||
echo "#define WOLFSSL_ARDUINO" >> ./wolfSSL/user_settings.h
|
||||
space wolfSSL/user_settings.h
|
||||
echo "/* Math library (remove this to use normal math)*/" >> ./wolfSSL/user_settings.h
|
||||
echo "#define USE_FAST_MATH" >> ./wolfSSL/user_settings.h
|
||||
echo "#define TFM_NO_ASM" >> ./wolfSSL/user_settings.h
|
||||
space wolfSSL/user_settings.h
|
||||
echo "/* RNG DEFAULT !!FOR TESTING ONLY!! */" >> ./wolfSSL/user_settings.h
|
||||
echo "/* comment out the error below to get started w/ bad entropy source" >> ./wolfSSL/user_settings.h
|
||||
echo " * This will need fixed before distribution but is OK to test with */" >> ./wolfSSL/user_settings.h
|
||||
echo "#error \"needs solved, see: https://www.wolfssl.com/docs/porting-guide/\"" >> ./wolfSSL/user_settings.h
|
||||
echo "#define WOLFSSL_GENSEED_FORTEST" >> ./wolfSSL/user_settings.h
|
||||
space wolfSSL/user_settings.h
|
||||
echo "#endif /* ARDUINO_USER_SETTINGS_H */" >> ./wolfSSL/user_settings.h
|
||||
|
||||
cp wolfSSL/wolfssl/wolfcrypt/settings.h wolfSSL/wolfssl/wolfcrypt/settings.h.bak
|
||||
echo " /* wolfSSL Generated ARDUINO settings */" > ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
echo "#ifndef WOLFSSL_USER_SETTINGS" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
echo " #define WOLFSSL_USER_SETTINGS" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
echo "#endif /* WOLFSSL_USER_SETTINGS */" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
echo " /* wolfSSL Generated ARDUINO settings: END */" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
cat ./wolfSSL/wolfssl/wolfcrypt/settings.h.bak >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
|
||||
else
|
||||
echo "ERROR: You must be in the IDE/ARDUINO directory to run this script"
|
||||
fi
|
||||
|
||||
116
IDE/CRYPTOCELL/README.md
Normal file
116
IDE/CRYPTOCELL/README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# ARM® TrustZone® CryptoCell 310 Port
|
||||
## Overview
|
||||
ARM® TrustZone® CryptoCell 310 is a security subsystem which provides root of trust (RoT) and cryptographic services for a device.
|
||||
You can enable the wolfSSL support for ARM CryptoCell using the `#define WOLFSSL_CRYPTOCELL`, The CryptoCell APIs are distributed as part of the Nordic nRF5 SDKs [here](https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fgroup__cryptocell__api.html) .
|
||||
|
||||
## Prerequisites
|
||||
1. Follow the Nordic website [here](https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK) to download the Nordic nRF5-SDK and software tools.
|
||||
2. Install the SEGGER Embedded Studio IDE.
|
||||
3. Run a simple blinky application on your Nordic nRF52840 (PCA10056) development board to confirm that your board functions as expected and the communication between your computer and the board works.
|
||||
|
||||
## Usage
|
||||
You can start with a wolfcrypt SEGGER embedded studio (ses) example project to integrate the wolfSSL source code.
|
||||
wolfSSL supports a compile-time user configurable options in the `IDE/CRYPTOCELL/user_settings.h` file.
|
||||
|
||||
The `IDE/CRYPTOCELL/main.c` example application provides a function to run the selected examples at compile time through the following two #defines in user_settings.h. You can define these macro options to disable the test run.
|
||||
```
|
||||
- #undef NO_CRYPT_TEST
|
||||
- #undef NO_CRYPT_BENCHMARK
|
||||
```
|
||||
|
||||
## Supported features
|
||||
- SHA-256
|
||||
- AES CBC
|
||||
- CryptoCell 310 RNG
|
||||
- RSA sign/verify and RSA key gen
|
||||
- RSA encrypt/decrypt
|
||||
- ECC sign/verify/shared secret
|
||||
- ECC key import/export and key gen pairs
|
||||
- Hardware RNG
|
||||
- RTC for benchmark timing source
|
||||
|
||||
## Setup
|
||||
### Setting up Nordic SDK with wolfSSL
|
||||
1. Download the wolfSSL source code or a zip file from GitHub and place it under your SDK `InstallFolder/external/` directory. You can also copy or simlink to the source.
|
||||
```
|
||||
For example,
|
||||
|
||||
$cd ~/nRF5_SDK_15.2.0_9412b96/external
|
||||
$git clone --depth=1 https://github.com/wolfSSL/wolfssl.git
|
||||
|
||||
Or, assuming you have already cloned the wolfSSL source code under ~/wolfssl.
|
||||
|
||||
$cd ~/nRF5_SDK_15.2.0_9412b96/external
|
||||
$ln -s ~/wolfssl wolfssl
|
||||
```
|
||||
2. Copy the example project from [here](https://github.com/tmael/nRF5_SDK/tree/master/examples/crypto/nrf_cc310/wolfcrypt) into your `nRF5_SDK_15.2.0_9412b96/examples/crypto/nrf_cc310/` directory.
|
||||
```
|
||||
$git clone https://github.com/tmael/nRF5_SDK.git
|
||||
$cd ~/nRF5_SDK_15.2.0_9412b96/examples/crypto/nrf_cc310
|
||||
|
||||
$cp -rf ~/nRF5_SDK/examples/crypto/nrf_cc310/wolfcrypt .
|
||||
OR
|
||||
$ln -s ~/nRF5_SDK/examples/crypto/nrf_cc310/wolfcrypt wolfcrypt
|
||||
```
|
||||
3. Launch the SEGGER Embedded Studio IDE
|
||||
4. In the main menu, go to File >Open Solutions to open the example solution. Browse to the location containing the wolfcrypt code `/examples/crypto/nrf_cc310/wolfcrypt/pca10056/blank/ses/wolfcrypt_pca10056.emProject` and choose Open.
|
||||
|
||||
## Building and Running
|
||||
In the main menu, go to Build > Rebuild your project, then load and run your image on your nRF52840 target platform. Review the test results on the console output.
|
||||
|
||||
### `wolfcrypt_test()`
|
||||
wolfcrypt_test() prints a message on the target console similar to the following output:
|
||||
```
|
||||
wolfCrypt Test Started
|
||||
error test passed!
|
||||
base64 test passed!
|
||||
asn test passed!
|
||||
SHA test passed!
|
||||
SHA-256 test passed!
|
||||
Hash test passed!
|
||||
HMAC-SHA test passed!
|
||||
HMAC-SHA256 test passed!
|
||||
AES test passed!
|
||||
RANDOM test passed!
|
||||
RSA test passed!
|
||||
ECC test passed!
|
||||
ECC buffer test passed!
|
||||
logging test passed!
|
||||
mutex test passed!
|
||||
wolfCrypt Test Completed
|
||||
```
|
||||
### `benchmark_test()`
|
||||
benchmark_test() prints a message on the target console similar to the following output.
|
||||
```
|
||||
Benchmark Test Started
|
||||
------------------------------------------------------------------------------
|
||||
wolfSSL version 3.15.7
|
||||
------------------------------------------------------------------------------
|
||||
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
|
||||
RNG 5 MB took 1.000 seconds, 4.858 MB/s
|
||||
AES-128-CBC-enc 17 MB took 1.001 seconds, 17.341 MB/s
|
||||
AES-128-CBC-dec 17 MB took 1.000 seconds, 17.285 MB/s
|
||||
SHA 425 KB took 1.040 seconds, 408.654 KB/s
|
||||
SHA-256 26 MB took 1.000 seconds, 25.903 MB/s
|
||||
HMAC-SHA 425 KB took 1.049 seconds, 405.148 KB/s
|
||||
HMAC-SHA256 24 MB took 1.000 seconds, 23.877 MB/s
|
||||
RSA 1024 key gen 2 ops took 1.579 sec, avg 789.500 ms, 1.267 ops/sec
|
||||
RSA 2048 key gen 1 ops took 9.695 sec, avg 9695.000 ms, 0.103 ops/sec
|
||||
RSA 2048 public 328 ops took 1.001 sec, avg 3.052 ms, 327.672 ops/sec
|
||||
RSA 2048 private 4 ops took 1.713 sec, avg 428.250 ms, 2.335 ops/sec
|
||||
ECC 256 key gen 55 ops took 1.017 sec, avg 18.491 ms, 54.081 ops/sec
|
||||
ECDHE 256 agree 56 ops took 1.017 sec, avg 18.161 ms, 55.064 ops/sec
|
||||
ECDSA 256 sign 50 ops took 1.004 sec, avg 20.080 ms, 49.801 ops/sec
|
||||
ECDSA 256 verify 48 ops took 1.028 sec, avg 21.417 ms, 46.693 ops/sec
|
||||
Benchmark Test Completed
|
||||
```
|
||||
|
||||
## References
|
||||
The test results were collected from an nRF52840 reference platform target with the following software and tool chains:
|
||||
- Nordic nRF52840 development board (PCA10056 1.0.0 2018.49 683529999).
|
||||
- nRF5_SDK_15.2.0_9412b96
|
||||
- SEGGER Embedded Studio for ARM, Release 4.12 Build 2018112601.37855 Linux x64Segger J-Link software
|
||||
- gcc-arm-none-eabi-8-2018-q4-major
|
||||
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
|
||||
|
||||
For more information or questions, please email [support@wolfssl.com](mailto:support@wolfssl.com)
|
||||
8
IDE/CRYPTOCELL/include.am
Normal file
8
IDE/CRYPTOCELL/include.am
Normal file
@@ -0,0 +1,8 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST += \
|
||||
IDE/CRYPTOCELL/README.md \
|
||||
IDE/CRYPTOCELL/main.c \
|
||||
IDE/CRYPTOCELL/user_settings.h
|
||||
64
IDE/CRYPTOCELL/main.c
Normal file
64
IDE/CRYPTOCELL/main.c
Normal file
@@ -0,0 +1,64 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfcrypt/test/test.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
||||
/* wolfCrypt_Init/wolfCrypt_Cleanup to turn CryptoCell hardware on/off */
|
||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||
|
||||
/* SEGGER_RTT_Init, you can potential replace it with other serial terminal */
|
||||
#include "SEGGER_RTT.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
SEGGER_RTT_Init();
|
||||
|
||||
if ((ret = wolfCrypt_Init()) != 0) {
|
||||
printf("wolfCrypt_Init failed %d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifndef NO_CRYPT_TEST
|
||||
printf("\nwolfCrypt Test Started\n");
|
||||
wolfcrypt_test(NULL);
|
||||
printf("\nwolfCrypt Test Completed\n");
|
||||
#endif
|
||||
|
||||
#ifndef NO_CRYPT_BENCHMARK
|
||||
printf("\nBenchmark Test Started\n");
|
||||
benchmark_test(NULL);
|
||||
printf("\nBenchmark Test Completed\n");
|
||||
#endif
|
||||
|
||||
if ((ret = wolfCrypt_Cleanup()) != 0) {
|
||||
printf("wolfCrypt_Cleanup failed %d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
while(1) {
|
||||
__WFI();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
589
IDE/CRYPTOCELL/user_settings.h
Normal file
589
IDE/CRYPTOCELL/user_settings.h
Normal file
@@ -0,0 +1,589 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* Example Settings for CryptoCell */
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS_H
|
||||
#define WOLFSSL_USER_SETTINGS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* CryptoCell */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#if 1
|
||||
#define WOLFSSL_CRYPTOCELL
|
||||
#define WOLFSSL_nRF5x_SDK_15_2 /* for benchmark timer */
|
||||
#define WOLFSSL_CRYPTOCELL_AES /* only CBC mode is supported */
|
||||
#else
|
||||
/* run without CryptoCell,
|
||||
include IDE/GCC-ARM/Source/wolf_main.c for current_time(). */
|
||||
#endif
|
||||
|
||||
#if defined(WOLFSSL_CRYPTOCELL)
|
||||
#define AES_MAX_KEY_SIZE 128
|
||||
#endif /* WOLFSSL_CRYPTOCELL*/
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Platform */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#undef WOLFSSL_GENERAL_ALIGNMENT
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||
|
||||
#undef SINGLE_THREADED
|
||||
#define SINGLE_THREADED
|
||||
|
||||
#undef WOLFSSL_SMALL_STACK
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
|
||||
#undef WOLFSSL_USER_IO
|
||||
#define WOLFSSL_USER_IO
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Math Configuration */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef SIZEOF_LONG_LONG
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
|
||||
#undef USE_FAST_MATH
|
||||
#if 1
|
||||
#define USE_FAST_MATH
|
||||
|
||||
#undef TFM_TIMING_RESISTANT
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
/* Optimizations */
|
||||
//#define TFM_ARM
|
||||
#endif
|
||||
|
||||
/* Wolf Single Precision Math */
|
||||
#undef WOLFSSL_SP
|
||||
#if 0
|
||||
#define WOLFSSL_SP
|
||||
#define WOLFSSL_SP_SMALL /* use smaller version of code */
|
||||
#define WOLFSSL_HAVE_SP_RSA
|
||||
#define WOLFSSL_HAVE_SP_DH
|
||||
#define WOLFSSL_HAVE_SP_ECC
|
||||
#define WOLFSSL_SP_CACHE_RESISTANT
|
||||
//#define WOLFSSL_SP_MATH /* only SP math - eliminates fast math code */
|
||||
|
||||
/* Assembly */
|
||||
//#define WOLFSSL_SP_ASM /* required if using the ASM versions */
|
||||
//#define WOLFSSL_SP_ARM_CORTEX_M_ASM
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Crypto */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RSA */
|
||||
#undef NO_RSA
|
||||
#if 1
|
||||
#ifdef USE_FAST_MATH
|
||||
/* Maximum math bits (Max RSA key bits * 2) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS 4096
|
||||
#endif
|
||||
|
||||
/* half as much memory but twice as slow */
|
||||
#undef RSA_LOW_MEM
|
||||
//#define RSA_LOW_MEM
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#if 1
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
#else
|
||||
#undef WC_NO_HARDEN
|
||||
#define WC_NO_HARDEN
|
||||
#endif
|
||||
|
||||
/* RSA PSS Support */
|
||||
#if 0
|
||||
#define WC_RSA_PSS
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define WC_RSA_NO_PADDING
|
||||
#endif
|
||||
#else
|
||||
#define NO_RSA
|
||||
#endif
|
||||
|
||||
/* ECC */
|
||||
#undef HAVE_ECC
|
||||
#if 1
|
||||
#define HAVE_ECC
|
||||
|
||||
/* Manually define enabled curves */
|
||||
#undef ECC_USER_CURVES
|
||||
#define ECC_USER_CURVES
|
||||
|
||||
#ifdef ECC_USER_CURVES
|
||||
/* Manual Curve Selection */
|
||||
//#define HAVE_ECC192
|
||||
//#define HAVE_ECC224
|
||||
#undef NO_ECC256
|
||||
#define HAVE_ECC384
|
||||
//#define HAVE_ECC521
|
||||
#endif
|
||||
|
||||
/* Fixed point cache (speeds repeated operations against same private key) */
|
||||
#undef FP_ECC
|
||||
//#define FP_ECC
|
||||
#ifdef FP_ECC
|
||||
/* Bits / Entries */
|
||||
#undef FP_ENTRIES
|
||||
#define FP_ENTRIES 2
|
||||
#undef FP_LUT
|
||||
#define FP_LUT 4
|
||||
#endif
|
||||
|
||||
/* Optional ECC calculation method */
|
||||
/* Note: doubles heap usage, but slightly faster */
|
||||
#undef ECC_SHAMIR
|
||||
#define ECC_SHAMIR
|
||||
|
||||
/* Reduces heap usage, but slower */
|
||||
#undef ECC_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
|
||||
/* Enable cofactor support */
|
||||
#undef HAVE_ECC_CDH
|
||||
//#define HAVE_ECC_CDH
|
||||
|
||||
/* Validate import */
|
||||
#undef WOLFSSL_VALIDATE_ECC_IMPORT
|
||||
//#define WOLFSSL_VALIDATE_ECC_IMPORT
|
||||
|
||||
/* Compressed Key Support */
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
/* Use alternate ECC size for ECC math */
|
||||
#ifdef USE_FAST_MATH
|
||||
#ifdef NO_RSA
|
||||
/* Custom fastmath size if not using RSA */
|
||||
/* MAX = ROUND32(ECC BITS 384) + SIZE_OF_MP_DIGIT(32) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS (384 + 32)
|
||||
#else
|
||||
#undef ALT_ECC_SIZE
|
||||
#define ALT_ECC_SIZE
|
||||
#endif
|
||||
|
||||
/* Speedups specific to curve */
|
||||
#ifndef NO_ECC256
|
||||
#undef TFM_ECC256
|
||||
#define TFM_ECC256
|
||||
#endif
|
||||
#ifndef HAVE_ECC384
|
||||
#undef TFM_ECC384
|
||||
#define TFM_ECC384
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* DH */
|
||||
#undef NO_DH
|
||||
#if 0
|
||||
/* Use table for DH instead of -lm (math) lib dependency */
|
||||
#if 0
|
||||
#define WOLFSSL_DH_CONST
|
||||
#endif
|
||||
|
||||
#define HAVE_FFDHE_2048
|
||||
//#define HAVE_FFDHE_4096
|
||||
//#define HAVE_FFDHE_6144
|
||||
//#define HAVE_FFDHE_8192
|
||||
#else
|
||||
#define NO_DH
|
||||
#endif
|
||||
|
||||
|
||||
/* AES */
|
||||
#undef NO_AES
|
||||
#if 1
|
||||
#undef HAVE_AES_CBC
|
||||
#define HAVE_AES_CBC
|
||||
|
||||
/* If you need other than AES-CBC mode, you must undefine WOLFSSL_CRYPTOCELL_AES */
|
||||
#if !defined(WOLFSSL_CRYPTOCELL_AES)
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
|
||||
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
|
||||
#define GCM_SMALL
|
||||
|
||||
#undef WOLFSSL_AES_DIRECT
|
||||
//#define WOLFSSL_AES_DIRECT
|
||||
|
||||
#undef HAVE_AES_ECB
|
||||
//#define HAVE_AES_ECB
|
||||
|
||||
#undef WOLFSSL_AES_COUNTER
|
||||
//#define WOLFSSL_AES_COUNTER
|
||||
|
||||
#undef HAVE_AESCCM
|
||||
//#define HAVE_AESCCM
|
||||
#endif
|
||||
#else
|
||||
#define NO_AES
|
||||
#endif
|
||||
|
||||
|
||||
/* DES3 */
|
||||
#undef NO_DES3
|
||||
#if 0
|
||||
#else
|
||||
#define NO_DES3
|
||||
#endif
|
||||
|
||||
/* ChaCha20 / Poly1305 */
|
||||
#undef HAVE_CHACHA
|
||||
#undef HAVE_POLY1305
|
||||
#if 0
|
||||
#define HAVE_CHACHA
|
||||
#define HAVE_POLY1305
|
||||
|
||||
/* Needed for Poly1305 */
|
||||
#undef HAVE_ONE_TIME_AUTH
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
|
||||
/* Ed25519 / Curve25519 */
|
||||
#undef HAVE_CURVE25519
|
||||
#undef HAVE_ED25519
|
||||
#if 0
|
||||
#define HAVE_CURVE25519
|
||||
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
|
||||
|
||||
/* Optionally use small math (less flash usage, but much slower) */
|
||||
#if 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Hashing */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Sha */
|
||||
#undef NO_SHA
|
||||
#if 1
|
||||
/* 1k smaller, but 25% slower */
|
||||
//#define USE_SLOW_SHA
|
||||
#else
|
||||
#define NO_SHA
|
||||
#endif
|
||||
|
||||
/* Sha256 */
|
||||
#undef NO_SHA256
|
||||
#if 1
|
||||
/* not unrolled - ~2k smaller and ~25% slower */
|
||||
//#define USE_SLOW_SHA256
|
||||
|
||||
/* Sha224 */
|
||||
#if 0
|
||||
#define WOLFSSL_SHA224
|
||||
#endif
|
||||
#else
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
|
||||
/* Sha512 */
|
||||
#undef WOLFSSL_SHA512
|
||||
#if 0
|
||||
#define WOLFSSL_SHA512
|
||||
|
||||
/* Sha384 */
|
||||
#undef WOLFSSL_SHA384
|
||||
#if 0
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
|
||||
/* over twice as small, but 50% slower */
|
||||
//#define USE_SLOW_SHA512
|
||||
#endif
|
||||
|
||||
/* Sha3 */
|
||||
#undef WOLFSSL_SHA3
|
||||
#if 0
|
||||
#define WOLFSSL_SHA3
|
||||
#endif
|
||||
|
||||
/* MD5 */
|
||||
#undef NO_MD5
|
||||
#if 0
|
||||
|
||||
#else
|
||||
#define NO_MD5
|
||||
#endif
|
||||
|
||||
/* HKDF */
|
||||
#undef HAVE_HKDF
|
||||
#if 0
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
|
||||
/* CMAC */
|
||||
#undef WOLFSSL_CMAC
|
||||
#if 0
|
||||
#define WOLFSSL_CMAC
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Benchmark / Test */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Use reduced benchmark / test sizes */
|
||||
#undef BENCH_EMBEDDED
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#undef USE_CERT_BUFFERS_2048
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
//#undef USE_CERT_BUFFERS_1024
|
||||
//#define USE_CERT_BUFFERS_1024
|
||||
|
||||
#undef USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_256
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Debugging */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#undef DEBUG_WOLFSSL
|
||||
#undef NO_ERROR_STRINGS
|
||||
#if 0
|
||||
#define DEBUG_WOLFSSL
|
||||
#else
|
||||
#if 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Memory */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Memory API's */
|
||||
#if 0
|
||||
#undef XMALLOC_OVERRIDE
|
||||
#define XMALLOC_OVERRIDE
|
||||
|
||||
/* prototypes for user heap override functions */
|
||||
/* Note: Realloc only required for normal math */
|
||||
#include <stddef.h> /* for size_t */
|
||||
extern void *myMalloc(size_t n, void* heap, int type);
|
||||
extern void myFree(void *p, void* heap, int type);
|
||||
extern void *myRealloc(void *p, size_t n, void* heap, int type);
|
||||
|
||||
#define XMALLOC(n, h, t) myMalloc(n, h, t)
|
||||
#define XFREE(p, h, t) myFree(p, h, t)
|
||||
#define XREALLOC(p, n, h, t) myRealloc(p, n, h, t)
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* Static memory requires fast math */
|
||||
#define WOLFSSL_STATIC_MEMORY
|
||||
|
||||
/* Disable fallback malloc/free */
|
||||
#define WOLFSSL_NO_MALLOC
|
||||
#if 1
|
||||
#define WOLFSSL_MALLOC_CHECK /* trap malloc failure */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Memory callbacks */
|
||||
#if 0
|
||||
#undef USE_WOLFSSL_MEMORY
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
|
||||
/* Use this to measure / print heap usage */
|
||||
#if 1
|
||||
#undef WOLFSSL_TRACK_MEMORY
|
||||
#define WOLFSSL_TRACK_MEMORY
|
||||
|
||||
#undef WOLFSSL_DEBUG_MEMORY
|
||||
#define WOLFSSL_DEBUG_MEMORY
|
||||
#endif
|
||||
#else
|
||||
#ifndef WOLFSSL_STATIC_MEMORY
|
||||
#define NO_WOLFSSL_MEMORY
|
||||
/* Otherwise we will use stdlib malloc, free and realloc */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Port */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Current Time */
|
||||
/* Allows custom "custom_time()" function to be used for benchmark */
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define WOLFSSL_GMTIME
|
||||
#define USER_TICKS
|
||||
|
||||
#if !defined(WOLFSSL_CRYPTOCELL)
|
||||
// extern unsigned long my_time(unsigned long* timer);
|
||||
// #define XTIME my_time
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RNG */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#if defined(WOLFSSL_CRYPTOCELL)
|
||||
// /* Override P-RNG with HW RNG */
|
||||
#undef CUSTOM_RAND_GENERATE_BLOCK
|
||||
#define CUSTOM_RAND_GENERATE_BLOCK cc310_random_generate
|
||||
//#define CUSTOM_RAND_GENERATE_BLOCK nrf_random_generate
|
||||
//#define WOLFSSL_GENSEED_FORTEST /* for software RNG*/
|
||||
#else
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Enable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_TLS13
|
||||
#if 0
|
||||
#define WOLFSSL_TLS13
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_KEY_GEN
|
||||
#if 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
|
||||
/* reduce DH test time */
|
||||
#define WOLFSSL_OLD_PRIME_CHECK
|
||||
|
||||
#undef KEEP_PEER_CERT
|
||||
//#define KEEP_PEER_CERT
|
||||
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
#undef HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
|
||||
#undef HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
#undef WOLFSSL_BASE64_ENCODE
|
||||
#define WOLFSSL_BASE64_ENCODE
|
||||
|
||||
/* TLS Session Cache */
|
||||
#if 0
|
||||
#define SMALL_SESSION_CACHE
|
||||
#else
|
||||
#define NO_SESSION_CACHE
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Disable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef NO_WOLFSSL_SERVER
|
||||
//#define NO_WOLFSSL_SERVER
|
||||
|
||||
#undef NO_WOLFSSL_CLIENT
|
||||
//#define NO_WOLFSSL_CLIENT
|
||||
|
||||
#undef NO_CRYPT_TEST
|
||||
//#define NO_CRYPT_TEST
|
||||
|
||||
#undef NO_CRYPT_BENCHMARK
|
||||
//#define NO_CRYPT_BENCHMARK
|
||||
|
||||
#undef WOLFCRYPT_ONLY
|
||||
//#define WOLFCRYPT_ONLY
|
||||
|
||||
/* In-lining of misc.c functions */
|
||||
/* If defined, must include wolfcrypt/src/misc.c in build */
|
||||
/* Slower, but about 1k smaller */
|
||||
#undef NO_INLINE
|
||||
//#define NO_INLINE
|
||||
|
||||
#undef NO_FILESYSTEM
|
||||
#define NO_FILESYSTEM
|
||||
|
||||
#undef NO_WRITEV
|
||||
#define NO_WRITEV
|
||||
|
||||
#undef NO_MAIN_DRIVER
|
||||
#define NO_MAIN_DRIVER
|
||||
|
||||
#undef NO_DEV_RANDOM
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#undef NO_DSA
|
||||
#define NO_DSA
|
||||
|
||||
#undef NO_RC4
|
||||
#define NO_RC4
|
||||
|
||||
#undef NO_OLD_TLS
|
||||
#define NO_OLD_TLS
|
||||
|
||||
#undef NO_HC128
|
||||
#define NO_HC128
|
||||
|
||||
#undef NO_RABBIT
|
||||
#define NO_RABBIT
|
||||
|
||||
#undef NO_PSK
|
||||
#define NO_PSK
|
||||
|
||||
#undef NO_MD4
|
||||
#define NO_MD4
|
||||
|
||||
#undef NO_PWDBASED
|
||||
#define NO_PWDBASED
|
||||
|
||||
#undef NO_CODING
|
||||
//#define NO_CODING
|
||||
|
||||
#undef NO_ASN_TIME
|
||||
//#define NO_ASN_TIME
|
||||
|
||||
#undef NO_CERTS
|
||||
//#define NO_CERTS
|
||||
|
||||
#undef NO_SIG_WRAPPER
|
||||
//#define NO_SIG_WRAPPER
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_USER_SETTINGS_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* deos_malloc.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* tls_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* tls_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_setting.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* client_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* client_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* server_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* server_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_setting.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfsslRunTests.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
1
IDE/ECLIPSE/SIFIVE/README.md
Normal file
1
IDE/ECLIPSE/SIFIVE/README.md
Normal file
@@ -0,0 +1 @@
|
||||
This folder has moved to `IDE/RISCV/SIFIVE-HIFIVE1`.
|
||||
6
IDE/ECLIPSE/SIFIVE/include.am
Normal file
6
IDE/ECLIPSE/SIFIVE/include.am
Normal file
@@ -0,0 +1,6 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST += \
|
||||
IDE/ECLIPSE/SIFIVE/README.md
|
||||
@@ -31,6 +31,22 @@ Including the following examples:
|
||||
## Build examples
|
||||
1. See README in each example folder
|
||||
|
||||
## Benchmark
|
||||
w/o atecc608a
|
||||
```
|
||||
ECC 256 key gen 4 ops took 1.092 sec, avg 273.000 ms, 3.663 ops/sec
|
||||
ECDHE 256 agree 4 ops took 1.091 sec, avg 272.750 ms, 3.666 ops/sec
|
||||
ECDSA 256 sign 4 ops took 1.102 sec, avg 275.500 ms, 3.630 ops/sec
|
||||
ECDSA 256 verify 2 ops took 1.091 sec, avg 545.500 ms, 1.833 ops/sec
|
||||
```
|
||||
w/ atecc608a
|
||||
```
|
||||
ECC 256 key gen 11 ops took 1.074 sec, avg 97.636 ms, 10.242 ops/sec
|
||||
ECDHE 256 agree 6 ops took 1.068 sec, avg 178.000 ms, 5.618 ops/sec
|
||||
ECDSA 256 sign 8 ops took 1.009 sec, avg 126.125 ms, 7.929 ops/sec
|
||||
ECDSA 256 verify 14 ops took 1.079 sec, avg 77.071 ms, 12.975 ops/sec
|
||||
```
|
||||
|
||||
## Support
|
||||
For question please email [support@wolfssl.com]
|
||||
|
||||
24
IDE/Espressif/ESP-IDF/dummy_config_h
Normal file
24
IDE/Espressif/ESP-IDF/dummy_config_h
Normal file
@@ -0,0 +1,24 @@
|
||||
/* config.h - dummy
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#ifndef _CONFIG_H_
|
||||
#define _CONFIG_H_
|
||||
#endif
|
||||
@@ -21,25 +21,18 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
||||
#include "sdkconfig.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_log.h"
|
||||
#include "nvs_flash.h"
|
||||
|
||||
#define WOLFSSL_BENCH_ARGV CONFIG_BENCH_ARGV
|
||||
#define WOLFSSLBENCHMARK_TASK_NAME "wolfsslbenchmark_name"
|
||||
#define WOLFSSLBENCHMARK_TASK_WORDS 10240
|
||||
#define WOLFSSLBENCHMARK_TASK_PRIORITY 8
|
||||
|
||||
/* proto-type */
|
||||
extern void wolf_benchmark_task();
|
||||
|
||||
static const char* const TAG = "wolfbenchmark";
|
||||
|
||||
char* __argv[22];
|
||||
|
||||
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
|
||||
@@ -57,8 +50,7 @@ static byte mSlotList[ATECC_MAX_SLOT];
|
||||
void my_atmel_slotInit()
|
||||
{
|
||||
int i;
|
||||
|
||||
for(i=0;i<ATECC_MAX_SLOT; i++) {
|
||||
for(i = 0;i < ATECC_MAX_SLOT;i++) {
|
||||
mSlotList[i] = ATECC_INVALID_SLOT;
|
||||
}
|
||||
}
|
||||
@@ -68,8 +60,6 @@ int my_atmel_alloc(int slotType)
|
||||
{
|
||||
int i, slot = -1;
|
||||
|
||||
ESP_LOGI(TAG, "Enter my_atmel_alloc");
|
||||
|
||||
switch(slotType){
|
||||
case ATMEL_SLOT_ENCKEY:
|
||||
slot = 4;
|
||||
@@ -78,13 +68,13 @@ int my_atmel_alloc(int slotType)
|
||||
slot = 0;
|
||||
break;
|
||||
case ATMEL_SLOT_ECDHE:
|
||||
slot = 2;
|
||||
slot = 0;
|
||||
break;
|
||||
case ATMEL_SLOT_ECDHE_ENC:
|
||||
slot = 4;
|
||||
break;
|
||||
case ATMEL_SLOT_ANY:
|
||||
for(i=0;i<ATECC_MAX_SLOT;i++){
|
||||
for(i = 0;i < ATECC_MAX_SLOT;i++){
|
||||
if(mSlotList[i] == ATECC_INVALID_SLOT){
|
||||
slot = i;
|
||||
break;
|
||||
@@ -92,22 +82,15 @@ int my_atmel_alloc(int slotType)
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Leave my_atmel_alloc\n");
|
||||
|
||||
return slot;
|
||||
}
|
||||
|
||||
/* free slot array */
|
||||
void my_atmel_free(int slotId)
|
||||
{
|
||||
ESP_LOGI(TAG, "Enter my_atmel_alloc");
|
||||
|
||||
if(slotId >= 0 && slotId < ATECC_MAX_SLOT){
|
||||
mSlotList[slotId] = ATECC_INVALID_SLOT;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Leave my_atmel_alloc");
|
||||
|
||||
}
|
||||
|
||||
#endif /* CUSTOM_SLOT_ALLOCATION */
|
||||
@@ -167,30 +150,23 @@ int construct_argv()
|
||||
/* entry point */
|
||||
void app_main(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "Start app_main...");
|
||||
ESP_ERROR_CHECK(nvs_flash_init());
|
||||
|
||||
(void) TAG;
|
||||
#ifndef NO_CRYPT_BENCHMARK
|
||||
|
||||
/* when using atecc608a on esp32-wroom-32se */
|
||||
/* when using atecc608a on esp32-wroom-32se */
|
||||
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
|
||||
&& defined(WOLFSSL_ATECC508A)
|
||||
#if defined(CUSTOM_SLOT_ALLOCATION)
|
||||
ESP_LOGI(TAG, "register callback for slot allocation");
|
||||
my_atmel_slotInit();
|
||||
/* to register the callback, it needs to be initialized. */
|
||||
benchmark_init();
|
||||
if ((wolfCrypt_Init()) != 0) {
|
||||
ESP_LOGE(TAG, "wolfCrypt_Init failed");
|
||||
return;
|
||||
}
|
||||
atmel_set_slot_allocator(my_atmel_alloc, my_atmel_free);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
ESP_LOGI(TAG, "Start benchmark..");
|
||||
wolf_benchmark_task();
|
||||
|
||||
#else
|
||||
ESP_LOGI(TAG, "no crypt benchmark");
|
||||
|
||||
#endif /* NO_CRYPT_BENCHMARK */
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
CONFIG_BENCH_ARGV="-lng 0"
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=5000
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=7000
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
|
||||
@@ -2,5 +2,10 @@
|
||||
# CMakeLists in this exact order for cmake to work correctly
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
# (Not part of the boilerplate)
|
||||
# This example uses an extra component for common functions such as Wi-Fi and Ethernet connection.
|
||||
# disable the following line if there isn't the directory
|
||||
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(wolfssl_client)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
PROJECT_NAME := wolfssl_client
|
||||
|
||||
CFLAGS += -DWOLFSSL_USER_SETTINGS
|
||||
# if there isn't the directory, please disable the line below.
|
||||
EXTRA_COMPONENT_DIRS = $(IDF_PATH)/examples/common_components/protocol_examples_common
|
||||
|
||||
include $(IDF_PATH)/make/project.mk
|
||||
|
||||
|
||||
@@ -10,11 +10,11 @@ The Example contains of wolfSSL tls client demo.
|
||||
Target host ip address : the host that you want to connect to.(default is 127.0.0.1)
|
||||
|
||||
Note: the example program uses 11111 port. If you want to use different port
|
||||
, you need to modifiy DEFAULT_PORT definition in the code.
|
||||
, you need to modify DEFAULT_PORT definition in the code.
|
||||
|
||||
When you want to test the wolfSSL client
|
||||
|
||||
1. "make falsh monitor" to load the firmware and see the context
|
||||
1. "make flash monitor" to load the firmware and see the context
|
||||
2. You can use <wolfssl>/examples/server/server program for test.
|
||||
|
||||
e.g. Launch ./examples/server/server -v 4 -b -i
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL. (formerly known as CyaSSL)
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -16,7 +16,7 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
/* the usual suspects */
|
||||
#include <stdlib.h>
|
||||
@@ -61,7 +61,7 @@ static void ShowCiphers(void)
|
||||
|
||||
#include "wolfssl/wolfcrypt/port/atmel/atmel.h"
|
||||
|
||||
/* when you want to use custome slot allocation */
|
||||
/* when you want to use custom slot allocation */
|
||||
/* enable the definition CUSTOM_SLOT_ALLOCATION.*/
|
||||
|
||||
#if defined(CUSTOM_SLOT_ALLOCATION)
|
||||
@@ -131,6 +131,7 @@ void tls_smp_client_task()
|
||||
size_t len;
|
||||
struct hostent *hp;
|
||||
struct ip4_addr *ip4_addr;
|
||||
const char sndMsg[] = "GET /index.html HTTP/1.0\r\n\r\n";
|
||||
|
||||
/* declare wolfSSL objects */
|
||||
WOLFSSL_CTX *ctx;
|
||||
@@ -235,7 +236,7 @@ void tls_smp_client_task()
|
||||
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
|
||||
&& defined(WOLFSSL_ATECC508A)
|
||||
atcatls_set_callbacks(ctx);
|
||||
/* when using custome slot-allocation */
|
||||
/* when using custom slot-allocation */
|
||||
#if defined(CUSTOM_SLOT_ALLOCATION)
|
||||
my_atmel_slotInit();
|
||||
atmel_set_slot_allocator(my_atmel_alloc, my_atmel_free);
|
||||
@@ -257,8 +258,8 @@ void tls_smp_client_task()
|
||||
|
||||
if(sendGet){
|
||||
printf("SSL connect ok, sending GET...\n");
|
||||
len = 28;
|
||||
strncpy(buff, "GET /index.html HTTP/1.0\r\n\r\n", 28);
|
||||
len = XSTRLEN(sndMsg);
|
||||
strncpy(buff, sndMsg, len);
|
||||
buff[len] = '\0';
|
||||
} else {
|
||||
sprintf(buff, "message from esp32 tls client\n");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -21,9 +21,14 @@
|
||||
#ifndef _TLS_WIFI_H_
|
||||
#define _TLS_WIFI_H_
|
||||
|
||||
#include "esp_idf_version.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_wifi.h"
|
||||
#if ESP_IDF_VERSION_MAJOR >= 4 && ESP_IDF_VERSION_MINOR >= 1
|
||||
#include "esp_event.h"
|
||||
#else
|
||||
#include "esp_event_loop.h"
|
||||
#endif
|
||||
|
||||
#define DEFAULT_PORT 11111
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.c
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -27,6 +27,9 @@
|
||||
#include "lwip/netdb.h"
|
||||
#include "lwip/apps/sntp.h"
|
||||
#include "nvs_flash.h"
|
||||
#if ESP_IDF_VERSION_MAJOR >= 4 && ESP_IDF_VERSION_MINOR >= 1
|
||||
#include "protocol_examples_common.h"
|
||||
#endif
|
||||
|
||||
const static int CONNECTED_BIT = BIT0;
|
||||
static EventGroupHandle_t wifi_event_group;
|
||||
@@ -48,12 +51,13 @@ static void set_time()
|
||||
time_t now;
|
||||
struct tm timeinfo;
|
||||
char strftime_buf[64];
|
||||
|
||||
utctime.tv_sec = 1542008020; /* dummy time: Mon Nov 12 07:33:40 2018 */
|
||||
/* please update the time if seeing unknown failure. */
|
||||
/* this could cause TLS communication failure due to time expiration */
|
||||
utctime.tv_sec = 1567125910; /* dummy time: Fri Aug 30 09:45:00 2019 */
|
||||
utctime.tv_usec = 0;
|
||||
tz.tz_minuteswest = 0;
|
||||
tz.tz_dsttime = 0;
|
||||
|
||||
|
||||
settimeofday(&utctime, &tz);
|
||||
|
||||
time(&now);
|
||||
@@ -62,9 +66,11 @@ static void set_time()
|
||||
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
|
||||
ESP_LOGI(TAG, "The current date/time is: %s", strftime_buf);
|
||||
|
||||
#if ESP_IDF_VERSION_MAJOR < 4
|
||||
/* wait until wifi connect */
|
||||
xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT,
|
||||
false, true, portMAX_DELAY);
|
||||
#endif
|
||||
/* now we start client tasks. */
|
||||
tls_smp_client_init();
|
||||
}
|
||||
@@ -120,6 +126,15 @@ void app_main(void)
|
||||
tcpip_adapter_init();
|
||||
|
||||
/* */
|
||||
#if ESP_IDF_VERSION_MAJOR >= 4 && ESP_IDF_VERSION_MINOR >= 1
|
||||
(void) wifi_event_handler;
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
/* This helper function configures Wi-Fi or Ethernet, as selected in menuconfig.
|
||||
* Read "Establishing Wi-Fi or Ethernet Connection" section in
|
||||
* examples/protocols/README.md for more information about this function.
|
||||
*/
|
||||
ESP_ERROR_CHECK(example_connect());
|
||||
#else
|
||||
wifi_event_group = xEventGroupCreate();
|
||||
ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
|
||||
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
||||
@@ -141,6 +156,7 @@ void app_main(void)
|
||||
ESP_LOGI(TAG, "wifi_init_sta finished.");
|
||||
ESP_LOGI(TAG, "connect to ap SSID:%s password:%s",
|
||||
TLS_SMP_WIFI_SSID, TLS_SMP_WIFI_PASS);
|
||||
#endif
|
||||
ESP_LOGI(TAG, "Set dummy time...");
|
||||
set_time();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
# CMakeLists in this exact order for cmake to work correctly
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
# (Not part of the boilerplate)
|
||||
# This example uses an extra component for common functions such as Wi-Fi and Ethernet connection.
|
||||
# disable the following line if there isn't the directory
|
||||
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(wolfssl_server)
|
||||
|
||||
@@ -7,5 +7,8 @@ PROJECT_NAME := tls_server
|
||||
|
||||
CFLAGS += -DWOLFSSL_USER_SETTINGS
|
||||
|
||||
# if there isn't the directory, please disable the line below.
|
||||
EXTRA_COMPONENT_DIRS = $(IDF_PATH)/examples/common_components/protocol_examples_common
|
||||
|
||||
include $(IDF_PATH)/make/project.mk
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.h
|
||||
/* wifi_connect.h
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -21,9 +21,14 @@
|
||||
#ifndef _TLS_WIFI_H_
|
||||
#define _TLS_WIFI_H_
|
||||
|
||||
#include "esp_idf_version.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_wifi.h"
|
||||
#if ESP_IDF_VERSION_MAJOR >= 4 && ESP_IDF_VERSION_MINOR >= 1
|
||||
#include "esp_event.h"
|
||||
#else
|
||||
#include "esp_event_loop.h"
|
||||
#endif
|
||||
|
||||
#define DEFAULT_PORT 11111
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL. (formerly known as CyaSSL)
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -16,7 +16,7 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
/* the usual suspects */
|
||||
#include <stdlib.h>
|
||||
@@ -133,6 +133,7 @@ void tls_smp_server_task()
|
||||
size_t len;
|
||||
int shutdown = 0;
|
||||
int ret;
|
||||
const char msg[] = "I hear you fa shizzle!";
|
||||
|
||||
/* declare wolfSSL objects */
|
||||
WOLFSSL_CTX* ctx;
|
||||
@@ -245,7 +246,7 @@ void tls_smp_server_task()
|
||||
}
|
||||
/* Write our reply into buff */
|
||||
memset(buff, 0, sizeof(buff));
|
||||
memcpy(buff, "I hear ya fa shizzle!", sizeof(buff));
|
||||
memcpy(buff, msg, sizeof(msg));
|
||||
len = strnlen(buff, sizeof(buff));
|
||||
/* Reply back to the client */
|
||||
if (wolfSSL_write(ssl, buff, len) != len) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.c
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -27,6 +27,9 @@
|
||||
#include "lwip/netdb.h"
|
||||
#include "lwip/apps/sntp.h"
|
||||
#include "nvs_flash.h"
|
||||
#if ESP_IDF_VERSION_MAJOR >= 4 && ESP_IDF_VERSION_MINOR >= 1
|
||||
#include "protocol_examples_common.h"
|
||||
#endif
|
||||
|
||||
const static int CONNECTED_BIT = BIT0;
|
||||
static EventGroupHandle_t wifi_event_group;
|
||||
@@ -45,8 +48,9 @@ static void set_time()
|
||||
time_t now;
|
||||
struct tm timeinfo;
|
||||
char strftime_buf[64];
|
||||
|
||||
utctime.tv_sec = 1542008020; /* dummy time: Mon Nov 12 07:33:40 2018 */
|
||||
/* please update the time if seeing unknown failure. */
|
||||
/* this could cause TLS communication failure due to time expiration */
|
||||
utctime.tv_sec = 1567125910; /* dummy time: Fri Aug 30 09:45:00 2019 */
|
||||
utctime.tv_usec = 0;
|
||||
tz.tz_minuteswest = 0;
|
||||
tz.tz_dsttime = 0;
|
||||
@@ -59,9 +63,11 @@ static void set_time()
|
||||
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
|
||||
ESP_LOGI(TAG, "The current date/time is: %s", strftime_buf);
|
||||
|
||||
#if ESP_IDF_VERSION_MAJOR < 4
|
||||
/* wait until wifi connect */
|
||||
xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT,
|
||||
false, true, portMAX_DELAY);
|
||||
#endif
|
||||
/* now we start client tasks. */
|
||||
tls_smp_server_init();
|
||||
}
|
||||
@@ -117,6 +123,15 @@ void app_main(void)
|
||||
tcpip_adapter_init();
|
||||
|
||||
/* */
|
||||
#if ESP_IDF_VERSION_MAJOR >= 4 && ESP_IDF_VERSION_MINOR >= 1
|
||||
(void) wifi_event_handler;
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
/* This helper function configures Wi-Fi or Ethernet, as selected in menuconfig.
|
||||
* Read "Establishing Wi-Fi or Ethernet Connection" section in
|
||||
* examples/protocols/README.md for more information about this function.
|
||||
*/
|
||||
ESP_ERROR_CHECK(example_connect());
|
||||
#else
|
||||
wifi_event_group = xEventGroupCreate();
|
||||
ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
|
||||
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
||||
@@ -138,6 +153,7 @@ void app_main(void)
|
||||
ESP_LOGI(TAG, "wifi_init_sta finished.");
|
||||
ESP_LOGI(TAG, "connect to ap SSID:%s password:%s",
|
||||
TLS_SMP_WIFI_SSID, TLS_SMP_WIFI_PASS);
|
||||
ESP_LOGI(TAG, "Set Dummy time...");
|
||||
#endif
|
||||
ESP_LOGI(TAG, "Set dummy time...");
|
||||
set_time();
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ The Example contains of wolfSSL test program.
|
||||
|
||||
When you want to run the benchmark program
|
||||
1. "make menuconfig" to configure the program,first
|
||||
1. "make flash" to compile and load the firemware
|
||||
2. "make monitor" to see the message
|
||||
2. "make flash" to compile and load the firmware
|
||||
3. "make monitor" to see the message
|
||||
|
||||
See the README.md file in the upper level 'examples' directory for more information about examples.
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=5000
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=9000
|
||||
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=
|
||||
|
||||
@@ -58,6 +58,7 @@ ${CPDCMD} -r ./wolfssl/*.h ${WOLFSSLLIB_TRG_DIR}/wolfssl/
|
||||
${CPDCMD} -r ./wolfssl/wolfcrypt ${WOLFSSLLIB_TRG_DIR}/wolfssl/
|
||||
# user_settings.h
|
||||
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/user_settings.h ${WOLFSSLLIB_TRG_DIR}/include/
|
||||
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/dummy_config_h ${WOLFSSLLIB_TRG_DIR}/include/config.h
|
||||
|
||||
# unit test app
|
||||
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/test/* ${WOLFSSLLIB_TRG_DIR}/test/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* wolfssl sha tests
|
||||
* wolfssl unit tests
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "unity.h"
|
||||
#include "sdkconfig.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_timer.h"
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/sha.h>
|
||||
@@ -20,10 +21,18 @@
|
||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
#include <wolfssl/wolfcrypt/integer.h>
|
||||
|
||||
static const char* TAG = "wolfssl unit test";
|
||||
#ifdef NO_INLINE
|
||||
#include <wolfssl/wolfcrypt/misc.h>
|
||||
#else
|
||||
#define WOLFSSL_MISC_INCLUDED
|
||||
#include <wolfcrypt/src/misc.c>
|
||||
#endif
|
||||
static const char* const TAG = "wolfssl unit test";
|
||||
static xSemaphoreHandle exit_semaph;
|
||||
static volatile bool exit_loop=false;
|
||||
static uint64_t startTime = 0;
|
||||
|
||||
#define SHA_STACK_SIZE (20*1024)
|
||||
#define TIMES_SHA 500
|
||||
@@ -42,12 +51,51 @@ int sha384_test(void);
|
||||
int sha512_test(void);
|
||||
#endif
|
||||
|
||||
static uint64_t rsa_elapsedTime = 0;
|
||||
static void esp32TimerStart()
|
||||
{
|
||||
startTime = esp_timer_get_time();
|
||||
}
|
||||
|
||||
static uint64_t esp32elapsedTime()
|
||||
{
|
||||
/* return elapsed time since wc_esp32AesTimeStart() is called in us */
|
||||
return esp_timer_get_time() - startTime;
|
||||
}
|
||||
|
||||
#ifndef NO_RSA
|
||||
int rsa_test(void);
|
||||
static void tskRsa_Test(void *pvParam)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskRsa_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
if(rsa_elapsedTime == 0) esp32TimerStart();
|
||||
ret = rsa_test();
|
||||
if(rsa_elapsedTime == 0) rsa_elapsedTime = esp32elapsedTime()/1000;
|
||||
if(ret != 0) {
|
||||
printf("result was not good(rsa_test)(%d)\n",ret);
|
||||
TEST_FAIL_MESSAGE("tskRsa_Test\n");
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskRsa_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef NO_AES
|
||||
int aes_test(void);
|
||||
static void tskAes_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskAes_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskAes_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = aes_test();
|
||||
if(ret != 0) {
|
||||
@@ -56,17 +104,20 @@ static void tskAes_Test(void *pvParam)
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskAes_Test");
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
ESP_LOGI(TAG, "leave tskAes_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
int aesgcm_test(void);
|
||||
|
||||
static void tskAesGcm_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskAesGcm_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskAesGcm_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = aesgcm_test();
|
||||
if(ret != 0) {
|
||||
@@ -83,8 +134,10 @@ static void tskAesGcm_Test(void *pvParam)
|
||||
int aes192_test(void);
|
||||
static void tskAes192_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskAes192_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskAes192_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = aes192_test();
|
||||
if(ret != 0) {
|
||||
@@ -101,8 +154,10 @@ static void tskAes192_Test(void *pvParam)
|
||||
int aes256_test(void);
|
||||
static void tskAes256_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskAes256_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskAes256_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = aes256_test();
|
||||
if(ret != 0) {
|
||||
@@ -116,6 +171,473 @@ static void tskAes256_Test(void *pvParam)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !defined(NO_RSA) || defined(HAVE_ECC)
|
||||
|
||||
int mp_performance_check(int mul, int mulmod, int exptmod)
|
||||
{
|
||||
int ret = 0;
|
||||
int i,j,k;
|
||||
word32 Xbits;
|
||||
word32 Ybits;
|
||||
word32 Pbits;
|
||||
byte strX[256];
|
||||
byte strY[256];
|
||||
byte strP[256];
|
||||
uint64_t elapsedTime1;
|
||||
uint64_t elapsedTime2;
|
||||
uint64_t elapsedTime3;
|
||||
RNG rng;
|
||||
mp_int z1, z2, z3, x, p, y;
|
||||
|
||||
/* sanity check */
|
||||
if(!(mul||mulmod||exptmod)) return ret;
|
||||
|
||||
XMEMSET(strX, 0, sizeof(strX));
|
||||
XMEMSET(strY, 0, sizeof(strY));
|
||||
XMEMSET(strP, 0, sizeof(strP));
|
||||
|
||||
wc_InitRng(&rng);
|
||||
|
||||
ret = wc_RNG_GenerateBlock(&rng, strX, sizeof(strX));
|
||||
if (ret != 0) {
|
||||
return -1; //generating block failed!
|
||||
}
|
||||
ret = wc_RNG_GenerateBlock(&rng, strY, sizeof(strY));
|
||||
if (ret != 0) {
|
||||
return -1; //generating block failed!
|
||||
}
|
||||
ret = wc_RNG_GenerateBlock(&rng, strP, sizeof(strP));
|
||||
if (ret != 0) {
|
||||
return -1; //generating block failed!
|
||||
}
|
||||
|
||||
if((strP[255]&1) == 0) {
|
||||
strP[255] |= 1;
|
||||
}
|
||||
|
||||
for(i = 0; i < 256; i+=16) {
|
||||
for(j = 0; j < 256; j+=16) {
|
||||
for(k = 0; k < 256; k+=16) {
|
||||
/* set init mp_int */
|
||||
if((ret = mp_init_multi(&z1, &x, &y, &p, &z2, NULL)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_init failed.\n");
|
||||
}
|
||||
|
||||
/* set big-numbers into mp_inits */
|
||||
if(ret == 0 && mp_read_unsigned_bin(&x, (const byte*)&strX[i+1], i+1) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strX into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_unsigned_bin(&y, (const byte*)&strY[j+1], j+1) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_unsigned_bin(&p, (const byte*)&strP[k+1], k+1) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
Xbits = mp_count_bits(&x);
|
||||
Ybits = mp_count_bits(&y);
|
||||
Pbits = mp_count_bits(&p);
|
||||
|
||||
if(mul) {
|
||||
/* Z = X * Y */
|
||||
esp32TimerStart();
|
||||
if(ret == 0 && (ret = mp_mul(&x, &y, &z1)) != MP_OKAY) {
|
||||
printf("(%d,%d) Xbits = %d, Ybits = %d Pbits = %d ret = %d\n",
|
||||
i, j, Xbits, Ybits, Pbits, ret);
|
||||
TEST_FAIL_MESSAGE("mp_mul() failed");
|
||||
}
|
||||
elapsedTime1 = esp32elapsedTime();
|
||||
}
|
||||
if(mulmod) {
|
||||
/* Z = X^Y mod M */
|
||||
esp32TimerStart();
|
||||
if(ret == 0 && (ret = mp_mulmod(&x, &y, &p, &z2)) != MP_OKAY) {
|
||||
printf("(%d,%d) Xbits = %d, Ybits = %d Pbits = %d ret = %d\n",
|
||||
i , j, Xbits, Ybits, Pbits, ret);
|
||||
printf("X = %s Y = %s P = %s\n", mp_isodd(&x)==MP_YES?"ODD":"EVEN",
|
||||
mp_isodd(&y)==MP_YES?"ODD":"EVEN",
|
||||
mp_isodd(&p)==MP_YES?"ODD":"EVEN");
|
||||
TEST_FAIL_MESSAGE("mp_mulmod() failed");
|
||||
}
|
||||
elapsedTime2 = esp32elapsedTime();
|
||||
}
|
||||
if(exptmod) {
|
||||
/* Z = X^Y mod M */
|
||||
esp32TimerStart();
|
||||
if(ret == 0 && (ret = mp_exptmod(&x, &y, &p, &z3)) != MP_OKAY) {
|
||||
printf("(%d,%d) Xbits = %d, Ybits = %d Pbits = %d ret = %d\n",
|
||||
i , j, Xbits, Ybits, Pbits, ret);
|
||||
printf("X = %s Y = %s P = %s\n", mp_isodd(&x)==MP_YES?"ODD":"EVEN",
|
||||
mp_isodd(&y)==MP_YES?"ODD":"EVEN",
|
||||
mp_isodd(&p)==MP_YES?"ODD":"EVEN");
|
||||
TEST_FAIL_MESSAGE("mp_exptmod() failed");
|
||||
}
|
||||
elapsedTime3 = esp32elapsedTime()/1000;
|
||||
}
|
||||
|
||||
printf("(%d,%d) Xbits = %d, Ybits = %d Pbits = %d",
|
||||
i , j, Xbits, Ybits, Pbits);
|
||||
if(mul) {
|
||||
printf(" mul = %llu (us)", elapsedTime1);
|
||||
}
|
||||
if(mulmod) {
|
||||
printf(" mulmod = %llu (us)\n", elapsedTime2);
|
||||
}
|
||||
if(exptmod) {
|
||||
printf(" exptmod = %llu (ms)\n", elapsedTime3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mp_clear(&z1);
|
||||
mp_clear(&z2);
|
||||
mp_clear(&z3);
|
||||
mp_clear(&x);
|
||||
mp_clear(&p);
|
||||
mp_clear(&y);
|
||||
|
||||
wc_FreeRng(&rng);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Z = X * Y */
|
||||
int mp_unitest_mul(const char* strZ, const char* strX, const char* strY, int verbose)
|
||||
{
|
||||
int ret = 0;
|
||||
char* buf;
|
||||
char* bufZ;
|
||||
int radixX_size;
|
||||
int radixZ_size;
|
||||
int radixY_size;
|
||||
|
||||
mp_int z, x, y;
|
||||
|
||||
/* set init mp_int */
|
||||
if((ret = mp_init_multi(&z, &x, &y, NULL, NULL, NULL)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_init failed.\n");
|
||||
}
|
||||
/* set big-numbers into mp_inits */
|
||||
if(ret == 0 && mp_read_radix(&x, strX, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strX into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&y, strY, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
/* Z = X * Y */
|
||||
if(ret == 0 && (ret = mp_mul(&x, &y, &z)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_mul() failed\n");
|
||||
}
|
||||
|
||||
mp_radix_size(&z, 16, &radixZ_size);
|
||||
bufZ = (char*)XMALLOC(radixZ_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(bufZ != NULL) {
|
||||
mp_toradix(&z, bufZ, 16);
|
||||
bufZ[radixZ_size] ='\0';
|
||||
}
|
||||
|
||||
if(verbose) {
|
||||
mp_dump("x_value", &x, 1);
|
||||
mp_dump("y_value", &y, 1);
|
||||
mp_dump("z_value", &z, 1);
|
||||
|
||||
mp_radix_size(&x, 16, &radixX_size);
|
||||
mp_radix_size(&y, 16, &radixY_size);
|
||||
radixX_size = max(radixX_size, radixY_size);
|
||||
|
||||
buf = (char*)XMALLOC(radixX_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(buf != NULL) {
|
||||
mp_toradix(&x, buf, 16);
|
||||
buf[radixX_size] ='\0';
|
||||
printf("X : %s ", buf);
|
||||
|
||||
mp_toradix(&y, buf, 16);
|
||||
buf[radixY_size] ='\0';
|
||||
printf("Y : %s ", buf);
|
||||
}
|
||||
if(bufZ != NULL) {
|
||||
printf("Z : %s \n", bufZ);
|
||||
}
|
||||
XFREE(buf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
}
|
||||
|
||||
TEST_ASSERT_EQUAL_STRING_MESSAGE(strZ, bufZ,
|
||||
"mp_mulmod returns an unexpected result.");
|
||||
XFREE(bufZ, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int mp_unitest_mulmod(const char* strZ, const char* strX, const char* strY,
|
||||
const char* strM, int verbose)
|
||||
{
|
||||
int ret = 0;
|
||||
char* buf;
|
||||
char* bufZ;
|
||||
int radixX_size;
|
||||
int radixZ_size;
|
||||
int radixY_size;
|
||||
int radixM_size;
|
||||
|
||||
mp_int z, x, y, m;
|
||||
|
||||
/* set init mp_int */
|
||||
if((ret = mp_init_multi(&z, &x, &y, &m, NULL, NULL)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_init failed.\n");
|
||||
}
|
||||
/* set big-numbers into mp_inits */
|
||||
if(ret == 0 && mp_read_radix(&x, strX, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strX into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&y, strY, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&m, strM, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strM into mp_init");
|
||||
return -1;
|
||||
}
|
||||
/* Z = X^Y mod M */
|
||||
if(ret == 0 && (ret = mp_mulmod(&x, &y, &m, &z)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_mulmod() failed\n");
|
||||
}
|
||||
|
||||
mp_radix_size(&z, 16, &radixZ_size);
|
||||
bufZ = (char*)XMALLOC(radixZ_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(bufZ != NULL) {
|
||||
mp_toradix(&z, bufZ, 16);
|
||||
bufZ[radixZ_size] ='\0';
|
||||
}
|
||||
|
||||
if(verbose) {
|
||||
mp_dump("x_value", &x, 1);
|
||||
mp_dump("y_value", &y, 1);
|
||||
mp_dump("m_value", &m, 1);
|
||||
mp_dump("z_value", &z, 1);
|
||||
|
||||
mp_radix_size(&x, 16, &radixX_size);
|
||||
mp_radix_size(&y, 16, &radixY_size);
|
||||
mp_radix_size(&m, 16, &radixM_size);
|
||||
radixX_size = max(radixX_size, max(radixY_size, radixM_size));
|
||||
|
||||
buf = (char*)XMALLOC(radixX_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(buf != NULL) {
|
||||
mp_toradix(&x, buf, 16);
|
||||
buf[radixX_size] ='\0';
|
||||
printf("X : %s ", buf);
|
||||
|
||||
mp_toradix(&y, buf, 16);
|
||||
buf[radixY_size] ='\0';
|
||||
printf("Y : %s ", buf);
|
||||
|
||||
mp_toradix(&m, buf, 16);
|
||||
buf[radixM_size] ='\0';
|
||||
printf("M : %s ", buf);
|
||||
}
|
||||
if(bufZ != NULL) {
|
||||
printf("Z : %s \n", bufZ);
|
||||
}
|
||||
XFREE(buf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
}
|
||||
|
||||
TEST_ASSERT_EQUAL_STRING_MESSAGE(strZ, bufZ,
|
||||
"mp_mulmod returns an unexpected result.");
|
||||
XFREE(bufZ, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int mp_unitest_exptmod(const char* strZ, const char* strX, const char* strY,
|
||||
const char* strM, int verbose)
|
||||
{
|
||||
int ret = 0;
|
||||
char* buf;
|
||||
char* bufZ;
|
||||
int radixX_size;
|
||||
int radixZ_size;
|
||||
int radixY_size;
|
||||
int radixM_size;
|
||||
|
||||
mp_int z, x, y, m;
|
||||
|
||||
/* set init mp_int */
|
||||
if((ret = mp_init_multi(&z, &x, &y, &m, NULL, NULL)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_init failed.\n");
|
||||
}
|
||||
/* set big-numbers into mp_inits */
|
||||
if(ret == 0 && mp_read_radix(&x, strX, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strX into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&y, strY, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&m, strM, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strM into mp_init");
|
||||
return -1;
|
||||
}
|
||||
/* Z = X^Y mod M */
|
||||
if(ret == 0 && (ret = mp_exptmod(&x, &y, &m, &z)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_exptmod() failed\n");
|
||||
}
|
||||
|
||||
mp_radix_size(&z, 16, &radixZ_size);
|
||||
bufZ = (char*)XMALLOC(radixZ_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(bufZ != NULL) {
|
||||
mp_toradix(&z, bufZ, 16);
|
||||
bufZ[radixZ_size] ='\0';
|
||||
}
|
||||
|
||||
if(verbose) {
|
||||
mp_dump("x_value", &x, 1);
|
||||
mp_dump("y_value", &y, 1);
|
||||
mp_dump("m_value", &m, 1);
|
||||
mp_dump("z_value", &z, 1);
|
||||
|
||||
mp_radix_size(&x, 16, &radixX_size);
|
||||
mp_radix_size(&y, 16, &radixY_size);
|
||||
mp_radix_size(&m, 16, &radixM_size);
|
||||
radixX_size = max(radixX_size, max(radixY_size, radixM_size));
|
||||
|
||||
buf = (char*)XMALLOC(radixX_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(buf != NULL) {
|
||||
mp_toradix(&x, buf, 16);
|
||||
buf[radixX_size] ='\0';
|
||||
printf("X : %s ", buf);
|
||||
|
||||
mp_toradix(&y, buf, 16);
|
||||
buf[radixY_size] ='\0';
|
||||
printf("Y : %s ", buf);
|
||||
|
||||
mp_toradix(&m, buf, 16);
|
||||
buf[radixM_size] ='\0';
|
||||
printf("M : %s ", buf);
|
||||
}
|
||||
if(bufZ != NULL) {
|
||||
printf("Z : %s \n", bufZ);
|
||||
}
|
||||
XFREE(buf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
}
|
||||
|
||||
TEST_ASSERT_EQUAL_STRING_MESSAGE(strZ, bufZ,
|
||||
"mp_exptmod returns an unexpected result.");
|
||||
XFREE(bufZ, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl mp exptmod test" , "[wolfssl]")
|
||||
{
|
||||
ESP_LOGI(TAG, "mp test");
|
||||
int verbose = 0;
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("2", "5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("1", "-5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("CE331E6D30A77A57", "1234", "A",
|
||||
"FFFFFFFFFFFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("1000000", "1000", "2", "FFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("1000000", "2", "128",
|
||||
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("14B5A90", "1234", "2", "FFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("1234321", "1111", "2", "FFFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("2", "5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("22", "55", "1", "33", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("222", "555", "1", "333", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("2222", "5555", "1", "3333", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("11", "5555", "1", "33", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("55", "1111", "1", "77", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("88", "1111", "2", "BB", verbose));
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl mp mulmod test" , "[wolfssl]")
|
||||
{
|
||||
ESP_LOGI(TAG, "mp test");
|
||||
int verbose = 0;
|
||||
/* Z X Y M */
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("2", "5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("1", "-5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("2", "-64", "A", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("74C3AC", "123456", "55555", "AAAAA1", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("73A068", "123456", "55555", "AAAAA3", verbose));
|
||||
|
||||
mp_unitest_mulmod(
|
||||
"10C530243ADE5EA7C557E9A2FF5B4573195665A89CB921F573267B15CD2BCB6467E925235AA752CC2D08B07D31497B497744CA3685A46E76247439826628589DD814AC9EEE9EF8B4B44BEE2DB6065BE3C51B788E4ECFF39FB28C3D8EBE10FC9989D97CDC6624E32EBD222E222A2E93085FC2D05E4EB73375F7FC7B11E9B3024",
|
||||
"A4F780E83C3FAC34878787D4876BA7582E48C7637A26C6E720974FC7416150A3865D44F6D08E3DA38EB4296928C564D9A0008D8A0D63E0B8EF54D14D54FBEAB540E43D2ED6BE54806D9150C1944437CC3D8B2486A1FB932A6691B529E0E2A46524CB0825BA4F4E1B9C24554DB1913169E5373173A3B7CBBF77C3403C8C7AE86A",
|
||||
"6520379E44C1A2C359342010E1038F8C3644D9A47A9346A80C92B48A6986872D74C3BDDB49B2D93C554B588D4A4448614FADBC066CC10F3EB20A2422EA857B7DD0BF60C9CB7D733B12761BD785BCD122D97ECA0A8F1D0F705BC094B66EE5C96712AE3B14B5AA6AD9E50C6A3020BA01DA4FB94E3934527ADCDB3DE51C368B37C2",
|
||||
"BE7070B80418E528FE66D89088E0F1B7C3D0D23EE64B9474B0FFB0F763A5AB7EAFB62BB738161A50BFF1CA873AD5B0DAF8437A15B97EEA2A80D251B035AF07F3F25D243A4B8756481B3C249ADA7080BD3C8B034A0C8371DEE30370A2B760091B5EC73DA06460E3A9068DD3FF42BB0A94272D57420DB02DE0BA182560921192F3",
|
||||
verbose);
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod(
|
||||
"76DBEC4349F316F82C27F59CD87378C83234E28C6E99990A5F9CDCF5A627CD1B2F405FA31AA0EAF7CB433B01D3592E5EF11134E4F8C8126D4DF33F4022A9A2A5B2FA1E6D25B66C628A9BE974136C823CE564E39D1ED099B5B401B8805DE19EFA776C6263265D6E9928714EBD74FFFFD89179BD594DCDC74F5687E311C26B613E539311DC310D36D04D831704524820DE3FC70BC2E43B929F9B4FF40DF4367B241095577C80B6BEB7F2BDE84282EEC9F9FE2A289E4115DB788803392C96A8A86A2FCABCBC6545BABB80F65CE2821C07DA899CEA8D172681F398341FC449D21630DDD0F100E28D351CFF2F2C4E2341B5851632FC6597E00149E98752A5895CDC41",
|
||||
"1678D8E98C4A0BA91E0F8318A15A453A562B36A4EC315B445617CF93CD5287B0284FEE83EF0A5DBEFCEC1801E402D860C050CE24F74D715B57A9E0BE2D8F91FF61F7124983270F06A2E6A00E33A32E26A1A358B1B178C969D37BCB544ED8B3A0AF3BFEA5AB970AE7613ACF0B5C7B5B4AB578C96911752528DA7B3B40189E75C67EC3F6CEA16D5B53C5742FF3C425EB7C3F20D5198CC5B8CCAD0A2D59AD58DD88FB203396341456CF9415CEB3BFB1FB7B2CFE9599E755AB8FD55C5A8B9AD044E6E2DE44FC996297C3C900F76D118572EDF860F507B3C1AC3590B9B47AD85F9D930CEDE1DA1F0AE0DCF69D6DE44304FE22704C51262B9230D00A988438555F7EAF",
|
||||
"3D76E6173983A5E1F98C04CDD512274E7259E7C26355A5BA7F067B343699E01D6FDE6A27E3D73B1BBFE2F32FC4B412F8D16F1F538D09227BEECDC9BFF1D05DCF0D28112209D3077C2F9E88BBE62AA7E61948172142B793E6AA65D11AFFF182F0D758609B113C45EF43934233767F0C2337853750892E4E45413C87D02D051DC4BAD0782724672E9C8AC888A2EFDDC5C3AC24B0BD846F473070C815A784B4E6C1E16F2F4428379E80AC9226CDE94C5141B316EA3573E64487EB460E80E888FF270A9AB06CD17447FE082C3F7B2809EAA20227E9AE1924978793947E67CB664D938E061F1CE4B1F36795ED7166022D8B35F3C671ECB77EA7B0AA481E1E0D575887",
|
||||
"E98A5D15A4D434B959A2DAAF74C8C9032638FA48FC4D306EEA7689CE4FF687DE323A466E38125837220D80AC2DAF2F123E627360666890B26F4717042BCAB726B710C213F97A620A933290420D162EFAD729D79F54E4FC6574F8F6436B4E9E347FCB6B1C1ADE8281BF085D3FC0B6B1A8A59C8170A74E3287151C780EF018FEEB4B372BE9E1F7FA51C658B9D80603EDC00318558B98FEB1F6D03DFA63C03819C700EF4D9960B4BACEE3CED96B2D7694FFFB77184AFE65F00A915C3B229485D02018592EA53303AC1B5F78321125EE7F9621A9D676978D667EB291D0362EA31DBFF185EDC03E60B85A9FAB80E0EA5D5F7556C74D518ED41F34A636F1301F51992F",
|
||||
verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod(
|
||||
"DBEE64C8091CF78EC926AF5D51E06FD92FE0007DA3AF33317D9E131F3CDE711AFB30F8F61E6ACF99EAD21822E4DBC2B31B910D7E357230F255DA6C90EEA36A1E926A7F44CF34FBE544C1DC30B8DF4D5735495FEB1D0E10827222B6AF069BCD3F66120C4A19D8D533E4222FE65FCB323CF993A8DB07B896F0D10AAF94A996EB9B",
|
||||
"1572A17625B1609DB02793AEC41541DB2C9B0301EEF6805804945BA77656B207BF46F90762DEBB3E0057A43A95D09C6C852267E602FD3851D925323F875CB1E743818CBE17814D2DB4921BAA7DA2F8E5EFBD6373FF0E2020206BC89870F0B734AD3E331EB010CC713F09683165EC5BF551B3B70A497178EB926C0726EDDB2E37",
|
||||
"773FB6148DC513087EC9C4EAD4BA0DA49EB36EDE1A7AF88988EF363C11BC83E8306C817C47F34DCAEA560162552E4B89A9BD6F01F67402AAE38466069534A1E2CA65FEA32D4397956C6FD5B438F6F99530FAF89C252BB61451CC2EB35BD6DC1AEC2D095B3F3AD0B84E271FDC2AEEACA9595D076311830BD47480B67D6245BF56",
|
||||
"FF3011C23C6BB4D69E6BC193D148CE802DBEAFF7BAB2D7C3C4536E1502AA61B9EA059B79670BCED9FB988C1D6BF45AA7A05E5418E931447CC752D86DA03ED6142D7B159D1E398796DDA833552A8E32C0C4E5B8CBCD328DAD7BE5C67E4D6FF3A4C5A640BE903A336A24B2808112ACE37B2663CF88B9FF74233752F0C4275D451F",
|
||||
verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod(
|
||||
"7C65",
|
||||
"10000000000",
|
||||
"555555",
|
||||
"12345", verbose));
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl mp mul test" , "[wolfssl]")
|
||||
{
|
||||
ESP_LOGI(TAG, "mp test");
|
||||
int verbose = 0;
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("A", "5", "2", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("-A", "-5", "2", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("A", "-5", "-2", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("6260060", "1234", "5678", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("38E83", "123", "321", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("75CD7FCBBC", "123456", "6789A", verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul(
|
||||
"19C26D7DC91D2123426ECCDB5A0290A9F7D9D01456D266BA549E859373D9D4FE0B4EDAE8763FA94458E4BED29CB7DD6CEF5C52136D2F310D2EABA373C750760EEE3FAE6EA618C60E9A4A0F2C3F3AC87612A0F032866F1CA4DA95CCCC47D2C51F",
|
||||
"77BDC7B4C5616B142B7762251075BA95FB475D570179E730D418A9143D18905F",
|
||||
"371280CB239B46A1BB0C036755ADF3C4474E1696FB2E70AA200225322C50270D44AE8490F24AA22D0FD9AE89EEF9449285FCED5FBC8F424A4A5E82DFEB3B0341",
|
||||
verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul(
|
||||
"33676FE7B625BF0759F7E8932B6B50D5F45E16E1C670AD20F1CDA5DFFA433685937CA8422A9CB916CC8",
|
||||
"165196BA298CD54975DC483C4D21A51EA0A146783CFB41522E76E50C",
|
||||
"24D9D5CA7D9CCC06F5E70F1963E6",
|
||||
verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul(
|
||||
"65D67946D0D9AB634DD18E5308A1F963C3AAE65F949A81C16C91B5B9DACE18A170ED73E3FC1F01EC8FF7D78EDD29B71FA00D9F5D8FF9116AA93E6F8F09DB306A8C1EEA42DCE9C8C9345B4B84E58CEED1F24A93B14FF47E81A766DF842A25BB941F3F07310C749B47E27C85D544FFE9021AB31AD3484AF40F738A04E9BCC0EFB6B36E56ABE76D982AD7B4D2527526F29B9CFD2A0F6570532C286EA7937354F1A6903480B4D8554E7ED707A08E07CAD5EB713752125163626CF52178574011072D2E536D126C2FF096505515FCA91B5BCEC2D765FC0A1AE90CC8F3C2E18529CF6647E4F732B1D16685189FE24148C752B3AF23F1D8481507CFB89DC1DC70E87B06748D4F1E32B489E1288FC5B02466C8395A59E92862F83F985D021B9C4C42B768BFD3FC81C189F7B88755EB879CF781EFC97C41D0ABB428F7351FA9D62A12A316FE2D2C24D8ECF87132D8476A1B0611793E9EFEE2ADDE1AB7116F69D7744150C770555C54B6BE88ECDD5CF33DF321147061FCB42BEF3D69663695FFD74D42493A",
|
||||
"13DADD9D122C5264497863C0BC2A893CD6C951E94198ABC0DAFF499BE89C6A425548B15F582E714D866563E4ACC81197D5B95BF87BD960D3647E51764F31977BFE2D0A7A7727C27BF7B3134148F126B5F1F0F00730C172C76D768874006C6C86E82F8698621773ED0B91CCA997FBC712D788D384E7831F51A6DD4FB4819D26026",
|
||||
"5210C04ED4FDF80D630BA81DCA6BA05495156D7DDBE1DEE0E057825F7FADACE70EBE4D5F82E51E465514DDC86E5B46DD780C182865A6C9E29F7456E3090229247BFC18094E31B15B1BE3A962601202D5C65979FF96CA64FB93F29110A76500DEB1003B6CEA2BA79CBAD007FA35610C43DE59FD0A22E07CA0A9943F6B101B4C9663AF0CADD26014586933AC536A917F4A62A31BD5EE8BFD452F63E4ED4D656DDC22D2413B44D02029887F7DC31200FD793C83F1927F306D00535EB1E0E8BEDA6486A41C509E8DB4369BC4D0C36767AA0127EC3E8C6EF4B5C07F2AD9FB51910B771F112A10F21128E26428B74F69586C486B04EEB64E84A36D4BD03C315B90CE8F",
|
||||
verbose));
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl mp mul performance test" , "[wolfssl]")
|
||||
{
|
||||
int mul = 0, mulmod = 0, exptmod = 0;
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_performance_check(mul, mulmod, exptmod));
|
||||
}
|
||||
#endif/* !NO_RSA || HAVE_ECC */
|
||||
|
||||
TEST_CASE("wolfssl aes test" , "[wolfssl]")
|
||||
{
|
||||
ESP_LOGI(TAG, "aes test");
|
||||
@@ -158,10 +680,10 @@ TEST_CASE("wolfssl sha crypt-test", "[wolfssl]")
|
||||
#ifndef NO_SHA
|
||||
static void tskSha_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskSha_Test");
|
||||
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskSha_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = sha_test();
|
||||
if(ret != 0) {
|
||||
@@ -171,6 +693,7 @@ static void tskSha_Test(void *pvParam)
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskSha_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
@@ -179,9 +702,10 @@ static void tskSha_Test(void *pvParam)
|
||||
#ifndef NO_SHA256
|
||||
static void tskSha256_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskSha256_Test");
|
||||
int ret;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskSha256_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = sha256_test();
|
||||
if(ret != 0) {
|
||||
@@ -191,6 +715,7 @@ static void tskSha256_Test(void *pvParam)
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskSha256_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
@@ -199,9 +724,10 @@ static void tskSha256_Test(void *pvParam)
|
||||
#ifdef WOLFSSL_SHA384
|
||||
static void tskSha384_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskSha384_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskSha384_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = sha384_test();
|
||||
if(ret != 0) {
|
||||
@@ -211,6 +737,7 @@ static void tskSha384_Test(void *pvParam)
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskSha384_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
@@ -219,10 +746,10 @@ static void tskSha384_Test(void *pvParam)
|
||||
#ifdef WOLFSSL_SHA512
|
||||
static void tskSha512_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskSha512_Test");
|
||||
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskSha512_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = sha512_test();
|
||||
if(ret != 0) {
|
||||
@@ -230,17 +757,18 @@ static void tskSha512_Test(void *pvParam)
|
||||
TEST_FAIL_MESSAGE("tskSha512_Test() failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskSha512_test()");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST_CASE("wolfssl sha multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
#ifndef NO_SHA
|
||||
num++;
|
||||
#endif
|
||||
@@ -271,21 +799,24 @@ TEST_CASE("wolfssl sha multi-thread test ", "[wolfssl]")
|
||||
xTaskCreate(tskSha512_Test, "sha512_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
|
||||
ESP_LOGI(TAG, "Waiting for 10s ...");
|
||||
vTaskDelay(10000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
ESP_LOGI(TAG, "Waiting for 10s ...");
|
||||
vTaskDelay(10000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
|
||||
for(i = 0;i < num;i++) {
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
}
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
|
||||
for(int i=0;i<num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
}
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl aes multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
|
||||
#ifndef NO_AES
|
||||
num++;
|
||||
num++;
|
||||
@@ -311,21 +842,24 @@ TEST_CASE("wolfssl aes multi-thread test ", "[wolfssl]")
|
||||
xTaskCreate(tskAes256_Test, "Aes256_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
|
||||
ESP_LOGI(TAG, "Waiting for 10s ...");
|
||||
vTaskDelay(10000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
ESP_LOGI(TAG, "Waiting for 10s ...");
|
||||
vTaskDelay(10000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
|
||||
for(int i=0;i<num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
for(i = 0;i < num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
}
|
||||
}
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl aes sha sha256 multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
|
||||
#ifndef NO_AES
|
||||
num++;
|
||||
@@ -414,7 +948,7 @@ TEST_CASE("wolfssl aes sha sha256 multi-thread test ", "[wolfssl]")
|
||||
vTaskDelay(15000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
|
||||
for(int i=0;i<num;i++){
|
||||
for(i = 0;i < num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
@@ -425,6 +959,7 @@ TEST_CASE("wolfssl aes sha sha256 multi-thread test ", "[wolfssl]")
|
||||
TEST_CASE("wolfssl aes sha384 sha512 multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
|
||||
#ifndef NO_AES
|
||||
num++;
|
||||
@@ -515,7 +1050,88 @@ TEST_CASE("wolfssl aes sha384 sha512 multi-thread test ", "[wolfssl]")
|
||||
exit_loop = true;
|
||||
|
||||
|
||||
for(int i=0;i<num;i++){
|
||||
for(i = 0;i < num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
}
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl aes sha256 rsa multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
|
||||
#ifndef NO_AES
|
||||
num++;
|
||||
num++;
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
num++;
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
num++;
|
||||
#endif
|
||||
|
||||
exit_loop = false;
|
||||
|
||||
#ifndef CONFIG_FREERTOS_UNICORE
|
||||
num *= 2;
|
||||
printf("num=%d\n", num);
|
||||
|
||||
exit_semaph = xSemaphoreCreateCounting(num, 0);
|
||||
|
||||
#ifndef NO_AES
|
||||
if(xTaskCreatePinnedToCore(tskAes_Test, "Aes_test", SHA_STACK_SIZE, NULL, 3, NULL, 0)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -1 \n");
|
||||
if(xTaskCreatePinnedToCore(tskAes_Test, "Aes_test", SHA_STACK_SIZE, NULL, 3, NULL, 1)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -2 \n");
|
||||
if(xTaskCreatePinnedToCore(tskAesGcm_Test, "AesGcm_test", SHA_STACK_SIZE, NULL, 3, NULL, 0)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -3 \n");
|
||||
if(xTaskCreatePinnedToCore(tskAesGcm_Test, "AesGcm_test", SHA_STACK_SIZE, NULL, 3, NULL, 1)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -4 \n");
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
if(xTaskCreatePinnedToCore(tskSha256_Test, "sha256_test", SHA_STACK_SIZE, NULL, 3, NULL, 0)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -5 \n");
|
||||
if(xTaskCreatePinnedToCore(tskSha256_Test, "sha256_test", SHA_STACK_SIZE, NULL, 3, NULL, 1)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -6 \n");
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
if(xTaskCreatePinnedToCore(tskRsa_Test, "rsa_test", SHA_STACK_SIZE, NULL, 3, NULL, 0)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -7 \n");
|
||||
if(xTaskCreatePinnedToCore(tskRsa_Test, "rsa_test", SHA_STACK_SIZE, NULL, 3, NULL, 1)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -8 \n");
|
||||
#endif
|
||||
#else
|
||||
|
||||
exit_semaph = xSemaphoreCreateCounting(num, 0);
|
||||
|
||||
#ifndef NO_AES
|
||||
xTaskCreate(tskAes_Test, "Aes_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
xTaskCreate(tskAesGcm_Test, "AesGcm_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
xTaskCreate(tskSha256_Test, "sha256_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
xTaskCreate(tskRsa_Test, "rsa_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
#endif /* CONFIG_FREERTOS_UNICORE */
|
||||
|
||||
ESP_LOGI(TAG, "Waiting for 15s ...");
|
||||
vTaskDelay(15000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
|
||||
/* wait until rsa test finishes */
|
||||
while(rsa_elapsedTime<=0){ vTaskDelay(1); }
|
||||
|
||||
ESP_LOGI(TAG, "Waiting another %llu s. rsa test would take more time to finish.",
|
||||
(rsa_elapsedTime+3000)/portTICK_PERIOD_MS);
|
||||
vTaskDelay((rsa_elapsedTime+3000)/portTICK_PERIOD_MS);
|
||||
|
||||
for(i = 0;i < num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#define HAVE_AEAD
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
@@ -54,6 +53,16 @@
|
||||
/* #define CUSTOM_SLOT_ALLOCATION */
|
||||
#endif
|
||||
|
||||
/* rsa primitive specific definition */
|
||||
#if defined(WOLFSSL_ESPWROOM32) || defined(WOLFSSL_ESPWROOM32SE)
|
||||
/* Define USE_FAST_MATH and SMALL_STACK */
|
||||
#define ESP32_USE_RSA_PRIMITIVE
|
||||
/* threshold for performance adjustment for hw primitive use */
|
||||
/* X bits of G^X mod P greater than */
|
||||
#define EPS_RSA_EXPT_XBTIS 36
|
||||
/* X and Y of X * Y mod P greater than */
|
||||
#define ESP_RSA_MULM_BITS 2000
|
||||
#endif
|
||||
|
||||
/* debug options */
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
@@ -70,3 +79,4 @@
|
||||
/* #define NO_ESP32WROOM32_CRYPT */
|
||||
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_HASH*/
|
||||
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_AES */
|
||||
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_RSA_PRI */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -120,6 +120,6 @@ These settings are located in `Header/user_settings.h`.
|
||||
* `USE_SLOW_SHA512`: Over twice as small, but 50% slower
|
||||
* `USE_CERT_BUFFERS_1024` or `USE_CERT_BUFFERS_2048`: Size of RSA certs / keys to test with.
|
||||
* `BENCH_EMBEDDED`: Define this if using the wolfCrypt test/benchmark and using a low memory target.
|
||||
* `ECC_USER_CURVES`: Allows user to defines curve sizes to enable. Default is 256-bit on. To enable others use `HAVE_ECC192`, `HAVE_ECC224`, etc....
|
||||
* `ECC_USER_CURVES`: Allows user to define curve sizes to enable. Default is 256-bit on. To enable others use `HAVE_ECC192`, `HAVE_ECC224`, etc....
|
||||
* `TFM_ARM`, `TFM_SSE2`, `TFM_AVR32`, `TFM_PPC32`, `TFM_MIPS`, `TFM_X86` or `TFM_X86_64`: These are assembly optimizations available with USE_FAST_MATH.
|
||||
* Single Precision Math for ARM: See `WOLFSSL_SP`. Optimized math for ARM performance of specific RSA, DH and ECC algorithms.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* armtarget.c
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* benchmark_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* test_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* tls_client.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolf_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* benchmark-main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* current-time.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* minimum-startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* test-main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
#define NO_WOLF_C99
|
||||
#define NO_MULTIBYTE_PRINT
|
||||
@@ -31,4 +31,4 @@
|
||||
#define HAVE_ECC
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVE25519_SMALL
|
||||
#define HAVE_ED25519
|
||||
#define HAVE_ED25519
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
CyaSSL IAR Project Files
|
||||
|
||||
This directory contains project files for IAR EWARM IDE. These
|
||||
projects have been set up to generic ARM Cortex-M MPUs.
|
||||
In order to generate project for specific target MPU, take following steps.
|
||||
CyaSSL IAR Project Files
|
||||
|
||||
This directory contains project files for IAR EWARM IDE. These
|
||||
projects have been set up to generic ARM Cortex-M MPUs.
|
||||
In order to generate project for specific target MPU, take following steps.
|
||||
|
||||
** Note ** regarding Segger Embedded Operating System (embOS)
|
||||
The directory embOS contains projects specifically for embOS on IAR-EWARM.
|
||||
@@ -10,20 +10,20 @@ In order to generate project for specific target MPU, take following steps.
|
||||
uses embOS
|
||||
|
||||
|
||||
Included Project Files
|
||||
-----------------------
|
||||
1. Workspace: wolfssl.eww
|
||||
The workspace includes wolfSSL-Lib library and wolfCrypt-test, wolfCrypt-benchmark
|
||||
Included Project Files
|
||||
-----------------------
|
||||
1. Workspace: wolfssl.eww
|
||||
The workspace includes wolfSSL-Lib library and wolfCrypt-test, wolfCrypt-benchmark
|
||||
executable projects.
|
||||
|
||||
2. wolfSSL-Lib Project: lib/wolfSSL-lib.ewp
|
||||
generates full set library of wolfCrypt and wolfSSL functions.
|
||||
generates full set library of wolfCrypt and wolfSSL functions.
|
||||
|
||||
3. Test suites Project: test/wolfCrypt-test.ewp
|
||||
generates test.out test suites executable
|
||||
3. Test suites Project: test/wolfCrypt-test.ewp
|
||||
generates test.out test suites executable
|
||||
|
||||
4. Benchmark Project: benchmark/wolfCrypt-benchmark.ewp
|
||||
generates benchmark.out benchmark executable
|
||||
4. Benchmark Project: benchmark/wolfCrypt-benchmark.ewp
|
||||
generates benchmark.out benchmark executable
|
||||
|
||||
Set Up Steps
|
||||
------------
|
||||
@@ -33,22 +33,22 @@ Set Up Steps
|
||||
You can build and download the to the simulator.
|
||||
Open Terminal I/O window, by "view"->"Terminal I/O", and start execution.
|
||||
|
||||
1. Project option settings
|
||||
For each project,...
|
||||
General Options: Choose appropriate "Target" options
|
||||
1. Project option settings
|
||||
For each project,...
|
||||
General Options: Choose appropriate "Target" options
|
||||
|
||||
2. For executable projects,...
|
||||
2. For executable projects,...
|
||||
Add "SystemInit" and "startup" for your MPU
|
||||
Debugger: Choose your debug "Driver"
|
||||
Debugger: Choose your debug "Driver"
|
||||
|
||||
3. For benchmark project,...
|
||||
3. For benchmark project,...
|
||||
Choose option for current_time function.
|
||||
Or write own "current_time" benchmark timer with WOLFSSL_USER_CURRTIME option.
|
||||
|
||||
4. Build and download
|
||||
Go to "Project->Make" and "Download and Debug" in Menu bar for EWARM build and download.
|
||||
4. Build and download
|
||||
Go to "Project->Make" and "Download and Debug" in Menu bar for EWARM build and download.
|
||||
|
||||
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
|
||||
204
IDE/KDS/.cproject
Normal file
204
IDE/KDS/.cproject
Normal file
@@ -0,0 +1,204 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1823534755">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1823534755" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1823534755" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
|
||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1823534755." name="/" resourcePath="">
|
||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.1219033186" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1889985691" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.1934974013" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.1488765487" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.2137237709" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.189250506" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.318329197" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.max" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.379381336" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1982231667" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.982386377" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.357134062" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m3" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.942886942" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.1985384014" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.980821709" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.741978820" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.644448038" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1568794824" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1663916396" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.644079467" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1653907508" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.212411635" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.37217667" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.938806288" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.2020299399" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/wolfssl-test}/Debug" id="ilg.gnuarmeclipse.managedbuild.cross.builder.1169013041" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1652818945" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1995204633" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.588237282" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1618862980" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1348561577" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="../../../../wolfssl"/>
|
||||
<listOptionValue builtIn="false" value=".././config"/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.1370434476" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1511494824" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.204098874" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1188857255" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.706026125" name="Cross ARM C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.960189587" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.other.1923669300" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.other" value="--specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.653534040" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.1864249736" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.1426398559" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="--specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.907833184" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1802905650" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1296666581" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.913795604" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.1264511626" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.957974251" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.2098897888" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.511113554" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.3492907" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.91497735" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.898726007" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.658684795">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.658684795" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.658684795" name="Release" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release">
|
||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.658684795." name="/" resourcePath="">
|
||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release.813859650" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.794819747" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.size" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.1496674696" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.650429804" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1570447896" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.838509098" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.662400626" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1161227121" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.705055087" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.506368524" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.612731672" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m3" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1833413616" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.881134378" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2100237234" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1356336567" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.1525413618" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1604347618" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1779877498" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.911087419" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1710464795" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.1501290946" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1999176868" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1190543033" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.30283807" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/wolfssl-test}/Release" id="ilg.gnuarmeclipse.managedbuild.cross.builder.394488448" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.441759325" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.594523961" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.250835699" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.377447475" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1965124250" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1682275351" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1092458319" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.1984331723" name="Cross ARM C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.1569599516" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.other.933648471" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.other" value="--specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1950861502" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.2133729789" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.1119517305" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="--specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.27793787" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.513801227" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1231377091" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.89637169" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.2090652470" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.1819919258" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.276097013" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.1578115309" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.786035502" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.397820407" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.226153595" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="wolfssl-test.ilg.gnuarmeclipse.managedbuild.cross.target.elf.1253579278" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1613256277;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1613256277.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1198618439;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1181889101">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.658684795;ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.658684795.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.377447475;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1965124250">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1823534755;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1823534755.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1618862980;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1511494824">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1823534755;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1823534755.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.204098874;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1188857255">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.658684795;ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.658684795.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1682275351;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1092458319">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1613256277;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1613256277.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1931048491;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1225137803">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
</cproject>
|
||||
394
IDE/KDS/.project
Normal file
394
IDE/KDS/.project
Normal file
@@ -0,0 +1,394 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>wolfssl-test</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>src/test.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/test/test.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/aes.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/aes.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/arc4.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/arc4.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/asm.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/asm.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/asn.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/asn.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/blake2b.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/blake2b.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/blake2s.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/blake2s.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/camellia.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/camellia.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/chacha.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/chacha.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/chacha20_poly1305.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/chacha20_poly1305.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/cmac.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/cmac.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/coding.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/coding.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/compress.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/compress.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/cpuid.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/cpuid.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/cryptocb.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/cryptocb.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/curve25519.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/curve25519.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/des3.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/des3.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/dh.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/dh.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/dsa.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/dsa.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/ecc.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/ecc.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/ecc_fp.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/ecc_fp.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/ed25519.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/ed25519.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/error.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/error.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/fe_low_mem.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/fe_low_mem.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/fe_operations.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/fe_operations.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/ge_low_mem.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/ge_low_mem.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/ge_operations.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/ge_operations.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/hash.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/hash.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/hc128.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/hc128.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/hmac.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/hmac.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/idea.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/idea.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/integer.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/integer.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/logging.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/logging.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/md2.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/md2.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/md4.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/md4.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/md5.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/md5.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/memory.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/memory.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/pkcs12.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/pkcs12.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/pkcs7.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/pkcs7.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/poly1305.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/poly1305.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/pwdbased.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/pwdbased.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/rabbit.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/rabbit.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/random.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/random.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/ripemd.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/ripemd.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/rsa.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/rsa.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sha.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sha.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sha256.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sha256.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sha3.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sha3.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sha512.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sha512.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/signature.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/signature.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sp_arm32.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sp_arm32.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sp_arm64.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sp_arm64.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sp_armthumb.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sp_armthumb.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sp_c32.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sp_c32.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sp_c64.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sp_c64.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sp_cortexm.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sp_cortexm.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sp_int.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sp_int.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/sp_x86_64.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/sp_x86_64.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/srp.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/srp.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/tfm.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/tfm.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/wc_encrypt.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/wc_encrypt.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/wc_pkcs11.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/wc_pkcs11.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/wc_port.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/wc_port.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/wolfevent.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/wolfevent.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfcrypt-src/wolfmath.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/wolfcrypt/src/wolfmath.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfssl-src/crl.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/src/crl.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfssl-src/internal.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/src/internal.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfssl-src/keys.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/src/keys.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfssl-src/ocsp.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/src/ocsp.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfssl-src/ssl.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/src/ssl.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfssl-src/tls.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/src/tls.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfssl-src/tls13.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/src/tls13.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfssl-src/wolfio.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/src/wolfio.c</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
</projectDescription>
|
||||
32
IDE/KDS/config/user_settings.h
Normal file
32
IDE/KDS/config/user_settings.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* #define NO_MAIN_DRIVER */
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_WRITEV
|
||||
#define WOLFSSL_USER_IO
|
||||
#define NO_DEV_RANDOM
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
#define NO_WOLF_C99
|
||||
#define NO_MULTIBYTE_PRINT
|
||||
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
|
||||
#define WOLFSSL_GENSEED_FORTEST /* Warning: define your own seed gen */
|
||||
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define SINGLE_THREADED /* or define RTOS option */
|
||||
/* #define WOLFSSL_CMSIS_RTOS */
|
||||
#define NO_FILESYSTEM
|
||||
|
||||
#define NO_DH
|
||||
#define HAVE_AESGCM
|
||||
#define WOLFSSL_SHA512
|
||||
#define HAVE_ECC
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVE25519_SMALL
|
||||
#define HAVE_ED25519
|
||||
7
IDE/KDS/include.am
Normal file
7
IDE/KDS/include.am
Normal file
@@ -0,0 +1,7 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/KDS/.cproject
|
||||
EXTRA_DIST+= IDE/KDS/.project
|
||||
EXTRA_DIST+= IDE/KDS/config/user_settings.h
|
||||
@@ -2,15 +2,16 @@
|
||||
|
||||
To use, install the NXP LPCXpresso IDE and import the projects in a new workspace.
|
||||
|
||||
1. Run LPCXpresso and choose a workspace location.
|
||||
2. Right click in the project exporer window and choose Inport.
|
||||
3. Under General choose "Existing Projects into Workspace".
|
||||
4. Under "Select root directory" click browse and select the wolfSSL root.
|
||||
5. Check the "Search for nested projects" box.
|
||||
5. Make sure "wolfssl" and "wolfssl_example" are checked under "Projects:".
|
||||
6. Click finish.
|
||||
7. Download the board and chip LPCOpen package for your platform.
|
||||
8. Import the projects. For example "lpc_board_nxp_lpcxpresso_1837" and "lpc_chip_18xx" are the ones for the LPC18S37.
|
||||
1. Change names of `LPCExpresso.project` and `LPCExpresso.cproject` files to `.project` and `.cproject`
|
||||
2. Run LPCXpresso and choose a workspace location.
|
||||
3. Right click in the project explorer window and choose Import.
|
||||
4. Under General choose "Existing Projects into Workspace".
|
||||
5. Under "Select root directory" click browse and select the wolfSSL root.
|
||||
6. Check the "Search for nested projects" box.
|
||||
7. Make sure "wolfssl" and "wolfssl_example" are checked under "Projects:".
|
||||
8. Click finish.
|
||||
9. Download the board and chip LPCOpen package for your platform.
|
||||
10. Import the projects. For example "lpc_board_nxp_lpcxpresso_1837" and "lpc_chip_18xx" are the ones for the LPC18S37.
|
||||
|
||||
To setup this example to work with different baords/chips you will need to locate the LPCOpen sources for LPCXpresso on the NXP website and import the board and chip projects. Then you will need to update the "wolfssl_example" project properties to reference these projects (C/C++ General -> Paths and Symbols -> References). See the [LPCOpen v2.xx LPCXpresso quickstart guide for all platforms](https://www.lpcware.com/content/project/lpcopen-platform-nxp-lpc-microcontrollers/lpcopen-v200-quickstart-guides/lpcopen-1) for additional information.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* lpc_18xx_port.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* lpc_18xx_startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
91
IDE/M68K/Makefile
Normal file
91
IDE/M68K/Makefile
Normal file
@@ -0,0 +1,91 @@
|
||||
NAME = wolfssl
|
||||
DEVICE = -m5206e -gdwarf-2 -DMOD5441X -DMCF5441X
|
||||
OLEVEL = -O2
|
||||
NBHEADERS = -I"$(NBROOT)/include" -I"$(NBROOT)/MOD5441X/include"
|
||||
|
||||
# location to put wolfssl.a created
|
||||
OUTPUT = $(NBROOT)/lib
|
||||
|
||||
|
||||
CSRCS := ../../wolfcrypt/src/rsa.c \
|
||||
../../wolfcrypt/src/asn.c \
|
||||
../../wolfcrypt/src/aes.c \
|
||||
../../wolfcrypt/src/sha.c \
|
||||
../../wolfcrypt/src/sha256.c \
|
||||
../../wolfcrypt/src/sha512.c \
|
||||
../../wolfcrypt/src/integer.c \
|
||||
../../wolfcrypt/src/tfm.c \
|
||||
../../wolfcrypt/src/random.c \
|
||||
../../wolfcrypt/src/logging.c \
|
||||
../../wolfcrypt/src/memory.c \
|
||||
../../wolfcrypt/src/coding.c \
|
||||
../../wolfcrypt/src/hash.c \
|
||||
../../wolfcrypt/src/hmac.c \
|
||||
../../wolfcrypt/src/md5.c \
|
||||
../../wolfcrypt/src/wc_port.c \
|
||||
../../wolfcrypt/src/wc_encrypt.c \
|
||||
../../wolfcrypt/src/wolfmath.c \
|
||||
../../wolfcrypt/src/sp_c32.c \
|
||||
../../wolfcrypt/src/sp_int.c \
|
||||
../../wolfcrypt/src/signature.c \
|
||||
../../wolfcrypt/src/error.c \
|
||||
../../src/wolfio.c \
|
||||
../../src/ssl.c
|
||||
|
||||
INC = -I"./" -I"../../"
|
||||
EXTRACFLAGS = -DWOLFSSL_USER_SETTINGS $(INC) $(DEVICE) $(OLEVEL)
|
||||
EXTRACFLAGS += -DNBMINGW -Wall -fno-rtti -fno-exceptions -falign-functions=4
|
||||
EXTRACFLAGS += $(NBHEADERS)
|
||||
EXTRACXXFLAGS = $(EXTRACFLAGS)
|
||||
|
||||
#LDEXTRA =
|
||||
LIBOBJS = ./rsa.o \
|
||||
./asn.o \
|
||||
./aes.o \
|
||||
./sha.o \
|
||||
./sha256.o \
|
||||
./sha512.o \
|
||||
./integer.o \
|
||||
./tfm.o \
|
||||
./random.o \
|
||||
./logging.o \
|
||||
./memory.o \
|
||||
./coding.o \
|
||||
./hash.o \
|
||||
./hmac.o \
|
||||
./md5.o \
|
||||
./wc_port.o \
|
||||
./wc_encrypt.o \
|
||||
./wolfmath.o \
|
||||
./sp_c32.o \
|
||||
./sp_int.o \
|
||||
./signature.o \
|
||||
./wolfio.o \
|
||||
./ssl.o \
|
||||
./error.o
|
||||
|
||||
#include $(NBROOT)/make/libmain.mak
|
||||
|
||||
all: compile link rmo
|
||||
|
||||
# compiling using g++ compiler to avoid mangled name complications if linking
|
||||
# against other NetBurner libraries
|
||||
compile:
|
||||
m68k-elf-g++ $(EXTRACFLAGS) -c $(CSRCS)
|
||||
|
||||
link:
|
||||
m68k-elf-ar -cr $(OUTPUT)/$(NAME).a $(LIBOBJS)
|
||||
|
||||
rmo:
|
||||
rm -f *.o
|
||||
|
||||
clean: rmo
|
||||
rm -f $(OUTPUT)/$(NAME).a
|
||||
|
||||
help:
|
||||
@echo "all : exectue compile, link, rmo"
|
||||
@echo "compile : create .o files"
|
||||
@echo "link : create .a library from .o files"
|
||||
@echo "rmo : remove all .o files"
|
||||
@echo "clean : remove all .o files and .a library"
|
||||
|
||||
46
IDE/M68K/README.md
Normal file
46
IDE/M68K/README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
This is makefile's for creating a wolfCrypt library using the m68k-elf-gcc
|
||||
toolchain and example benchmark/testwolfcrypt application linking to it. The
|
||||
examples and default builds where made to support a MCF5441X board.
|
||||
|
||||
Macros to define for use:
|
||||
WOLFSSL_MCF5441X /* arch settings i.e. sizeof long and endianess */
|
||||
WOLFSSL_NETBURNER /* for use of NetBurner headers and RNG seed */
|
||||
|
||||
|
||||
To build the wolfssl.a library (settings for wolfCrypt only by default) run
|
||||
"make" from the directory wolfssl-root/IDE/M68K/.
|
||||
By default this outputs the wolfssl.a library to be at $(NBROOT)/lib. This can
|
||||
be adjusted by adjusting the variable OUTPUT in Makefile.
|
||||
|
||||
If the macro WOLFSSL_MCF5441X is defined then
|
||||
wolfssl-root/wolfssl/wolfcrypt/settings.h sets the sizeof long and long long
|
||||
along with big endian macro.
|
||||
|
||||
The configuration for the build is located in wolfssl-root/IDE/M68K/user_settings.h
|
||||
Along with the defualt build there is 2 others BUILD_B (smaller resource use),
|
||||
and BUILD_C (faster runtime with more resource use).
|
||||
|
||||
RSA speeds of the builds
|
||||
|
||||
default:
|
||||
RSA 2048 public 3.333 ops/sec
|
||||
RSA 2048 private 0.190 ops/sec
|
||||
|
||||
BUILD_B
|
||||
RSA 2048 public 3.333 ops/sec
|
||||
RSA 2048 private 0.053 ops/sec
|
||||
|
||||
BUILD_C
|
||||
RSA 2048 public 7.619 ops/sec
|
||||
RSA 2048 private 0.276 ops/sec
|
||||
|
||||
###Building testwolfcryt/benchmark
|
||||
To build either testwolfcrypt or benchmark first build wolfssl.a, place it in
|
||||
$(NBROOT)/lib and then cd into the respective directory. Running "make" will
|
||||
then create a .s19 application that can be ran on the board.
|
||||
|
||||
When running either testwolfcrypt or the benchmark app the first thing they do
|
||||
is loop on calling RandomValid until getting a successful return. This is done
|
||||
in order to wait for a source of entropy. It could take several moments until
|
||||
completed.
|
||||
|
||||
11
IDE/M68K/benchmark/Makefile
Normal file
11
IDE/M68K/benchmark/Makefile
Normal file
@@ -0,0 +1,11 @@
|
||||
NAME = benchmark
|
||||
PLATFORM = MOD5441X
|
||||
CSRCS := ../../../wolfcrypt/benchmark/benchmark.c
|
||||
CXXSRCS := ./main.cpp
|
||||
XTRALIB += $(NBROOT)/lib/wolfssl.a
|
||||
|
||||
INC = -I"./../../../" -I"./../"
|
||||
EXTRACFLAGS = $(INC) -DWOLFSSL_USER_SETTINGS -DUSE_CERT_BUFFERS_2048 -DBENCH_EMBEDDED -DNO_MAIN_DRIVER
|
||||
EXTRACXXFLAGS = $(EXTRACFLAGS)
|
||||
|
||||
include $(NBROOT)/make/main.mak
|
||||
79
IDE/M68K/benchmark/main.cpp
Normal file
79
IDE/M68K/benchmark/main.cpp
Normal file
@@ -0,0 +1,79 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#include <predef.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <startnet.h>
|
||||
#include <autoupdate.h>
|
||||
#include <dhcpclient.h>
|
||||
#include <random.h>
|
||||
#include <init.h>
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
||||
extern "C" {
|
||||
void UserMain(void * pd);
|
||||
}
|
||||
|
||||
const char * AppName="benchmark";
|
||||
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
int return_code;
|
||||
} func_args;
|
||||
|
||||
void UserMain(void * pd) {
|
||||
InitializeStack();
|
||||
GetDHCPAddressIfNecessary();
|
||||
OSChangePrio(MAIN_PRIO);
|
||||
EnableAutoUpdate();
|
||||
|
||||
|
||||
init();
|
||||
iprintf("wolfcrypt benchmark Application started\n");
|
||||
iprintf("waiting for sufficient entropy before starting...\n\r");
|
||||
iprintf("looks like NetBurner is using uart/tcp to seed GetRandomX so ..."
|
||||
" input enough uart characters.\n\r");
|
||||
{
|
||||
BYTE b;
|
||||
do {
|
||||
b = GetRandomByte();
|
||||
iprintf(".");
|
||||
} while (!RandomValid());
|
||||
iprintf("\n\r");
|
||||
(void)b;
|
||||
}
|
||||
|
||||
/* run wolfCrypt benchmarks */
|
||||
{
|
||||
func_args args;
|
||||
args.argc = 0;
|
||||
args.argv = NULL;
|
||||
|
||||
benchmark_test(&args);
|
||||
}
|
||||
while (1) {
|
||||
OSTimeDly(TICKS_PER_SECOND);
|
||||
}
|
||||
}
|
||||
11
IDE/M68K/include.am
Normal file
11
IDE/M68K/include.am
Normal file
@@ -0,0 +1,11 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/M68K/README.md
|
||||
EXTRA_DIST+= IDE/M68K/Makefile
|
||||
EXTRA_DIST+= IDE/M68K/user_settings.h
|
||||
EXTRA_DIST+= IDE/M68K/testwolfcrypt/main.cpp
|
||||
EXTRA_DIST+= IDE/M68K/testwolfcrypt/Makefile
|
||||
EXTRA_DIST+= IDE/M68K/benchmark/main.cpp
|
||||
EXTRA_DIST+= IDE/M68K/benchmark/Makefile
|
||||
12
IDE/M68K/testwolfcrypt/Makefile
Normal file
12
IDE/M68K/testwolfcrypt/Makefile
Normal file
@@ -0,0 +1,12 @@
|
||||
NAME = testwolfcyprt
|
||||
PLATFORM = MOD5441X
|
||||
CSRCS := ../../../wolfcrypt/test/test.c
|
||||
CXXSRCS := ./main.cpp
|
||||
XTRALIB += $(NBROOT)/lib/wolfssl.a
|
||||
|
||||
INC = -I"./../../../" -I"./../"
|
||||
EXTRACFLAGS = $(INC) -DWOLFSSL_USER_SETTINGS -DUSE_CERT_BUFFERS_1024 -DNO_MAIN_DRIVER
|
||||
EXTRACXXFLAGS = $(EXTRACFLAGS)
|
||||
|
||||
include $(NBROOT)/make/main.mak
|
||||
|
||||
82
IDE/M68K/testwolfcrypt/main.cpp
Normal file
82
IDE/M68K/testwolfcrypt/main.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#include <predef.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <startnet.h>
|
||||
#include <autoupdate.h>
|
||||
#include <dhcpclient.h>
|
||||
#include <random.h>
|
||||
#include <init.h>
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include <wolfcrypt/test/test.h>
|
||||
|
||||
extern "C" {
|
||||
void UserMain(void * pd);
|
||||
}
|
||||
|
||||
const char * AppName="testwolfcrypt";
|
||||
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
int return_code;
|
||||
} func_args;
|
||||
|
||||
|
||||
void UserMain(void * pd) {
|
||||
InitializeStack();
|
||||
GetDHCPAddressIfNecessary();
|
||||
OSChangePrio(MAIN_PRIO);
|
||||
EnableAutoUpdate();
|
||||
|
||||
|
||||
init();
|
||||
iprintf("wolfcrypt test Application started\n\r");
|
||||
|
||||
iprintf("waiting for sufficient entropy before starting...\n\r");
|
||||
iprintf("looks like NetBurner is using uart/tcp to seed GetRandomX so ..."
|
||||
" input enough uart characters.\n\r");
|
||||
{
|
||||
BYTE b;
|
||||
do {
|
||||
b = GetRandomByte();
|
||||
iprintf(".");
|
||||
} while (!RandomValid());
|
||||
iprintf("\n\r");
|
||||
(void)b;
|
||||
}
|
||||
|
||||
/* run wolfCrypt tests */
|
||||
{
|
||||
func_args args;
|
||||
args.argc = 0;
|
||||
args.argv = NULL;
|
||||
|
||||
wolfcrypt_test(&args);
|
||||
}
|
||||
while (1) {
|
||||
OSTimeDly(TICKS_PER_SECOND);
|
||||
}
|
||||
}
|
||||
87
IDE/M68K/user_settings.h
Normal file
87
IDE/M68K/user_settings.h
Normal file
@@ -0,0 +1,87 @@
|
||||
|
||||
#ifndef USER_SETTINGS_H
|
||||
#define USER_SETTINGS_H
|
||||
|
||||
|
||||
/* Default build with fast math */
|
||||
|
||||
|
||||
/* Slower build but uses less memory */
|
||||
//#define BUILD_B
|
||||
|
||||
/* Performant build but uses more memory */
|
||||
//#define BUILD_C
|
||||
|
||||
|
||||
|
||||
/* Used for getting random value for seeding RNG */
|
||||
#define WOLFSSL_NETBURNER
|
||||
#define WOLFSSL_MCF5441X
|
||||
|
||||
/* environment settings */
|
||||
#define NO_WRITEV
|
||||
#define WOLFSSL_NO_SOCK
|
||||
#define NO_WOLFSSL_DIR
|
||||
|
||||
/* with USE_FAST_MATH smallstack is used to fit in the default stack size */
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
|
||||
|
||||
/* enable features off by default */
|
||||
#define WOLFSSL_SHA512
|
||||
// OPENSSL_EXTRA uses a lot more memory but is needed in order to enable
|
||||
// compatibility layer API
|
||||
#define OPENSSL_EXTRA
|
||||
|
||||
// additional RSA padding schemes
|
||||
#define WC_RSA_NO_PADDING
|
||||
#define WC_RSA_PSS
|
||||
|
||||
// uncomment and add wolfSSL_Debugging_ON() to app for debug messages
|
||||
//#define DEBUG_WOLFSSL
|
||||
|
||||
|
||||
/* disable features that are on by default */
|
||||
#define WOLFCRYPT_ONLY
|
||||
#define NO_FILESYSTEM
|
||||
#define SINGLE_THREADED
|
||||
|
||||
#define NO_ASN_TIME
|
||||
#define NO_PWDBASED
|
||||
#define NO_HC128
|
||||
#define NO_RABBIT
|
||||
#define NO_RC4
|
||||
#define NO_DSA
|
||||
#define NO_DES3
|
||||
#define NO_DH
|
||||
#define NO_MD4
|
||||
|
||||
|
||||
#define USE_FAST_MATH
|
||||
#ifdef BUILD_B
|
||||
#define RSA_LOW_MEM
|
||||
#define USE_SLOW_SHA
|
||||
#define USE_SLOW_SHA256
|
||||
#define NO_ERROR_STRINGS
|
||||
#define USE_FAST_MATH
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_C
|
||||
#define WOLFSSL_HAVE_SP_RSA
|
||||
#define SP_WORD_SIZE 32
|
||||
#endif
|
||||
|
||||
/* hardening against side channel attacks */
|
||||
#if defined(USE_FAST_MATH)
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#ifdef HAVE_ECC
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#endif
|
||||
#endif /* USE_FAST_MATH */
|
||||
#ifndef NO_RSA
|
||||
/* this slows down RSA operations but increases side channel resistance */
|
||||
#define WC_RSA_BLINDING
|
||||
#endif
|
||||
|
||||
#endif /* USER_SETTINGS_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* certs_test.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-BEREFOOT.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-RTX-TCP-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*shell.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-dummy.c.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_RL.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_RL.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2xx.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -59,8 +59,8 @@
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 15
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
@@ -92,6 +92,8 @@
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
@@ -151,13 +153,13 @@
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
@@ -237,7 +239,7 @@
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
@@ -376,7 +378,7 @@
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
@@ -394,7 +396,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
@@ -412,7 +414,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
@@ -462,7 +464,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
@@ -476,10 +478,11 @@
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_ARM.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
wolfCrypt Benchmark
|
||||
|
||||
Use Configuration Wizard tab
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
user_settings.h for wolfCrypt options
|
||||
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<nTsel>1</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -112,9 +112,14 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
<pMon>BIN\ULP2CM3.DLL</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO19 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
@@ -138,7 +143,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -155,8 +160,13 @@
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.7.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd</Filename>
|
||||
<Type>ARM.CMSIS.5.3.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
@@ -197,6 +207,10 @@
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -176,7 +176,7 @@
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<mOS>0</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
@@ -446,6 +446,12 @@
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" exclusive="1">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
@@ -460,8 +466,14 @@
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX5" Cvendor="ARM" Cversion="5.3.0" condition="RTOS RTX5">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
@@ -496,14 +508,14 @@
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
@@ -532,128 +544,128 @@
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.4.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.6.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.6" condition="STM32F756_777_779_750 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.6" condition="STM32F756_777_779_750 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="NOR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="NOR" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7x5_7x6_7x7_7x9_750 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Benchmark" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Benchmark" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
@@ -661,57 +673,71 @@
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<instance index="0" removed="1">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS2\RTX\Config\RTX_Config.c" version="5.1.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.c</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\RTOS2\RTX\Config\RTX_Config.h" version="5.3.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.h</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
@@ -766,8 +792,8 @@
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,8 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#define WOLFSSL_MDK5_COMPLv5
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
@@ -58,8 +59,8 @@
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 15
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
@@ -91,6 +92,8 @@
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
@@ -150,13 +153,13 @@
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
@@ -236,7 +239,7 @@
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
@@ -375,7 +378,7 @@
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
@@ -393,7 +396,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
@@ -411,7 +414,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
@@ -461,7 +464,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
@@ -475,10 +478,11 @@
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -30,8 +30,16 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
#include "cmsis_os.h"
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
#include "cmsis_os2.h"
|
||||
#endif
|
||||
|
||||
/* Dummy definition for test RTC */
|
||||
#define RTC_YEAR 2018
|
||||
#define RTC_YEAR 2019
|
||||
#define RTC_MONTH 1
|
||||
#define RTC_DAY 1
|
||||
#define RTC_MONTH 1
|
||||
#define RTC_DAY 1
|
||||
|
||||
@@ -56,32 +64,30 @@ static void CPU_CACHE_Enable (void) {
|
||||
|
||||
}
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
#if defined(WOLFSSL_CMSIS_RTOS) || defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
uint32_t HAL_GetTick(void)
|
||||
{
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return os_time;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return osKernelGetTickCount();
|
||||
#endif
|
||||
}
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
if (reset)
|
||||
return 0;
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return (double)os_time / 1000.0;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return (double)osKernelGetTickCount() / 1000.0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#else
|
||||
@@ -103,6 +109,17 @@ double current_time(int reset)
|
||||
}
|
||||
#endif
|
||||
|
||||
static time_t epochTime;
|
||||
time_t time(time_t *t)
|
||||
{
|
||||
return epochTime;
|
||||
}
|
||||
|
||||
void setTime(time_t t)
|
||||
{
|
||||
epochTime = t;
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
wolfCrypt test
|
||||
|
||||
Use Configuration Wizard tab
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
user_settings.h for wolfCrypt options
|
||||
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<nTsel>1</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -112,7 +112,7 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile>.\STM32_SWO.ini</tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
<pMon>BIN\ULP2CM3.DLL</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
@@ -128,7 +128,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP0940001 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIE1 -TIP1 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
<Name>-UP1135060 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP9 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -143,7 +143,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -160,13 +160,18 @@
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\ARM_Compiler\1.3.3\EventRecorder.scvd</Filename>
|
||||
<Type>Keil.ARM_Compiler.1.3.3</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\ARM_Compiler\1.3.2\EventRecorder.scvd</Filename>
|
||||
<Type>Keil.ARM_Compiler.1.3.2</Type>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.7.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd</Filename>
|
||||
<Type>ARM.CMSIS.5.3.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
@@ -207,6 +212,10 @@
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -176,7 +176,7 @@
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<mOS>0</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
@@ -456,6 +456,12 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" exclusive="1">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.1.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F4xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="2.0.0"/>
|
||||
<targetInfos>
|
||||
@@ -470,8 +476,14 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX5" Cvendor="ARM" Cversion="5.3.0" condition="RTOS RTX5">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -512,14 +524,14 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O and Event Recorder">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O and Event Recorder">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -644,20 +656,20 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Test" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Test" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -665,9 +677,23 @@
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<instance index="0" removed="1">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS2\RTX\Config\RTX_Config.c" version="5.1.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.c</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\RTOS2\RTX\Config\RTX_Config.h" version="5.3.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.h</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -680,50 +706,50 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O and Event Recorder"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O and Event Recorder"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -742,8 +768,8 @@
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -59,8 +59,8 @@
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 15
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
@@ -92,6 +92,8 @@
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
@@ -151,13 +153,13 @@
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
@@ -237,7 +239,7 @@
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
@@ -376,7 +378,7 @@
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
@@ -394,7 +396,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
@@ -412,7 +414,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
@@ -462,7 +464,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
@@ -476,10 +478,11 @@
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -28,8 +28,13 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
#include "cmsis_os.h"
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
#include "cmsis_os2.h"
|
||||
#endif
|
||||
/* Dummy definition for test RTC */
|
||||
#define RTC_YEAR 2018
|
||||
#define RTC_YEAR 2019
|
||||
#define RTC_MONTH 1
|
||||
#define RTC_DAY 1
|
||||
|
||||
@@ -55,14 +60,19 @@ static void CPU_CACHE_Enable (void) {
|
||||
}
|
||||
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
#endif
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return os_time;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return osKernelGetTickCount();
|
||||
#endif
|
||||
}
|
||||
|
||||
static time_t epochTime;
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
@@ -70,36 +80,6 @@ time_t time(time_t *t){
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
wolfSSL example: echo Client
|
||||
|
||||
Use Configuration Wizard tab
|
||||
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
RTE_Device.h: Check ETH (Ethernet Interface)
|
||||
main.c for remote IP address, port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -763,7 +763,7 @@
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.74.0">
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
@@ -771,50 +771,50 @@
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -822,7 +822,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config.c" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -830,7 +830,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_BSD.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -838,7 +838,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_DNS_Client.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -846,7 +846,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_ETH.h" version="5.1.0">
|
||||
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -854,7 +854,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_TCP.h" version="5.0.1">
|
||||
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -862,7 +862,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_UDP.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -881,8 +881,8 @@
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
|
||||
517
IDE/MDK5-ARM/Projects/EchoClient/RTE/wolfSSL/user_settings.h
Normal file
517
IDE/MDK5-ARM/Projects/EchoClient/RTE/wolfSSL/user_settings.h
Normal file
@@ -0,0 +1,517 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WRITEV
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
|
||||
#define WOLFSSL_GMTIME
|
||||
#define NO_MULTIBYTE_PRINT
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
|
||||
// <h>Common options
|
||||
// <o> MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx
|
||||
#define MDK_CONF_MPU 3
|
||||
#if MDK_CONF_MPU == 0
|
||||
|
||||
#elif MDK_CONF_MPU == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F2xx
|
||||
#elif MDK_CONF_MPU == 2
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F4xx
|
||||
#elif MDK_CONF_MPU == 3
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F7xx
|
||||
#endif
|
||||
|
||||
// <o> Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
#define FREERTOS
|
||||
#elif MDK_CONF_THREAD == 3
|
||||
#define WOLFSSL_SAFERTOS
|
||||
#elif MDK_CONF_THREAD == 4
|
||||
#define USE_WINDOWS_API
|
||||
#elif MDK_CONF_THREAD == 5
|
||||
#define WOLFSSL_PTHREADS
|
||||
#elif MDK_CONF_THREAD == 6
|
||||
#define THREADX
|
||||
#define NETX
|
||||
#elif MDK_CONF_THREAD == 7
|
||||
#define MICRIUM
|
||||
#elif MDK_CONF_THREAD == 8
|
||||
#define EBSNET
|
||||
#elif MDK_CONF_THREAD == 9
|
||||
#define FREESCALE_MQX
|
||||
#define FREESCALE_KSDK_MQX
|
||||
#elif MDK_CONF_THREAD == 10
|
||||
#define WOLFSSL_TIRTOS
|
||||
#elif MDK_CONF_THREAD == 11
|
||||
#define WOLFSSL_uITRON4
|
||||
#elif MDK_CONF_THREAD == 12
|
||||
#define WOLFSSL_uTKERNEL2
|
||||
#elif MDK_CONF_THREAD == 13
|
||||
#define WOLFSSL_FROSTED
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
|
||||
// <e>File System
|
||||
#define MDK_CONF_FILESYSTEM 1
|
||||
#if MDK_CONF_FILESYSTEM == 0
|
||||
#define NO_FILESYSTEM
|
||||
#else
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <o> Network<0=>None <1=>RLnet <2=>User I/O
|
||||
#define MDK_CONF_NETWORK 1
|
||||
#if MDK_CONF_NETWORK == 0
|
||||
#elif MDK_CONF_NETWORK == 1
|
||||
#define WOLFSSL_KEIL_TCP_NET
|
||||
#elif MDK_CONF_NETWORK == 2
|
||||
#define WOLFSSL_USER_IO
|
||||
#endif
|
||||
|
||||
// <h>Debug options
|
||||
|
||||
// <e>Debug Message
|
||||
#define MDK_CONF_DebugMessage 0
|
||||
#if MDK_CONF_DebugMessage == 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Check malloc
|
||||
#define MDK_CONF_CheckMalloc 1
|
||||
#if MDK_CONF_CheckMalloc == 1
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
//</h>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hash DRBG
|
||||
#define MDK_CONF_HASHDRBG 1
|
||||
#if MDK_CONF_HASHDRBG == 1
|
||||
#define HAVE_HASHDRBG
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CURVE25519 SMALL
|
||||
#define MDK_CONF_CURVE25519_SMALL 0
|
||||
#if MDK_CONF_CURVE25519_SMALL == 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519 SMALL
|
||||
#define MDK_CONF_ED25519_SMALL 0
|
||||
#if MDK_CONF_ED25519_SMALL == 1
|
||||
#define ED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <e>Random Seed, for TEST Only
|
||||
#define MDK_CONF_RNDSEED 1
|
||||
#if MDK_CONF_RNDSEED == 1
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
// <h>Cert/Key Generation
|
||||
// <e>CertGen
|
||||
#define MDK_CONF_CERT_GEN 0
|
||||
#if MDK_CONF_CERT_GEN == 1
|
||||
#define WOLFSSL_CERT_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// <e>KeyGen
|
||||
#define MDK_CONF_KEY_GEN 0
|
||||
#if MDK_CONF_KEY_GEN == 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// </h>
|
||||
|
||||
|
||||
/**** wolfSSL Configuration ****/
|
||||
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>Include Old TLS
|
||||
#define MDK_CONF_NO_OLDTLS 0
|
||||
#if MDK_CONF_NO_OLDTLS == 0
|
||||
#define NO_OLD_TLS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CRL
|
||||
#define MDK_CONF_CRL 0
|
||||
#if MDK_CONF_CRL == 1
|
||||
#define HAVE_CRL
|
||||
#define WOLFSSL_DER_LOAD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OCSP
|
||||
#define MDK_CONF_OCSP 0
|
||||
#if MDK_CONF_OCSP == 1
|
||||
#define HAVE_OCSP
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OpenSSL Extra
|
||||
#define MDK_CONF_OPENSSL_EXTRA 0
|
||||
#if MDK_CONF_OPENSSL_EXTRA == 1
|
||||
#define OPENSSL_EXTRA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
wolfSSL example: echo Server
|
||||
|
||||
Use Configuration Wizard tab
|
||||
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
RTE_Device.h: Check ETH (Ethernet Interface)
|
||||
main.c for server port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user