forked from wolfSSL/wolfssl
Compare commits
919 Commits
v4.0.0-sta
...
v4.2.0c
Author | SHA1 | Date | |
---|---|---|---|
cb7b4af986 | |||
4135850a32 | |||
5b9e005802 | |||
7386bd4df1 | |||
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 | |||
fed2bc5f72 | |||
384b240ea2 | |||
6a3eccd344 | |||
5e0a77704b | |||
801ef2c62c | |||
28d8730948 | |||
7328fce60d |
13
.gitignore
vendored
13
.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
|
||||
@ -321,3 +323,14 @@ 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
|
||||
|
197
ChangeLog.md
197
ChangeLog.md
@ -1,3 +1,200 @@
|
||||
# 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:
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
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
|
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
|
@ -150,6 +150,7 @@ int construct_argv()
|
||||
/* entry point */
|
||||
void app_main(void)
|
||||
{
|
||||
(void) TAG;
|
||||
#ifndef NO_CRYPT_BENCHMARK
|
||||
|
||||
/* when using atecc608a on esp32-wroom-32se */
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
@ -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");
|
||||
|
@ -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
|
||||
|
||||
|
@ -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,4 +1,4 @@
|
||||
/* wifi_connect.h
|
||||
/* wifi_connect.h
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
@ -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
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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/
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
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 */
|
||||
|
38
IDE/RISCV/SIFIVE-HIFIVE1/Makefile
Normal file
38
IDE/RISCV/SIFIVE-HIFIVE1/Makefile
Normal file
@ -0,0 +1,38 @@
|
||||
PROGRAM ?= wolfcrypt
|
||||
|
||||
# This line must be added in your freedom-e-sdk/scripts/standalone.mk
|
||||
# RISCV_CFLAGS += -I$(WOLFSSL_SRC_DIR) -I$(WOLFSSL_SRC_DIR)/IDE/ECLIPSE/SIFIVE -DWOLFSSL_USER_SETTINGS
|
||||
# WOLFSSL_SRC_DIR variable must be set in the environment when GNU make is started.
|
||||
# export WOLFSSL_SRC_DIR=~/freedom-e-sdk/software/wolfssl
|
||||
|
||||
WOLFSSL_CFLAGS += -I$(WOLFSSL_SRC_DIR) \
|
||||
-I$(WOLFSSL_SRC_DIR)/IDE/ECLIPSE/SIFIVE \
|
||||
-DWOLFSSL_USER_SETTINGS
|
||||
|
||||
SRC_FILES = $(wildcard $(WOLFSSL_SRC_DIR)/src/*.c)
|
||||
SRC_FILES += $(wildcard $(WOLFSSL_SRC_DIR)/wolfcrypt/src/*.c)
|
||||
SRC_FILES := $(filter-out %bio.c %misc.c %evp.c, $(SRC_FILES))
|
||||
|
||||
SRC =$(WOLFSSL_SRC_DIR)/IDE/ECLIPSE/SIFIVE/main.c \
|
||||
$(SRC_FILES) \
|
||||
$(WOLFSSL_SRC_DIR)/wolfcrypt/test/test.c \
|
||||
$(WOLFSSL_SRC_DIR)/wolfcrypt/benchmark/benchmark.c
|
||||
|
||||
OPT_CFLAGS = -specs=nano.specs
|
||||
#OPT_CFLAGS += -O3 -DTIME -DNOENUM -Wno-implicit -mexplicit-relocs -save-temps
|
||||
#OPT_CFLAGS += -fno-inline -fno-builtin-printf -fno-common -falign-functions=4
|
||||
|
||||
# override the __stack_size and __heap_size default values of 0x400
|
||||
# SiFive HiFive1 has 16KB of data SRAM
|
||||
# The __stack_size and __heap_size symbols are defined in the linker metal.default.ld
|
||||
# script in the freedom-e-sdk.
|
||||
override CFLAGS += $(OPT_CFLAGS) $(WOLFSSL_CFLAGS) \
|
||||
-Xlinker --defsym=__stack_size=0x1200 \
|
||||
-Xlinker --defsym=__heap_size=0x800
|
||||
|
||||
|
||||
$(PROGRAM): $(SRC)
|
||||
$(CC) $(CFLAGS) $(SRC) $(LDFLAGS) $(LDLIBS) -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(PROGRAM) $(PROGRAM).hex
|
199
IDE/RISCV/SIFIVE-HIFIVE1/README.md
Normal file
199
IDE/RISCV/SIFIVE-HIFIVE1/README.md
Normal file
@ -0,0 +1,199 @@
|
||||
# SiFive RISC-V HiFive1 Port
|
||||
|
||||
## Overview
|
||||
You can enable the wolfSSL support for RISC-V using the `#define WOLFSSL_SIFIVE_RISC_V`.
|
||||
|
||||
## Prerequisites
|
||||
1. Follow the instructions on the SiFive GitHub [here](https://github.com/sifive/freedom-e-sdk) and SiFive website [here](https://www.sifive.com/) to download the freedom-e-sdk and software tools.
|
||||
3. Run a simple hello application on your 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 example project to integrate the wolfSSL source code.
|
||||
wolfSSL supports a compile-time user configurable options in the `IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h` file.
|
||||
|
||||
The `IDE/RISCV/SIFIVE-HIFIVE1/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
|
||||
```
|
||||
|
||||
## Setup
|
||||
### Setting up the SDK with wolfSSL
|
||||
1. Download the wolfSSL source code or a zip file from GitHub and place it under your SDK `$HOME` directory. You can also copy or simlink to the source.
|
||||
```
|
||||
For example,
|
||||
$ cd $HOME
|
||||
$ git clone --depth=1 https://github.com/wolfSSL/wolfssl.git
|
||||
|
||||
```
|
||||
2. Copy the wolfcrypt example project into your `freedom-e-sdk/software` directory.
|
||||
|
||||
```
|
||||
$ cp -rf ~/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1 ~/freedom-e-sdk/software/wolfcrypt
|
||||
```
|
||||
|
||||
3. Edit your `~/freedom-e-sdk/scripts/standalone.mk` and add the following line after the last RISCV_CFLAGS entry:
|
||||
|
||||
```
|
||||
RISCV_CFLAGS += -I$(WOLFSSL_SRC_DIR) -I$(WOLFSSL_SRC_DIR)/IDE/RISCV/SIFIVE-HIFIVE1 -DWOLFSSL_USER_SETTINGS
|
||||
```
|
||||
|
||||
4. WOLFSSL_SRC_DIR variable must be set in the environment when GNU make is started.
|
||||
|
||||
```
|
||||
$ export WOLFSSL_SRC_DIR=~/wolfssl
|
||||
```
|
||||
|
||||
5. Setup your riscv64 compiler
|
||||
|
||||
```
|
||||
$ export RISCV_OPENOCD_PATH=/opt/riscv-openocd
|
||||
```
|
||||
6. (Optional) Setup OpenOCD if your target supports it:
|
||||
|
||||
```
|
||||
$ export RISCV_OPENOCD_PATH=/opt/riscv-openocd
|
||||
```
|
||||
## Building and Running
|
||||
|
||||
You can build from source or create a static library.
|
||||
|
||||
1. Using command-line:
|
||||
|
||||
```
|
||||
$ cd freedom-e-sdk
|
||||
$ make PROGRAM=wolfcrypt TARGET=sifive-hifive1-revb CONFIGURATION=debug clean software upload
|
||||
```
|
||||
This example cleans, builds and uploads the software on the sifive-hifive1-revb target but you can also combine and build for any of the supported targets.
|
||||
|
||||
Review the test results on the target console.
|
||||
|
||||
2. Building a static library for RISC-V using a cross-compiler:
|
||||
|
||||
```
|
||||
$ cd $WOLFSSL_SRC_DIR
|
||||
|
||||
$./configure --host=riscv64-unknown-elf \
|
||||
CC=riscv64-unknown-elf-gcc \
|
||||
AR=riscv64-unknown-elf-ar \
|
||||
AS=riscv64-unknown-elf-as \
|
||||
RANLIB=$RISCV_PATH/bin/riscv64-unknown-elf-gcc-ranlib \
|
||||
LD=riscv64-unknown-elf-ld \
|
||||
CXX=riscv64-unknown-elf-g++ \
|
||||
--disable-examples --enable-static --disable-shared \
|
||||
CFLAGS="-march=rv32imac -mabi=ilp32 -mcmodel=medlow -ffunction-sections -fdata-sections -I~/freedom-e-sdk/bsp/sifive-hifive1/install/include -O0 -g -DNO_FILESYSTEM -DWOLFSSL_NO_SOCK -DNO_WRITEV -DWOLFCRYPT_ONLY -DWOLFSSL_SIFIVE_RISC_V"
|
||||
|
||||
$make
|
||||
$sudo make install
|
||||
```
|
||||
You can now build and link your software to the wolfSSL libwolfssl.a static library.
|
||||
|
||||
### `wolfcrypt_test()`
|
||||
|
||||
wolfcrypt_test() prints a message on the target console similar to the following output:
|
||||
|
||||
```
|
||||
SiFive HiFive1 Demo
|
||||
Setting clock to 320MHz
|
||||
Actual Clock 320MHz
|
||||
|
||||
error test passed!
|
||||
MEMORY test passed!
|
||||
base64 test passed!
|
||||
asn test passed!
|
||||
SHA test passed!
|
||||
SHA-256 test passed!
|
||||
SHA-512 test passed!
|
||||
Hash test passed!
|
||||
HMAC-SHA test passed!
|
||||
HMAC-SHA256 test passed!
|
||||
HMAC-SHA512 test passed!
|
||||
GMAC test passed!
|
||||
Chacha test passed!
|
||||
POLY1305 test passed!
|
||||
ChaCha20-Poly1305 AEAD test passed!
|
||||
AES test passed!
|
||||
AES192 test passed!
|
||||
AES256 test passed!
|
||||
AES-GCM test passed!
|
||||
RANDOM test passed!
|
||||
ECC test passed!
|
||||
ECC buffer test passed!
|
||||
CURVE25519 test passed!
|
||||
ED25519 test passed!
|
||||
logging test passed!
|
||||
mutex test passed!
|
||||
Test complete
|
||||
```
|
||||
### `benchmark_test()`
|
||||
|
||||
benchmark_test() prints a message on the target console similar to the following output.
|
||||
|
||||
TARGET=sifive-hifive1-revb:
|
||||
|
||||
```
|
||||
SiFive HiFive1 Demo
|
||||
Setting clock to 320MHz
|
||||
Actual Clock 320MHz
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
wolfSSL version 4.0.0
|
||||
------------------------------------------------------------------------------
|
||||
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
|
||||
RNG 250 KB took 1.098 seconds, 227.714 KB/s
|
||||
AES-128-CBC-enc 50 KB took 1.132 seconds, 44.175 KB/s
|
||||
AES-128-CBC-dec 50 KB took 1.142 seconds, 43.778 KB/s
|
||||
AES-192-CBC-enc 50 KB took 1.250 seconds, 40.007 KB/s
|
||||
AES-192-CBC-dec 50 KB took 1.260 seconds, 39.677 KB/s
|
||||
AES-256-CBC-enc 50 KB took 1.368 seconds, 36.552 KB/s
|
||||
AES-256-CBC-dec 50 KB took 1.378 seconds, 36.279 KB/s
|
||||
AES-128-GCM-enc 25 KB took 1.225 seconds, 20.412 KB/s
|
||||
AES-128-GCM-dec 25 KB took 1.225 seconds, 20.402 KB/s
|
||||
AES-192-GCM-enc 25 KB took 1.290 seconds, 19.373 KB/s
|
||||
AES-192-GCM-dec 25 KB took 1.291 seconds, 19.366 KB/s
|
||||
AES-256-GCM-enc 25 KB took 1.352 seconds, 18.487 KB/s
|
||||
AES-256-GCM-dec 25 KB took 1.353 seconds, 18.478 KB/s
|
||||
CHACHA 1 MB took 1.006 seconds, 1.020 MB/s
|
||||
CHA-POLY 700 KB took 1.032 seconds, 678.045 KB/s
|
||||
POLY1305 2 MB took 1.007 seconds, 2.255 MB/s
|
||||
SHA 2 MB took 1.002 seconds, 1.511 MB/s
|
||||
SHA-256 525 KB took 1.011 seconds, 519.279 KB/s
|
||||
SHA-512 275 KB took 1.017 seconds, 270.477 KB/s
|
||||
HMAC-SHA 1 MB took 1.013 seconds, 1.399 MB/s
|
||||
HMAC-SHA256 525 KB took 1.019 seconds, 515.020 KB/s
|
||||
HMAC-SHA512 275 KB took 1.032 seconds, 266.351 KB/s
|
||||
ECC 256 key gen 2 ops took 1.104 sec, avg 551.834 ms, 1.812 ops/sec
|
||||
ECDHE 256 agree 2 ops took 1.101 sec, avg 550.400 ms, 1.817 ops/sec
|
||||
ECDSA 256 sign 2 ops took 1.173 sec, avg 586.502 ms, 1.705 ops/sec
|
||||
ECDSA 256 verify 2 ops took 2.153 sec, avg 1076.294 ms, 0.929 ops/sec
|
||||
CURVE 25519 key gen 2 ops took 1.629 sec, avg 814.423 ms, 1.228 ops/sec
|
||||
CURVE 25519 agree 2 ops took 1.626 sec, avg 813.156 ms, 1.230 ops/sec
|
||||
ED 25519 key gen 1 ops took 1.436 sec, avg 1436.096 ms, 0.696 ops/sec
|
||||
ED 25519 sign 2 ops took 2.913 sec, avg 1456.421 ms, 0.687 ops/sec
|
||||
ED 25519 verify 2 ops took 5.012 sec, avg 2506.012 ms, 0.399 ops/sec
|
||||
Benchmark complete
|
||||
```
|
||||
|
||||
## Tested Configurations
|
||||
- P-RNG (NIST DRBG) with SHA-256
|
||||
- SHA 1/256/512
|
||||
- AES 128/192/256 CBC/GCM
|
||||
- ECC 256 sign/verify/shared secret with fast math or Single Precision (SP) library
|
||||
- ED25519/Curve25519
|
||||
- HMAC
|
||||
- ChaCha20/Poly1305
|
||||
|
||||
## Known Caveats
|
||||
- If you find the wolfcrypt test stuck on early_trap_vector error, it is like related to memory issues
|
||||
- Using the `__stack_size` default value of 0x400 will not be enough for the ECC test to pass.
|
||||
The `IDE/RISCV/SIFIVE-HIFIVE1/Makefile` overwrites the value with 0x1000 (4 KBytes)
|
||||
- Enabling RSA will cause the ECC test to fail due to memory shortage.
|
||||
|
||||
## References
|
||||
|
||||
The test results were collected from a SiFive reference platform target with the following hardware, software and tool chains:
|
||||
- HiFive1 Rev A/Rev B: HiFive1 Development Board with the Freedom Everywhere SoC, E300
|
||||
- freedom-e-sdk
|
||||
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
|
||||
|
||||
For more information or questions, please email [support@wolfssl.com](mailto:support@wolfssl.com)
|
9
IDE/RISCV/SIFIVE-HIFIVE1/include.am
Normal file
9
IDE/RISCV/SIFIVE-HIFIVE1/include.am
Normal file
@ -0,0 +1,9 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST += \
|
||||
IDE/RISCV/SIFIVE-HIFIVE1/README.md \
|
||||
IDE/RISCV/SIFIVE-HIFIVE1/main.c \
|
||||
IDE/RISCV/SIFIVE-HIFIVE1/Makefile\
|
||||
IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h
|
184
IDE/RISCV/SIFIVE-HIFIVE1/main.c
Normal file
184
IDE/RISCV/SIFIVE-HIFIVE1/main.c
Normal file
@ -0,0 +1,184 @@
|
||||
/* 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 */
|
||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifndef __METAL_MACHINE_HEADER
|
||||
#define __METAL_MACHINE_HEADER "../../../../bsp/sifive-hifive1-revb/metal.h"
|
||||
#endif
|
||||
#include <metal/machine.h>
|
||||
|
||||
#ifndef NO_CRYPT_BENCHMARK
|
||||
|
||||
/*-specs=nano.specs doesn’t include support for floating point in printf()*/
|
||||
asm (".global _printf_float");
|
||||
|
||||
#ifndef RTC_FREQ
|
||||
#define RTC_FREQ 32768UL
|
||||
#endif
|
||||
|
||||
/* CLINT Registers (Core Local Interruptor) for time */
|
||||
#define CLINT_BASE 0x02000000UL
|
||||
#define CLINT_REG_MTIME (*((volatile uint32_t *)(CLINT_BASE + 0xBFF8)))
|
||||
|
||||
#define WOLFSSL_SIFIVE_RISC_V_DEBUG 0
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
double now = CLINT_REG_MTIME;
|
||||
(void)reset;
|
||||
return now/RTC_FREQ;
|
||||
}
|
||||
#endif /* !NO_CRYPT_BENCHMARK */
|
||||
|
||||
#if WOLFSSL_SIFIVE_RISC_V_DEBUG
|
||||
void check(int depth) {
|
||||
char ch;
|
||||
char *ptr = malloc(1);
|
||||
|
||||
printf("stack at %p, heap at %p\n", &ch, ptr);
|
||||
if (depth <= 0)
|
||||
return;
|
||||
|
||||
check(depth-1);
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void mtime_sleep(uint32_t ticks) {
|
||||
uint32_t start = CLINT_REG_MTIME;
|
||||
|
||||
while((CLINT_REG_MTIME - start) < ticks) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void delay(uint32_t sec) {
|
||||
uint32_t ticks = sec * RTC_FREQ;
|
||||
mtime_sleep(ticks);
|
||||
}
|
||||
#endif /* WOLFSSL_SIFIVE_RISC_V_DEBUG */
|
||||
|
||||
/* RNG CODE */
|
||||
/* TODO: Implement real RNG */
|
||||
static unsigned int gCounter;
|
||||
unsigned int hw_rand(void)
|
||||
{
|
||||
/* #warning Must implement your own random source */
|
||||
|
||||
return ++gCounter;
|
||||
}
|
||||
|
||||
unsigned int my_rng_seed_gen(void)
|
||||
{
|
||||
return hw_rand();
|
||||
}
|
||||
|
||||
int my_rng_gen_block(unsigned char* output, unsigned int sz)
|
||||
{
|
||||
uint32_t i = 0;
|
||||
uint32_t randReturnSize = sizeof(CUSTOM_RAND_TYPE);
|
||||
|
||||
while (i < sz)
|
||||
{
|
||||
/* If not aligned or there is odd/remainder */
|
||||
if((i + randReturnSize) > sz ||
|
||||
((uint32_t)&output[i] % randReturnSize) != 0 ) {
|
||||
/* Single byte at a time */
|
||||
output[i++] = (unsigned char)my_rng_seed_gen();
|
||||
}
|
||||
else {
|
||||
/* Use native 8, 16, 32 or 64 copy instruction */
|
||||
*((CUSTOM_RAND_TYPE*)&output[i]) = my_rng_seed_gen();
|
||||
i += randReturnSize;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#if !defined(NO_CLOCK_SPEEDUP) && !defined(USE_CLOCK_HZ)
|
||||
/* 320MHz */
|
||||
#define USE_CLOCK_HZ 320000000UL
|
||||
#endif
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int ret;
|
||||
long clk_Hz = 16000000; /* default */
|
||||
|
||||
#if WOLFSSL_SIFIVE_RISC_V_DEBUG
|
||||
printf("check stack and heap addresses\n");
|
||||
check(8);
|
||||
printf("sleep for 10 seconds to verify timer, measure using a stopwatch\n");
|
||||
delay(10);
|
||||
printf("awake after sleeping for 10 seconds\n");
|
||||
#endif
|
||||
|
||||
#ifdef USE_CLOCK_HZ
|
||||
/* Speed up clock */
|
||||
printf("SiFive HiFive1 Demo\n");
|
||||
printf("Setting clock to %dMHz\n", USE_CLOCK_HZ/1000000);
|
||||
clk_Hz = metal_clock_set_rate_hz(
|
||||
&__METAL_DT_SIFIVE_FE310_G000_PLL_HANDLE->clock, USE_CLOCK_HZ
|
||||
);
|
||||
#endif
|
||||
printf("Actual Clock %dMHz\n", clk_Hz/1000000);
|
||||
|
||||
/* Reconfigure the SPI Bus for dual mode */
|
||||
#define QSPI0_CTRL 0x10014000UL
|
||||
#define FESPI_REG_FFMT (*((volatile uint32_t *)(QSPI0_CTRL + 0x64)))
|
||||
FESPI_REG_FFMT = 0xbb1447;
|
||||
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
wolfSSL_Debugging_ON();
|
||||
#endif
|
||||
|
||||
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;
|
||||
}
|
||||
return 0;
|
||||
}
|
592
IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h
Normal file
592
IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h
Normal file
@ -0,0 +1,592 @@
|
||||
/* 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 SiFive HiFive1 */
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS_H
|
||||
#define WOLFSSL_USER_SETTINGS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* SiFive HiFive */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_SIFIVE_RISC_V
|
||||
#define WOLFSSL_SIFIVE_RISC_V
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* 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
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Asymmetric */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RSA */
|
||||
/* Not enabled due to memory constraints on HiFive1 */
|
||||
#undef NO_RSA
|
||||
#if 0
|
||||
#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, FP_MAX_BITS must be adjusted accordingly */
|
||||
// #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 256) + SIZE_OF_MP_DIGIT(32) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS (256 + 32)
|
||||
#else
|
||||
#undef ALT_ECC_SIZE
|
||||
/* Disable alternate ECC size, since it uses HEAP allocations.
|
||||
Heap is limited resource on HiFive1 */
|
||||
//#define ALT_ECC_SIZE
|
||||
#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
|
||||
|
||||
|
||||
/* Wolf Single Precision Math */
|
||||
/* Optional ECC SECP256R1 acceleration using optimized C code */
|
||||
#undef WOLFSSL_SP
|
||||
#if 1
|
||||
#define WOLFSSL_SP
|
||||
#define WOLFSSL_SP_SMALL /* use smaller version of code (requires heap) */
|
||||
#define SP_WORD_SIZE 32 /* force 32-bit type */
|
||||
#define WOLFSSL_SP_MATH /* only SP math - eliminates fast math code */
|
||||
//#define WOLFSSL_SP_DIV_32 /* do not use 64-bit divides */
|
||||
|
||||
#ifdef HAVE_ECC
|
||||
#define WOLFSSL_HAVE_SP_ECC
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
#define WOLFSSL_HAVE_SP_RSA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Ed25519 / Curve25519 */
|
||||
#undef HAVE_CURVE25519
|
||||
#undef HAVE_ED25519
|
||||
#if 1
|
||||
#define HAVE_CURVE25519
|
||||
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
|
||||
|
||||
/* Optionally use small math (less flash usage, but much slower) */
|
||||
#if 1
|
||||
/* Curve and Ed 25519 small */
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Symmetric Ciphers */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* AES */
|
||||
#undef NO_AES
|
||||
#if 1
|
||||
#undef HAVE_AES_CBC
|
||||
#define HAVE_AES_CBC
|
||||
|
||||
#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
|
||||
|
||||
/* DES3 */
|
||||
#undef NO_DES3
|
||||
#if 0
|
||||
#else
|
||||
#define NO_DES3
|
||||
#endif
|
||||
|
||||
/* ChaCha20 / Poly1305 */
|
||||
#undef HAVE_CHACHA
|
||||
#undef HAVE_POLY1305
|
||||
#if 1
|
||||
#define HAVE_CHACHA
|
||||
#define HAVE_POLY1305
|
||||
|
||||
/* Needed for Poly1305 */
|
||||
#undef HAVE_ONE_TIME_AUTH
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Symmetric 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 1
|
||||
#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
|
||||
|
||||
/* Blake2B */
|
||||
#undef HAVE_BLAKE2
|
||||
#if 0
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
|
||||
/* Blake2S */
|
||||
#undef HAVE_BLAKE2S
|
||||
#if 0
|
||||
#define HAVE_BLAKE2S
|
||||
#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
|
||||
|
||||
/* Static memory */
|
||||
#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 */
|
||||
#if defined(WOLFSSL_SIFIVE_RISC_V)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmarks, uses "custom_time()" function */
|
||||
#define WOLFSSL_GMTIME
|
||||
#define USER_TICKS
|
||||
#else
|
||||
// extern unsigned long my_time(unsigned long* timer);
|
||||
// #define XTIME my_time
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RNG */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#if 0
|
||||
/* Bypass P-RNG and use only HW RNG */
|
||||
#define CUSTOM_RAND_TYPE unsigned int
|
||||
extern int my_rng_gen_block(unsigned char* output, unsigned int sz);
|
||||
#undef CUSTOM_RAND_GENERATE_BLOCK
|
||||
#define CUSTOM_RAND_GENERATE_BLOCK my_rng_gen_block
|
||||
#else
|
||||
#define HAVE_HASHDRBG
|
||||
|
||||
/* Seed Source */
|
||||
/* Size of returned HW RNG value */
|
||||
#define CUSTOM_RAND_TYPE unsigned int
|
||||
extern unsigned int my_rng_seed_gen(void);
|
||||
#undef CUSTOM_RAND_GENERATE
|
||||
#define CUSTOM_RAND_GENERATE my_rng_seed_gen
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Enable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_TLS13
|
||||
#if 0
|
||||
#define WOLFSSL_TLS13
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_KEY_GEN
|
||||
#if 0
|
||||
#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 */
|
151
IDE/RISCV/SIFIVE-UNLEASHED/README.md
Normal file
151
IDE/RISCV/SIFIVE-UNLEASHED/README.md
Normal file
@ -0,0 +1,151 @@
|
||||
# SiFive HiFive Unleashed
|
||||
|
||||
Instructions for cross-compiling and running wolfSSL on the HiFive Unleashed board.
|
||||
|
||||
## Board SiFive HiFive Unleashed Board
|
||||
|
||||
SiFive Freedom U540 SoC at 1.5GHz
|
||||
|
||||
Getting started guide:
|
||||
https://sifive.cdn.prismic.io/sifive%2Ffa3a584a-a02f-4fda-b758-a2def05f49f9_hifive-unleashed-getting-started-guide-v1p1.pdf
|
||||
|
||||
Make sure your ethernet is attached and power up board. You can connecct the micro-usb to get a UART console that will display the DHCP IP address. Default login password is "sifive".
|
||||
|
||||
## Building Freedom-U-SDK
|
||||
|
||||
```sh
|
||||
git clone https://github.com/sifive/freedom-u-sdk.git
|
||||
cd freedom-u-sdk
|
||||
git submodule update --recursive --init
|
||||
make
|
||||
```
|
||||
|
||||
See `freedom-u-sdk/README.md` file for instructions on updating the SD card U-Boot and Linux image.
|
||||
|
||||
### Installing U-Boot
|
||||
|
||||
Insert SD card from Unleashed into host and determine the assigned `/dev/sdX` for the media.
|
||||
|
||||
From `freedom-u-sdk` directory:
|
||||
|
||||
```sh
|
||||
sudo make DISK=/dev/sdX format-boot-loader
|
||||
|
||||
# Copy U-Boot .fit image to first FAT partition (32MB)
|
||||
sudo mkdir /media/hifiveu_boot
|
||||
sudo mount -t vfat /dev/sdX1 /media/hifiveu_boot
|
||||
cp ./work/image-<GITID>.fit /media/hifiveu_boot/hifiveu.fit
|
||||
sudo umount /media/hifiveu_boot
|
||||
|
||||
# Copy Linux FS
|
||||
sudo dd if=./work/hifive-unleashed-<ID>.gpt of=/dev/sdX2 bs=1M
|
||||
```
|
||||
|
||||
Note: Make sure S1 Switch 5 (MSEL2) is OFF, rest ON (MSEL=1011) to boot from SD
|
||||
|
||||
### Installing Debian
|
||||
|
||||
Insert SD card from Unleashed into host and determine the assigned character sequence (X) for the media.
|
||||
|
||||
From `freedom-u-sdk` directory:
|
||||
|
||||
```sh
|
||||
sudo make DISK=/dev/sdX format-demo-image
|
||||
```
|
||||
|
||||
## Building wolfSSL
|
||||
|
||||
Make sure you are using wolfSSL sources based on this PR https://github.com/wolfSSL/wolfssl/pull/2456
|
||||
The PR 2456 includes a patch to `wolfssl/wolfcrypt/types.h` to detect 64-bit types based on the `__riscv_xlen` macro.
|
||||
|
||||
### Cross Compiling
|
||||
|
||||
This example assumes the `wolfssl` root directory is along side the `freedom-u-sdk` directory. If not then adjust paths.
|
||||
|
||||
```
|
||||
~\
|
||||
wolfssl
|
||||
freedom-u-sdk
|
||||
```
|
||||
|
||||
```sh
|
||||
./configure --host=riscv64 \
|
||||
CC="`pwd`/../freedom-u-sdk/work/buildroot_initramfs/host/bin/riscv64-sifive-linux-gnu-gcc" \
|
||||
--with-sysroot="`pwd`/../freedom-u-sdk/work/buildroot_initramfs_sysroot/" \
|
||||
--disable-shared \
|
||||
--enable-sp \
|
||||
CFLAGS="-mabi=lp64d -march=rv64imafdc"
|
||||
make
|
||||
```
|
||||
|
||||
Copy files to device (replace IP address):
|
||||
|
||||
```sh
|
||||
scp ./wolfcrypt/test/testwolfcrypt root@192.168.0.144:~
|
||||
scp ./wolfcrypt/benchmark/benchmark root@192.168.0.144:~
|
||||
scp ./examples/client/client root@192.168.0.144:~
|
||||
scp ./examples/server/server root@192.168.0.144:~
|
||||
|
||||
# manually `mkdir certs` on target
|
||||
scp ./certs/* root@192.168.0.144:~/certs
|
||||
```
|
||||
|
||||
### Native Compiler
|
||||
|
||||
```sh
|
||||
./configure --enable-sp
|
||||
make
|
||||
```
|
||||
|
||||
## Benchmark Results
|
||||
|
||||
The following is running the wolfCrypt benchmark at 1.5GHz on a single thread (default CPU speed is 1.0GHz).
|
||||
|
||||
```sh
|
||||
echo 1500000000 > /sys/devices/platform/soc/10000000.prci/rate
|
||||
|
||||
./benchmark
|
||||
------------------------------------------------------------------------------
|
||||
wolfSSL version 4.1.0
|
||||
------------------------------------------------------------------------------
|
||||
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
|
||||
RNG 10 MB took 1.165 seconds, 8.585 MB/s
|
||||
AES-128-CBC-enc 15 MB took 1.346 seconds, 11.141 MB/s
|
||||
AES-128-CBC-dec 15 MB took 1.380 seconds, 10.867 MB/s
|
||||
AES-192-CBC-enc 10 MB took 1.002 seconds, 9.983 MB/s
|
||||
AES-192-CBC-dec 10 MB took 1.020 seconds, 9.805 MB/s
|
||||
AES-256-CBC-enc 10 MB took 1.100 seconds, 9.091 MB/s
|
||||
AES-256-CBC-dec 10 MB took 1.117 seconds, 8.952 MB/s
|
||||
AES-128-GCM-enc 10 MB took 1.809 seconds, 5.528 MB/s
|
||||
AES-128-GCM-dec 10 MB took 1.810 seconds, 5.524 MB/s
|
||||
AES-192-GCM-enc 10 MB took 1.911 seconds, 5.233 MB/s
|
||||
AES-192-GCM-dec 10 MB took 1.911 seconds, 5.232 MB/s
|
||||
AES-256-GCM-enc 5 MB took 1.013 seconds, 4.935 MB/s
|
||||
AES-256-GCM-dec 5 MB took 1.014 seconds, 4.933 MB/s
|
||||
CHACHA 25 MB took 1.181 seconds, 21.168 MB/s
|
||||
CHA-POLY 20 MB took 1.188 seconds, 16.833 MB/s
|
||||
MD5 80 MB took 1.025 seconds, 78.066 MB/s
|
||||
POLY1305 85 MB took 1.032 seconds, 82.357 MB/s
|
||||
SHA 40 MB took 1.033 seconds, 38.728 MB/s
|
||||
SHA-256 20 MB took 1.023 seconds, 19.557 MB/s
|
||||
SHA-384 25 MB took 1.059 seconds, 23.597 MB/s
|
||||
SHA-512 25 MB took 1.059 seconds, 23.597 MB/s
|
||||
HMAC-MD5 80 MB took 1.026 seconds, 77.950 MB/s
|
||||
HMAC-SHA 40 MB took 1.034 seconds, 38.700 MB/s
|
||||
HMAC-SHA256 20 MB took 1.023 seconds, 19.559 MB/s
|
||||
HMAC-SHA384 25 MB took 1.059 seconds, 23.598 MB/s
|
||||
HMAC-SHA512 25 MB took 1.059 seconds, 23.599 MB/s
|
||||
RSA 2048 public 2000 ops took 1.032 sec, avg 0.516 ms, 1938.304 ops/sec
|
||||
RSA 2048 private 100 ops took 1.713 sec, avg 17.132 ms, 58.370 ops/sec
|
||||
DH 2048 key gen 133 ops took 1.003 sec, avg 7.544 ms, 132.552 ops/sec
|
||||
DH 2048 agree 200 ops took 1.531 sec, avg 7.653 ms, 130.676 ops/sec
|
||||
ECC 256 key gen 1330 ops took 1.001 sec, avg 0.752 ms, 1329.260 ops/sec
|
||||
ECDHE 256 agree 400 ops took 1.243 sec, avg 3.107 ms, 321.830 ops/sec
|
||||
ECDSA 256 sign 1000 ops took 1.043 sec, avg 1.043 ms, 958.539 ops/sec
|
||||
ECDSA 256 verify 300 ops took 1.104 sec, avg 3.680 ms, 271.766 ops/sec
|
||||
Benchmark complete
|
||||
```
|
||||
|
||||
## Support
|
||||
|
||||
For questions please email us at support@wolfssl.com.
|
5
IDE/RISCV/SIFIVE-UNLEASHED/include.am
Normal file
5
IDE/RISCV/SIFIVE-UNLEASHED/include.am
Normal file
@ -0,0 +1,5 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/RISCV/SIFIVE-UNLEASHED/README.md
|
6
IDE/RISCV/include.am
Normal file
6
IDE/RISCV/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
|
||||
|
||||
include IDE/RISCV/SIFIVE-HIFIVE1/include.am
|
||||
include IDE/RISCV/SIFIVE-UNLEASHED/include.am
|
@ -89,7 +89,6 @@
|
||||
|
||||
/* Note: You will also need to update the UART clock gate in hw_uart_init (SIM_SCGC1_UART5_MASK) */
|
||||
/* Note: TWR-K60 is UART3, PTC17 */
|
||||
/* Note: FRDM-K64 is UART4, PTE24 */
|
||||
/* Note: FRDM-K64 is UART4, PTE24 or UART0 PTB17 for OpenOCD (SIM_SCGC4_UART0_MASK)*/
|
||||
/* Note: TWR-K64 is UART5, PTE8 */
|
||||
/* Note: FRDM-K82F is LPUART0 A2, LPUART4 PTC15 */
|
||||
|
@ -65,7 +65,7 @@ void main(void)
|
||||
test_num++;
|
||||
} while(args.return_code == 0);
|
||||
|
||||
/*Print this again for redundancy*/
|
||||
/* Print this again for redundancy */
|
||||
#ifdef WOLFSSL_FRDM_K64_JENKINS
|
||||
printf("\n&&&&&&&&&&&&&& done &&&&&&&&&&&&&\n");
|
||||
delay_us(1000000);
|
||||
|
@ -208,6 +208,7 @@ extern "C" {
|
||||
/* MD5 */
|
||||
#undef NO_MD5
|
||||
#if 1
|
||||
#else
|
||||
#define NO_MD5
|
||||
#endif
|
||||
|
||||
|
@ -50,7 +50,6 @@
|
||||
|
||||
#define USER_TIME
|
||||
#define XTIME time
|
||||
#define HAVE_TIME_T_TYPE
|
||||
#define USE_WOLF_SUSECONDS_T
|
||||
#define USE_WOLF_TIMEVAL_T
|
||||
|
||||
@ -75,22 +74,6 @@
|
||||
#define HAVE_OCSP
|
||||
#define HAVE_CERTIFICATE_STATUS_REQUEST
|
||||
|
||||
//#define WOLFSSL_KEY_GEN
|
||||
#define SHOW_GEN
|
||||
|
||||
#define WOLFSSL_KEEP_STORE_CERTS
|
||||
#define WOLFSSL_CIPHER_INTERNALNAME
|
||||
|
||||
#define WOLFSSL_GETENV_RANDFILE "ABCDEFG"
|
||||
#define WOLFSSL_GETENV_HOME "home"
|
||||
|
||||
#define CloseSocket(s) {}
|
||||
#define StartTCP()
|
||||
|
||||
#define NO_FILESYSTEM
|
||||
#define XFILE FILE*
|
||||
#define XBADFILE NULL
|
||||
//#define WOLFSSL_USER_KEYFILES /* Substitute key and cert files in test.h with user definitions */
|
||||
|
||||
int strncasecmp(const char *s1, const char *s2, unsigned int sz);
|
||||
|
||||
|
@ -1,6 +1,10 @@
|
||||
wolfSSL/AlphaProject Boad demo setup Guide
|
||||
|
||||
This demo is tested with Renesas CS+ v6.01<EFBFBD>AAP-RX71M-0A, wolfSSL 3.15.3.
|
||||
This demo is tested with the following condition.
|
||||
|
||||
Renesas : CS+ v6.01, v8.01
|
||||
Board : AP-RX71M-0A
|
||||
wolfSSL : 3.15.3, 4.0.0
|
||||
|
||||
Setup process:
|
||||
1. Download software
|
||||
@ -12,25 +16,48 @@ Setup process:
|
||||
- open t4_demo.mtpj and build. This create demo program library.
|
||||
|
||||
3. Set up AlphaProject
|
||||
|
||||
!!** When you use version 2.0 of a sample program, **!!
|
||||
!!** please replace _ether_ to _usbfunc_ **!!
|
||||
|
||||
- The demo uses ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_cs\
|
||||
ap_rx71m_0a_ether_sample_cs.mtpj
|
||||
ap_rx71m_0a_ether_sample_cs.mtpj
|
||||
- Open and edit ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_cs\src\AP_RX71M_0A.c
|
||||
insert wolfSSL_init() in echo_srv_init().
|
||||
|
||||
===
|
||||
sci_init();
|
||||
can_init();
|
||||
echo_srv_init();
|
||||
wolfSSL_init(); <- insert this line
|
||||
sci_init();
|
||||
can_init();
|
||||
echo_srv_init();
|
||||
wolfSSL_init(); <- insert this line
|
||||
===
|
||||
!!** when you use version 2.0 **!!
|
||||
===
|
||||
CanInit();
|
||||
SciInit();
|
||||
EthernetAppInit();
|
||||
UsbfInit();
|
||||
wolfSSL_init(); <- insert this line
|
||||
===
|
||||
!!******************************!!
|
||||
|
||||
- Modify stack and heap size in ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_cs\src\r_config
|
||||
Line 120#pragma stacksize su=0x2000
|
||||
Line 139 #define BSP_CFG_HEAP_BYTES (0xa000)
|
||||
|
||||
<EFBFBD>@- Modify IP address ib Sample\ap_rx71m_0a_ether_sample_cs\src\r_t4_rx\src\config_tcpudp.c
|
||||
<EFBFBD>@as needed
|
||||
<EFBFBD>@
|
||||
!!** when you use version 2.0 **!!
|
||||
- Modify stack and heap size in ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_usbfunc_sample_cs\src\smc_gen\r_bsp_config.h
|
||||
Line 154#pragma stacksize su=0x2000
|
||||
Line 175#define BSP_CFG_HEAP_BYTES (0xa000)
|
||||
!!******************************!!
|
||||
|
||||
- Modify IP address Sample\ap_rx71m_0a_ether_sample_cs\src\r_t4_rx\src\config_tcpudp.c
|
||||
as needed
|
||||
!!** when you use version 2.0 **!!
|
||||
- Modify IP address Sample\ap_rx71m_0a_usbfunc_sample_cs\src\tcp_sample\src\config_tcpudp.c
|
||||
as needed
|
||||
!!******************************!!
|
||||
|
||||
===
|
||||
#define MY_IP_ADDR0 192,168,1,200 /* Local IP address */
|
||||
#define GATEWAY_ADDR0 192,168,1,254 /* Gateway address (invalid if all 0s) */
|
||||
@ -66,16 +93,16 @@ c: simple client. Specify IP address and port as following.
|
||||
You can use wolfssl/examples/server and client on your PC for TLS peer test.
|
||||
|
||||
|
||||
PC side<EFBFBD>F
|
||||
PC side
|
||||
$ ./examples/server/server -b -d
|
||||
|
||||
Board side<EFBFBD>F
|
||||
Board side
|
||||
> c <IP Addr> 11111
|
||||
|
||||
Board side<EFBFBD>F
|
||||
Board side
|
||||
> s
|
||||
|
||||
PC side<EFBFBD>F
|
||||
PC side
|
||||
$ ./examples/client/client -h <IP Addr> -p 50000
|
||||
|
||||
---
|
||||
|
@ -1,6 +1,10 @@
|
||||
wolfSSL/AlphaProject<63>{<7B>[<5B>h<EFBFBD>f<EFBFBD><66><EFBFBD>@<40>Z<EFBFBD>b<EFBFBD>g<EFBFBD>A<EFBFBD>b<EFBFBD>v<EFBFBD>K<EFBFBD>C<EFBFBD>h
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD>̃f<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Renesas CS+ v6.01<EFBFBD>AAP-RX71M-0A, wolfSSL 3.15.3 <EFBFBD>Ńe<EFBFBD>X<EFBFBD>g<EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
|
||||
<EFBFBD><EFBFBD><EFBFBD>̃f<EFBFBD><EFBFBD><EFBFBD>͈ȉ<EFBFBD><EFBFBD>̊<EFBFBD><EFBFBD>Ńe<EFBFBD>X<EFBFBD>g<EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
|
||||
|
||||
Renesas : CS+ v6.01, v8.01
|
||||
Board : AP-RX71M-0A
|
||||
wolfSSL : 3.15.3, 4.0.0
|
||||
|
||||
<EFBFBD>Z<EFBFBD>b<EFBFBD>g<EFBFBD>A<EFBFBD>b<EFBFBD>v<EFBFBD>菇<EFBFBD>F
|
||||
|
||||
@ -9,12 +13,16 @@ wolfSSL/AlphaProject
|
||||
<EFBFBD>@- <20><><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>H<EFBFBD><48><EFBFBD>_<EFBFBD>[<5B><><EFBFBD><EFBFBD>wolfssl<73>ꎮ<EFBFBD><EA8EAE><EFBFBD>𓀂<EFBFBD><F0938082>܂<EFBFBD><DC82>B
|
||||
|
||||
<EFBFBD>Q<EFBFBD>DwolfSSL<EFBFBD>̃Z<EFBFBD>b<EFBFBD>g<EFBFBD>A<EFBFBD>b<EFBFBD>v
|
||||
<EFBFBD>@- CS+<2B>ɂ<EFBFBD>wolfssl\IDE\Renesas\cs+\Project<63><74><EFBFBD><EFBFBD>wolfssl\lib.mtpj<70><6A><EFBFBD>J<EFBFBD><4A>
|
||||
<EFBFBD>@- CS+<2B>ɂ<EFBFBD>wolfssl\IDE\Renesas\cs+\Project<63><74><EFBFBD><EFBFBD>wolfssl\wolfssl_lib.mtpj<70><6A><EFBFBD>J<EFBFBD><4A>
|
||||
<EFBFBD>@<40>@wolfSSL<53><4C><EFBFBD>C<EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>[<5B>̃r<CC83><72><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@- <20><><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>H<EFBFBD><48><EFBFBD>_<EFBFBD>̉<EFBFBD><CC89><EFBFBD>t4_demo.mtpj<70><6A><EFBFBD>J<EFBFBD><4A><EFBFBD>A<EFBFBD>f<EFBFBD><66><EFBFBD>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>̃r<CC83><72><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@<40><><EFBFBD>̃v<CC83><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>[<5B>`<60><><EFBFBD>Ńr<C583><72><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@
|
||||
|
||||
<EFBFBD>R<EFBFBD>DAlphaProject<EFBFBD><EFBFBD><EFBFBD>̃Z<EFBFBD>b<EFBFBD>g<EFBFBD>A<EFBFBD>b<EFBFBD>v
|
||||
|
||||
!!** <20>T<EFBFBD><54><EFBFBD>v<EFBFBD><76><EFBFBD>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD> v2.0 <20><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>ꍇ<EFBFBD>́A_ether_ => _usbfunc_ **!!
|
||||
!!** <20>ƒu<C692><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **!!
|
||||
|
||||
<EFBFBD>@<40>f<EFBFBD><66><EFBFBD><EFBFBD>ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_cs<63>t<EFBFBD>H<EFBFBD><48><EFBFBD>_<EFBFBD><5F><EFBFBD><EFBFBD>
|
||||
<EFBFBD>@ap_rx71m_0a_ether_sample_cs.mtpj<70>v<EFBFBD><76><EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g<EFBFBD>𗘗p<F0979897><70><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@
|
||||
@ -23,31 +31,53 @@ wolfSSL/AlphaProject
|
||||
<EFBFBD>@<40>X<EFBFBD>V<EFBFBD>s<EFBFBD>ڂ<EFBFBD>echo_srv_init()<29>̉<EFBFBD><CC89><EFBFBD>wolfSSL_init()<29><><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
===
|
||||
sci_init();
|
||||
can_init();
|
||||
echo_srv_init();
|
||||
wolfSSL_init(); <- <20><><EFBFBD>̍s<CC8D><73><EFBFBD>}<7D><>
|
||||
sci_init();
|
||||
can_init();
|
||||
echo_srv_init();
|
||||
wolfSSL_init(); <- <20><><EFBFBD>̍s<CC8D><73><EFBFBD>}<7D><>
|
||||
===
|
||||
|
||||
<EFBFBD>@- ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_cs\src\r_config<69>t<EFBFBD>@<40>C<EFBFBD><43>
|
||||
!!** <20>T<EFBFBD><54><EFBFBD>v<EFBFBD><76><EFBFBD>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD> v2.0 <20><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>ꍇ<EFBFBD>́A<CD81><41><EFBFBD>L **!!
|
||||
===
|
||||
CanInit();
|
||||
SciInit();
|
||||
EthernetAppInit();
|
||||
UsbfInit();
|
||||
wolfSSL_init(); <- <20><><EFBFBD>̍s<CC8D><73><EFBFBD>}<7D><>
|
||||
===
|
||||
!!**********************************************************************!!
|
||||
|
||||
<EFBFBD>@- ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_ether_sample_cs\src\smc_gen\r_bsp_config.h
|
||||
<EFBFBD>@<40><><EFBFBD>J<EFBFBD><4A><EFBFBD>A<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>T<EFBFBD>C<EFBFBD>Y<EFBFBD>ƃq<C683>[<5B>v<EFBFBD>T<EFBFBD>C<EFBFBD>Y<EFBFBD><59><EFBFBD>ȉ<EFBFBD><C889>̂悤<CC82>ɐݒ肵<DD92>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@
|
||||
<EFBFBD>@120<32>s<EFBFBD><73> #pragma stacksize su=0x2000
|
||||
<EFBFBD>@139<33>s<EFBFBD><73> #define BSP_CFG_HEAP_BYTES (0xa000)
|
||||
|
||||
!!** <20>T<EFBFBD><54><EFBFBD>v<EFBFBD><76><EFBFBD>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD> v2.0 <20><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>ꍇ<EFBFBD>́A<CD81><41><EFBFBD>L **!!
|
||||
<EFBFBD>@- ap_rx71m_0a_sample_cs\Sample\ap_rx71m_0a_usbfunc_sample_cs\src\smc_gen\r_bsp_config.h
|
||||
<EFBFBD>@<40><><EFBFBD>J<EFBFBD><4A><EFBFBD>A<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>T<EFBFBD>C<EFBFBD>Y<EFBFBD>ƃq<C683>[<5B>v<EFBFBD>T<EFBFBD>C<EFBFBD>Y<EFBFBD><59><EFBFBD>ȉ<EFBFBD><C889>̂悤<CC82>ɐݒ肵<DD92>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@154<35>s<EFBFBD><73> #pragma stacksize su=0x2000
|
||||
<EFBFBD>@175<37>s<EFBFBD><73> #define BSP_CFG_HEAP_BYTES (0xa000)
|
||||
!!**********************************************************************!!
|
||||
|
||||
<EFBFBD>@- IP<49>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>̃f<CC83>t<EFBFBD>H<EFBFBD><48><EFBFBD>g<EFBFBD>l<EFBFBD>͈ȉ<CD88><C889>̂悤<CC82>ɂȂ<C982><C882>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@<40>K<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ASample\ap_rx71m_0a_ether_sample_cs\src\r_t4_rx\src\config_tcpudp.c
|
||||
<EFBFBD>@<40><><EFBFBD><EFBFBD>139<33>s<EFBFBD>ڂ<EFBFBD><DA82><EFBFBD><EFBFBD>̒<EFBFBD><CC92>`<60><><EFBFBD>ύX<CF8D><58><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@
|
||||
<EFBFBD>@!!** <20>T<EFBFBD><54><EFBFBD>v<EFBFBD><76><EFBFBD>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD> v2.0 <20><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>ꍇ<EFBFBD>́A<CD81><41><EFBFBD>L **!!
|
||||
Sample\ap_rx71m_0a_usbfunc_sample_cs\src\tcp_sample\src\config_tcpudp.c
|
||||
<20><><EFBFBD><EFBFBD>166<36>s<EFBFBD>ڂ<EFBFBD><DA82><EFBFBD><EFBFBD>̒<EFBFBD><CC92>`<60><><EFBFBD>ύX<CF8D><58><EFBFBD>܂<EFBFBD><DC82>B
|
||||
!!**********************************************************************!!
|
||||
|
||||
===
|
||||
#define MY_IP_ADDR0 192,168,1,200 /* Local IP address */
|
||||
#define GATEWAY_ADDR0 192,168,1,254 /* Gateway address (invalid if all 0s) */
|
||||
#define SUBNET_MASK0 255,255,255,0 /* Subnet mask */
|
||||
===
|
||||
|
||||
|
||||
<EFBFBD>@- CS+<2B><>ap_rx71m_0a_ether_sample_cs.mtpj<70>v<EFBFBD><76><EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g<EFBFBD><67><EFBFBD>J<EFBFBD><4A><EFBFBD>AwolfSSL<53>ƃf<C683><66><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD>@<40>o<EFBFBD>^<5E><><EFBFBD>܂<EFBFBD><DC82>BCC-RX(<28>r<EFBFBD><72><EFBFBD>h<EFBFBD>c<EFBFBD>[<5B><>)-><3E><><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>E<EFBFBD>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>^<5E>u-><3E>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>ȉ<EFBFBD><EFBFBD>̓<EFBFBD><EFBFBD>̃t<EFBFBD>@<40>C<EFBFBD><EFBFBD>
|
||||
<EFBFBD>@<40><><EFBFBD>o<EFBFBD>^<5E><><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@<40>o<EFBFBD>^<5E><><EFBFBD>܂<EFBFBD><DC82>BCC-RX(<28>r<EFBFBD><72><EFBFBD>h<EFBFBD>c<EFBFBD>[<5B><>)-><3E><><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>E<EFBFBD>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>^<5E>u-><3E>g<EFBFBD>p<EFBFBD><70><EFBFBD>郉<EFBFBD>C<EFBFBD>u<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD>@<40>ȉ<EFBFBD><EFBFBD>̓<EFBFBD><EFBFBD>̃t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD>^<5E><><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<EFBFBD>@wolfssl\IDE\Renesas\cs+\Projects\wolfssl_lib\DefaultBuild\wolfssl_lib.lib
|
||||
<EFBFBD>@wolfssl\IDE\Renesas\cs+\Projects\t4_demo\DefaultBuild\t4_demo.lib
|
||||
|
||||
|
@ -30,7 +30,7 @@ static WOLFSSL_CTX *wolfSSL_sv_ctx;
|
||||
static WOLFSSL_CTX *wolfSSL_cl_ctx;
|
||||
|
||||
static long tick;
|
||||
static void timeTick(void)
|
||||
static void timeTick(void *pdata)
|
||||
{
|
||||
tick++;
|
||||
}
|
||||
|
@ -22,6 +22,13 @@
|
||||
<ParentItem>e38de3e6-e537-43bc-9f7d-3958453b991f</ParentItem>
|
||||
<Property>b113ecd1-816e-459a-afa4-fbc8975bfcb1</Property>
|
||||
</Instance>
|
||||
<Instance Guid="eabc01da-7e73-45ba-a18b-0a13ec91d158">
|
||||
<Name>user_settings.h</Name>
|
||||
<Type>File</Type>
|
||||
<RelativePath>..\common\user_settings.h</RelativePath>
|
||||
<TreeImageGuid>03cad1e8-2eb3-4cde-a8a3-982423631122</TreeImageGuid>
|
||||
<ParentItem>e38de3e6-e537-43bc-9f7d-3958453b991f</ParentItem>
|
||||
</Instance>
|
||||
<Instance Guid="caa2365b-7326-4cbb-bd88-b0ecf296df18">
|
||||
<Name>crl.c</Name>
|
||||
<Type>File</Type>
|
||||
@ -91,13 +98,6 @@
|
||||
<ParentItem>78a99f10-6945-4b7b-ab83-895a78962b99</ParentItem>
|
||||
<Property>b3a0ee4c-7893-43ab-aa14-cc84267a24b4</Property>
|
||||
</Instance>
|
||||
<Instance Guid="f82110c6-9cf8-4a3f-b96e-6b951ee6b0c8">
|
||||
<Name>user_settings.h</Name>
|
||||
<Type>File</Type>
|
||||
<RelativePath>user_settings.h</RelativePath>
|
||||
<TreeImageGuid>03cad1e8-2eb3-4cde-a8a3-982423631122</TreeImageGuid>
|
||||
<ParentItem>78a99f10-6945-4b7b-ab83-895a78962b99</ParentItem>
|
||||
</Instance>
|
||||
<Instance Guid="cfc4ddef-2ff8-440d-9135-5e36e230a9d0">
|
||||
<Name>aes.c</Name>
|
||||
<Type>File</Type>
|
||||
|
@ -12,6 +12,7 @@ test:
|
||||
- set stack size in stacksct.h
|
||||
- replace lowlvl.src with sample project's lowlvl.src which you can download below.
|
||||
https://www.renesas.com/jp/ja/software/D3012028.html
|
||||
* copy lowlvl.c and lowlvl.h in sample project's above into src directory of test project too.
|
||||
Build test wolfCrypt
|
||||
|
||||
Setting MPU: R5F565MLCxFC
|
||||
Setting MPU: R5F565MLCxFC or R5F571MLDxFC
|
||||
|
@ -31,10 +31,11 @@
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
#define NO_FILESYSTEM
|
||||
#define WOLFSSL_LOG_PRINTF
|
||||
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
|
||||
#define OPENSSL_EXTRA
|
||||
#define WOLFSSL_HAVE_MIN
|
||||
#define WOLFSSL_HAVE_MAX
|
||||
#if !defined(min)
|
||||
#define min(data1, data2) _builtin_min(data1, data2)
|
||||
#endif
|
||||
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
#define WOLFSSL_DH_CONST
|
||||
@ -47,15 +48,15 @@
|
||||
#define USE_WOLF_TIMEVAL_T
|
||||
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
|
||||
#define WOLFSSL_GENSEED_FORTEST /* Wardning: 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 */
|
||||
#ifndef SINGLE_THREADED
|
||||
/* expects use FRERRTOS */
|
||||
#define FREERTOS
|
||||
#endif
|
||||
|
||||
/* #define NO_DH */
|
||||
#define HAVE_AESGCM
|
||||
@ -66,3 +67,20 @@
|
||||
#define HAVE_ED25519
|
||||
|
||||
/* #define NO_WOLFSSL_STUB */
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
/* TSIP TLS specific definitions */
|
||||
#if !defined(WOLFSSL_RENESAS_TSIP)
|
||||
#define OPENSSL_EXTRA
|
||||
#define WOLFSSL_GENSEED_FORTEST /* Warning: define your own seed gen */
|
||||
#else
|
||||
#if defined(WOLFSSL_RENESAS_RX65N)
|
||||
/* In the case of Static RSA and AES-CBC use */
|
||||
#define HAVE_AES_CBC
|
||||
/* TSIP ver 1.0.6 or lower supports only static RSA as Public-key cryptography. */
|
||||
#define WOLFSSL_STATIC_RSA
|
||||
/* for disabling TSIP CRYPT and TSIP TLS */
|
||||
/* #define NO_RENESAS_TSIP_CRYPT */
|
||||
/* for disabling only TSIP TLS-linked Common key encryption method */
|
||||
/* #define NO_WOLFSSL_RENESAS_TSIP_TLS_SESSION */
|
||||
#endif
|
||||
#endif
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
typedef unsigned long time_t;
|
||||
|
||||
#define YEAR 2018
|
||||
#define YEAR 2019
|
||||
#define MON 5
|
||||
|
||||
static int tick = 0;
|
||||
@ -36,6 +36,6 @@ int strncasecmp(const char *s1, const char * s2, unsigned int sz)
|
||||
{
|
||||
for( ; sz>0; sz--)
|
||||
if(toupper(s1++) != toupper(s2++))
|
||||
return 1;
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
@ -8,6 +8,11 @@ EXTRA_DIST+= IDE/Renesas/e2studio/Projects/wolfssl/.project
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/test/.cproject
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/test/.project
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/test/src/test_main.c
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/test/src/key_data.c
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/test/src/key_data.h
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/test/src/wolf_client.c
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/test/src/wolf_server.c
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/test/src/wolfssl_demo.h
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/common/wolfssl_dummy.c
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/common/strings.h
|
||||
EXTRA_DIST+= IDE/Renesas/e2studio/Projects/common/unistd.h
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?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="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.246204984">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.246204984" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<cconfiguration id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1378385971">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1378385971" moduleId="org.eclipse.cdt.core.settings" name="HardwareDebug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
@ -14,83 +14,407 @@
|
||||
</storageModule>
|
||||
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
|
||||
<option id="toolchain.id" value="Renesas_RXC"/>
|
||||
<option id="toolchain.version" value="v2.08.00"/>
|
||||
<option id="toolchain.version" value="v3.01.00"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="abs" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="Debug" id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.246204984" name="Debug" parent="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration">
|
||||
<folderInfo id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.246204984." name="/" resourcePath="">
|
||||
<toolChain id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.toolChain.490516599" name="Renesas CCRX Toolchain" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.debug.toolChain">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform.546125733" osList="win32" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/test}/Debug" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder.864420363" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CCRX Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp.398562691" name="DSP Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo.1671134834" name="デバッグ情報を出力する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<configuration artifactExtension="abs" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="Debug on hardware" id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1378385971" name="HardwareDebug" parent="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration">
|
||||
<folderInfo id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1378385971." name="/" resourcePath="">
|
||||
<toolChain id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.toolChain.1637393351" name="Renesas CCRX Toolchain" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.toolChain">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform.808325012" osList="win32" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/test}/HardwareDebug" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder.65531188" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CCRX Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp.1710373085" name="DSP Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo.390598726" name="デバッグ情報を出力する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.2145260692" name="出力するデータ値のエンディアン" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.big" valueType="enumerated"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.common.741650141" name="Common" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.common">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.1805078695" name="命令セット・アーキテクチャ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv2" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu.1234136355" name="Has FPU" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu" useByScannerDiscovery="false" value="TRUE" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName.278687847" name="Device Name" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName" useByScannerDiscovery="false" value="R5F571MLCxFC" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand.1991523533" name="Device Command" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand" useByScannerDiscovery="false" value="R5F571ML" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos.1718474165" name="Check RTOS" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos" useByScannerDiscovery="false" value="unusedRtos" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp.1754444988" name="Has DSP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp" useByScannerDiscovery="false" value="false" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily.2135235189" name="Device Family" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily" useByScannerDiscovery="false" value="RX71M" valueType="string"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.common.385785132" name="Common" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.common">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.968417281" name="命令セット・アーキテクチャ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv2" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture.1826562770" name="RX Architecture" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture" useByScannerDiscovery="false" value="rxv2" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.2015650112" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.yes" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu.1065149525" name="Has FPU" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu" useByScannerDiscovery="false" value="TRUE" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName.1439501151" name="Device Name" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName" useByScannerDiscovery="false" value="R5F565NEHxFP" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory.141103170" name="Device history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory" useByScannerDiscovery="false" value="non_init;R5F565NEHxFP" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory.13818145" name="ISA history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory" useByScannerDiscovery="false" value="non_init;com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv2" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand.624156745" name="Device Command" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand" useByScannerDiscovery="false" value="R5F565NE" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos.198501700" name="Check RTOS" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos" useByScannerDiscovery="false" value="unusedRtos" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp.898504242" name="Has DSP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp" useByScannerDiscovery="false" value="false" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily.2015079094" name="Device Family" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily" useByScannerDiscovery="false" value="RX65N" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler.1005426126" name="Compiler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.1655116744" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.yes" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include.421912226" name="インクルード・ファイルを検索するフォルダ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include" useByScannerDiscovery="false" valueType="includePath">
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler.220371913" name="Compiler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.1764475068" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.yes" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include.477145288" name="インクルード・ファイルを検索するフォルダ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="${TCINSTALL}/include"/>
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}/../common"/>
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../"/>
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}/generate"/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../common""/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../../../../../""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_bsp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_config}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx231}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx66t}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx65n}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_cmt_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_cmt_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_driver_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_driver_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_ether_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_sys_time_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_sys_time_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/general}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define.1250794291" name="プリプロセッサ・マクロの定義" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define.511269805" name="プリプロセッサ・マクロの定義" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="DEBUG_CONSOLE"/>
|
||||
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.286984585" name="Cソース" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.c99" valueType="enumerated"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType.1125458755" name="Compiler Input C" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType.1044037817" name="Compiler Input CPP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore.165256012" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter.850666858" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.897672730" name="Cソース" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.c99" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.862144636" name="プログラムの文字コード" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.utf8" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.48690443" name="出力する文字コード" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.utf8" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize.1557621233" name="最適化レベル" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize.level2" valueType="enumerated"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType.1722484558" name="Compiler Input C" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType.709788007" name="Compiler Input CPP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler.616605202" name="Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler">
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType.889934690" name="Assembler InputType" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler.1564576801" name="Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore.1555827005" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter.912893655" name="追加するオプション(すべての指定オプションの後ろに追加) " superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.864537553" name="プログラムの文字コード" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.utf8" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.include.1616986135" name="インクルード・ファイルを検索するフォルダ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.include" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/general}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}""/>
|
||||
</option>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType.502444415" name="Assembler InputType" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker.1854484070" name="Linker" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom.1587151897" name="ROMからRAMへマップするセクション" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom" useByScannerDiscovery="false" valueType="stringList">
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker.1333901009" name="Linker" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom.2020069967" name="ROMからRAMへマップするセクション" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="D=R"/>
|
||||
<listOptionValue builtIn="false" value="D_1=R_1"/>
|
||||
<listOptionValue builtIn="false" value="D_2=R_2"/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection.1728337952" name="セクション" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection" useByScannerDiscovery="false" value="SU,SI,B_1,R_1,B_2,R_2,B,R/04,PResetPRG,C_1,C_2,C,C$*,D*,W*,L,PIntPRG,P/0FFC00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC" valueType="string"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList.1657015231" name="(リンク順序のリスト)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="".\generate\lowlvl.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\generate\dbsct.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\generate\hwsetup.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\generate\intprg.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\generate\lowsrc.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\generate\resetprg.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\generate\sbrk.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\generate\vecttbl.obj""/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection.2043161263" name="セクション" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection" useByScannerDiscovery="false" value="SU,SI,B_1,R_1,B_2,R_2,B,R/04,B_ETHERNET_BUFFERS_1,B_RX_DESC_1,B_TX_DESC_1/020000,C_1,C_2,C,C$*,D*,W*,L,P*/0FFE00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC" valueType="string"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore.1452234640" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter.1724535779" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect.47410515" name="可変ベクタテーブルのアドレス未設定ベクタ番号に指定するアドレス" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect" useByScannerDiscovery="false" value="_undefined_interrupt_source_isr" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection.239094904" name="セクションの割り付けアドレスをチェックする" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.1942768497" name="アドレス範囲指定方法" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.autoSpecify" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList.1237940973" name="(リンク順序のリスト)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/general\r_cg_hardware_setup.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/general\r_smc_cgc.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/general\r_smc_cgc_user.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/general\r_smc_interrupt.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/board/generic_rx65n\dbsct.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/board/generic_rx65n\hwsetup.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/board/generic_rx65n\lowlvl.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/board/generic_rx65n\lowsrc.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/board/generic_rx65n\resetprg.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/board/generic_rx65n\sbrk.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/board/generic_rx65n\vecttbl.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/all\r_bsp_common.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/rx65n\cpu.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/rx65n\locking.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/rx65n\mcu_clocks.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/rx65n\mcu_init.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/rx65n\mcu_interrupts.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/rx65n\mcu_locks.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/rx65n\mcu_mapped_interrupts.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_bsp/mcu/rx65n\mcu_startup.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_pincfg\Pin.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function000.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function001.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function002.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function100.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function101.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function102.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function103.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function200.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function202.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function205.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function206.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_function207.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p00.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p01.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p02.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p03.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p04.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p05.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p06.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p07.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p08.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p0a.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p0b.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p0c.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p0d.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p0e.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p0f.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p10.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p14.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p18.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p1f.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p20.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p21.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p22.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p23.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p26.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p29.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p2a.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p2b.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p31.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p32.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p33.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p34.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p35.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p36.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p37.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p38.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p39.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p3a.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p3b.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p3c.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p3d.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p41.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p42.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p43.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p44.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p45.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p46.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p47.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p48.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p49.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p4a.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p4b.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p4c.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p4d.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p50.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p51.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p52.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p53.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p54.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p56.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p57.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p59.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p60.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p62.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p63.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p71.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p72.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p73.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p74.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p75.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p76.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p77.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_p78.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pd5.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pd9.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pda.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pdb.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pdf.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pe0.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pe1.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pe2.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pe3.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pe4.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pe5.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_pe6.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_subprc01.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_subprc02.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_subprc03.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n/ip\r_tsip_rx_subprc04.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n\r_tsip_aes_rx.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n\r_tsip_md5_rx.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n\r_tsip_rsa_rx.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n\r_tsip_rx.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n\r_tsip_rx_private.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n\r_tsip_sha_rx.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n\r_tsip_tdes_rx.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src/smc_gen/r_tsip_rx/src/targets/rx65n\r_tsip_tls_rx.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src\test.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src\test_main.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src\wolfssl_dummy.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\test.lib""/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../wolfssl/Debug/wolfssl.lib""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile.2096473091" name="リンクするリロケータブル・ファイル、ライブラリ・ファイルおよびバイナリ・ファイル" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile" useByScannerDiscovery="false" valueType="stringList">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile.1438206933" name="リンクするリロケータブル・ファイル、ライブラリ・ファイルおよびバイナリ・ファイル" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib/T4_Library_rxv1_ether_little.lib}""/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../wolfssl/Debug/wolfssl.lib""/>
|
||||
</option>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian.977317851" name="Library Generator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.1234557916" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.yes" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headCtype.42661342" name="ctype.h(C89/C99):文字操作用ライブラリ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headCtype" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headMath.29506179" name="math.h(C89/C99):数値計算用ライブラリ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headMath" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headCppString.277930384" name="string(EC++):文字列操作用ライブラリ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headCppString" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.1481899164" name="C言語標準ライブラリ関数の構成" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.c99" valueType="enumerated"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian.1723543812" name="Library Generator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.1397073307" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.yes" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore.1773409552" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter.946493093" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.338617005" name="C言語標準ライブラリ関数の構成" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.c99" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headCtype.1293885198" name="ctype.h(C89/C99):文字操作用ライブラリ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headCtype" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter.1278951147" name="Converter" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig.1737524887" name="RTOS Configurator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter.1917108303" name="Converter" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore.109845398" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter.289006348" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig.318974000" name="RTOS Configurator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
|
||||
<entry excluding="ether" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.992474000">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.992474000" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.renesas.cdt.managedbuild.renesas.core.RenesasCompilerAssemblerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.renesas.cdt.managedbuild.core.buildRunnerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
|
||||
<option id="toolchain.id" value="Renesas_RXC"/>
|
||||
<option id="toolchain.version" value="v3.01.00"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="abs" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="Debug" id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.992474000" name="Debug" parent="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration">
|
||||
<folderInfo id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.992474000." name="/" resourcePath="">
|
||||
<toolChain id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.toolChain.1794956243" name="Renesas CCRX Toolchain" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.debug.toolChain">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform.617132481" osList="win32" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/test}/Debug" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder.117543810" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CCRX Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder"/>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp.1744140894" name="DSP Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo.1464228342" name="デバッグ情報を出力する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.733005442" name="出力するデータ値のエンディアン" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.big" valueType="enumerated"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.common.1294844059" name="Common" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.common">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.644795578" name="命令セット・アーキテクチャ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv2" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture.1771586719" name="RX Architecture" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture" useByScannerDiscovery="false" value="rxv2" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.1045346284" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.yes" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu.229476184" name="Has FPU" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu" useByScannerDiscovery="false" value="TRUE" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName.748972653" name="Device Name" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName" useByScannerDiscovery="false" value="R5F565NEHxFP" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory.780008434" name="Device history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory" useByScannerDiscovery="false" value="non_init;R5F565NEHxFP" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory.783836823" name="ISA history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory" useByScannerDiscovery="false" value="non_init;com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv2" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand.1221884092" name="Device Command" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand" useByScannerDiscovery="false" value="R5F565NE" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos.1001057208" name="Check RTOS" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos" useByScannerDiscovery="false" value="unusedRtos" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp.963664750" name="Has DSP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp" useByScannerDiscovery="false" value="false" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily.1280023203" name="Device Family" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily" useByScannerDiscovery="false" value="RX65N" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler.278830907" name="Compiler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.2144484247" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.yes" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include.545347560" name="インクルード・ファイルを検索するフォルダ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="${TCINSTALL}/include"/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_bsp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_config}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx231}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx66t}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx65n}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_cmt_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_cmt_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_driver_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_driver_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_ether_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_sys_time_rx}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_sys_time_rx/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/general}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define.935611572" name="プリプロセッサ・マクロの定義" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="DEBUG_CONSOLE"/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore.878126292" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter.443993930" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.47850385" name="Cソース" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.c99" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.24533273" name="プログラムの文字コード" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.utf8" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.542364588" name="出力する文字コード" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.utf8" valueType="enumerated"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType.1919404628" name="Compiler Input C" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType.293530100" name="Compiler Input CPP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler.607581328" name="Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore.622904140" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter.67379527" name="追加するオプション(すべての指定オプションの後ろに追加) " superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.1186358257" name="プログラムの文字コード" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.utf8" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.include.1360045103" name="インクルード・ファイルを検索するフォルダ" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.include" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/general}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}""/>
|
||||
</option>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType.1482916460" name="Assembler InputType" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker.1516159151" name="Linker" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom.1765662172" name="ROMからRAMへマップするセクション" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="D=R"/>
|
||||
<listOptionValue builtIn="false" value="D_1=R_1"/>
|
||||
<listOptionValue builtIn="false" value="D_2=R_2"/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection.1046231838" name="セクション" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection" useByScannerDiscovery="false" value="SU,SI,B_1,R_1,B_2,R_2,B,R/04,C_1,C_2,C,C$*,D*,W*,L,P*/0FFE00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC,B_ETHERNET_BUFFERS_1,B_RX_DESC_1,B_TX_DESC_1/00010000" valueType="string"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore.1651005552" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter.40118921" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect.1524833684" name="可変ベクタテーブルのアドレス未設定ベクタ番号に指定するアドレス" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect" useByScannerDiscovery="false" value="_undefined_interrupt_source_isr" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection.1914971075" name="セクションの割り付けアドレスをチェックする" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.1670384649" name="アドレス範囲指定方法" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.autoSpecify" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList.1556433699" name="(リンク順序のリスト)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="".\test.lib""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile.856176867" name="リンクするリロケータブル・ファイル、ライブラリ・ファイルおよびバイナリ・ファイル" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib/T4_Library_rxv1_ether_little.lib}""/>
|
||||
</option>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian.1598250045" name="Library Generator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.665362864" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.yes" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore.413642487" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter.322853429" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.1591825359" name="C言語標準ライブラリ関数の構成" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.c99" valueType="enumerated"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter.175269062" name="Converter" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore.1586351233" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter.900284814" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig.1118615463" name="RTOS Configurator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="ether" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
@ -98,13 +422,16 @@
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="test.com.renesas.cdt.managedbuild.renesas.ccrx.projectType.1174322677" name="実行可能" projectType="com.renesas.cdt.managedbuild.renesas.ccrx.projectType"/>
|
||||
<project id="test.com.renesas.cdt.managedbuild.renesas.ccrx.projectType.1611298680" name="実行可能" projectType="com.renesas.cdt.managedbuild.renesas.ccrx.projectType"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="HardwareDebug">
|
||||
<resource resourceType="PROJECT" workspacePath="/test"/>
|
||||
</configuration>
|
||||
<configuration configurationName="Debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/test"/>
|
||||
</configuration>
|
||||
|
@ -17,6 +17,11 @@
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.renesas.cdt.managedbuild.renesas.misrachecker.builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
@ -24,6 +29,16 @@
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>src/benchmark.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/wolfcrypt/benchmark/benchmark.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/benchmark.h</name>
|
||||
<type>1</type>
|
||||
<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/wolfcrypt/benchmark/benchmark.h</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/test.c</name>
|
||||
<type>1</type>
|
||||
@ -32,7 +47,13 @@
|
||||
<link>
|
||||
<name>src/wolfssl_dummy.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-1-PROJECT_LOC/common/wolfssl_dummy.c</locationURI>
|
||||
<locationURI>$%7BPARENT-1-PROJECT_LOC%7D/common/wolfssl_dummy.c</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
<variableList>
|
||||
<variable>
|
||||
<name>copy_PARENT</name>
|
||||
<value>$%7BPARENT-3-ECLIPSE_HOME%7D/workspace/wolfssl</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
||||
|
164
IDE/Renesas/e2studio/Projects/test/src/key_data.c
Normal file
164
IDE/Renesas/e2studio/Projects/test/src/key_data.c
Normal file
@ -0,0 +1,164 @@
|
||||
/* key_data.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 "key_data.h"
|
||||
#ifdef WOLFSSL_RENESAS_TSIP
|
||||
|
||||
/* The following key data is an dummy data. */
|
||||
/* Please replace them by your own data */
|
||||
const st_key_block_data_t g_key_block_data =
|
||||
{
|
||||
|
||||
/* uint8_t encrypted_session_key[R_TSIP_AES_CBC_IV_BYTE_SIZE * 2]; */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
},
|
||||
/* uint8_t iv[R_TSIP_AES_CBC_IV_BYTE_SIZE]; */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
},
|
||||
/* uint8_t encrypted_user_rsa2048_ne_key[R_TSIP_RSA2048_NE_KEY_BYTE_SIZE + 16]; */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
},
|
||||
};
|
||||
|
||||
const uint32_t s_flash[] =
|
||||
{
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
};
|
||||
|
||||
/* ./ca-cert.der.sign, */
|
||||
const unsigned char ca_cert_sig[] =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
const int sizeof_ca_cert_sig = sizeof(ca_cert_sig);
|
||||
|
||||
/* ./client-cert.der.sign, */
|
||||
const unsigned char client_cert_der_sign[] =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
const int sizeof_client_cert_der_sign = sizeof(client_cert_der_sign);
|
||||
|
||||
uint32_t s_inst1[R_TSIP_SINST_WORD_SIZE] = { 0 };
|
||||
uint32_t s_inst2[R_TSIP_SINST2_WORD_SIZE]= { 0 };
|
||||
#endif
|
45
IDE/Renesas/e2studio/Projects/test/src/key_data.h
Normal file
45
IDE/Renesas/e2studio/Projects/test/src/key_data.h
Normal file
@ -0,0 +1,45 @@
|
||||
/* key_data.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
|
||||
*/
|
||||
#ifndef KEY_DATA_H_
|
||||
#define KEY_DATA_H_
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifdef WOLFSSL_RENESAS_TSIP
|
||||
#include "r_tsip_rx_if.h"
|
||||
|
||||
/** user key datas */
|
||||
typedef struct key_block_data
|
||||
{
|
||||
uint8_t encrypted_session_key[R_TSIP_AES_CBC_IV_BYTE_SIZE * 2];
|
||||
uint8_t iv[R_TSIP_AES_CBC_IV_BYTE_SIZE];
|
||||
uint8_t encrypted_user_rsa2048_ne_key[R_TSIP_RSA2048_NE_KEY_BYTE_SIZE + 16];
|
||||
} st_key_block_data_t;
|
||||
|
||||
extern const st_key_block_data_t g_key_block_data;
|
||||
extern const uint32_t s_flash[];
|
||||
extern const unsigned char ca_cert_der[];
|
||||
extern const int sizeof_ca_cert_der;
|
||||
extern const unsigned char ca_cert_sig[];
|
||||
extern const unsigned char client_cert_der_sign[];
|
||||
|
||||
#endif /* WOLFSSL_RENESAS_TSIP */
|
||||
#endif /* KEY_DATA_H_ */
|
||||
|
@ -26,6 +26,10 @@
|
||||
#endif
|
||||
|
||||
#include "stdio.h"
|
||||
#include "stdint.h"
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include "wolfssl/wolfcrypt/types.h"
|
||||
#include "wolfssl_demo.h"
|
||||
|
||||
void main(void);
|
||||
#ifdef __cplusplus
|
||||
@ -34,6 +38,29 @@ void abort(void);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(TLS_CLIENT) || defined(TLS_SERVER)
|
||||
#include "r_t4_itcpip.h"
|
||||
#include "r_sys_time_rx_if.h"
|
||||
#include "Pin.h"
|
||||
|
||||
#define T4_WORK_SIZE (14800)
|
||||
static UW tcpudp_work[(T4_WORK_SIZE / 4) + 1];
|
||||
|
||||
#if defined(WOLFSSL_RENESAS_TSIP)
|
||||
#include "key_data.h"
|
||||
#include <wolfssl/wolfcrypt/port/Renesas/renesas-tsip-crypt.h>
|
||||
|
||||
extern const st_key_block_data_t g_key_block_data;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static long tick;
|
||||
static void timeTick(void *pdata)
|
||||
{
|
||||
tick++;
|
||||
}
|
||||
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
@ -42,13 +69,148 @@ typedef struct func_args {
|
||||
|
||||
|
||||
void wolfcrypt_test(func_args args);
|
||||
int benchmark_test(void *args);
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) tick = 0 ;
|
||||
return ((double)tick/FREQ) ;
|
||||
}
|
||||
|
||||
#if defined(TLS_CLIENT) || defined(TLS_SERVER)
|
||||
|
||||
int SetTsiptlsKey()
|
||||
{
|
||||
#if defined(WOLFSSL_RENESAS_TSIP) && defined(TLS_CLIENT)
|
||||
tsip_inform_cert_sign((const byte *)ca_cert_sig);
|
||||
tsip_inform_user_keys((byte*)&g_key_block_data.encrypted_session_key,
|
||||
(byte*)&g_key_block_data.iv,
|
||||
(byte*)&g_key_block_data.encrypted_user_rsa2048_ne_key);
|
||||
#elif defined(WOLFSSL_RENESAS_TSIP) && defined(TLS_SERVER)
|
||||
tsip_inform_cert_sign((const byte *)client_cert_der_sign);
|
||||
tsip_inform_user_keys((byte*)&g_key_block_data.encrypted_session_key,
|
||||
(byte*)&g_key_block_data.iv,
|
||||
(byte*)&g_key_block_data.encrypted_user_rsa2048_ne_key);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Open_tcp( )
|
||||
{
|
||||
ER ercd;
|
||||
W size;
|
||||
sys_time_err_t sys_ercd;
|
||||
char ver[128];
|
||||
|
||||
/* cast from uint8_t to char* */
|
||||
strcpy(ver, (char*)R_t4_version.library);
|
||||
|
||||
sys_ercd = R_SYS_TIME_Open();
|
||||
if (sys_ercd != SYS_TIME_SUCCESS) {
|
||||
printf("ERROR : R_SYS_TIME_Open() failed\n");
|
||||
return -1;
|
||||
}
|
||||
R_Pins_Create();
|
||||
/* start LAN controller */
|
||||
ercd = lan_open();
|
||||
/* initialize TCP/IP */
|
||||
size = tcpudp_get_ramsize();
|
||||
if (size > (sizeof(tcpudp_work))) {
|
||||
printf("size > (sizeof(tcpudp_work))!\n");
|
||||
return -1;
|
||||
}
|
||||
ercd = tcpudp_open(tcpudp_work);
|
||||
if (ercd != E_OK) {
|
||||
printf("ERROR : tcpudp_open failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Close_tcp()
|
||||
{
|
||||
/* end TCP/IP */
|
||||
tcpudp_close();
|
||||
lan_close();
|
||||
R_SYS_TIME_Close();
|
||||
}
|
||||
#endif
|
||||
|
||||
void main(void)
|
||||
{
|
||||
func_args args = {1};
|
||||
(void)timeTick;
|
||||
|
||||
printf("Start wolfCrypt Test\n");
|
||||
wolfcrypt_test(args);
|
||||
printf("End wolfCrypt Test\n");
|
||||
#if defined(CRYPT_TEST) || defined(BENCHMARK)
|
||||
#if defined(CRYPT_TEST)
|
||||
int ret;
|
||||
func_args args = { 0 };
|
||||
|
||||
if ((ret = wolfCrypt_Init()) != 0) {
|
||||
printf("wolfCrypt_Init failed %d\n", ret);
|
||||
}
|
||||
|
||||
printf("Start wolfCrypt Test\n");
|
||||
wolfcrypt_test(args);
|
||||
printf("End wolfCrypt Test\n");
|
||||
|
||||
if ((ret = wolfCrypt_Cleanup()) != 0) {
|
||||
printf("wolfCrypt_Cleanup failed %d\n", ret);
|
||||
}
|
||||
#endif
|
||||
#if defined(BENCHMARK)
|
||||
#include "r_cmt_rx_if.h"
|
||||
|
||||
uint32_t channel;
|
||||
R_CMT_CreatePeriodic(FREQ, &timeTick, &channel);
|
||||
|
||||
printf("Start wolfCrypt Benchmark\n");
|
||||
benchmark_test(NULL);
|
||||
printf("End wolfCrypt Benchmark\n");
|
||||
#endif
|
||||
#elif defined(TLS_CLIENT)
|
||||
#if defined(WOLFSSL_RENESAS_TSIP)
|
||||
const char* cipherlist[] = {
|
||||
/* NULL */
|
||||
"AES128-SHA",
|
||||
"AES128-SHA256",
|
||||
"AES256-SHA",
|
||||
"AES256-SHA256"
|
||||
};
|
||||
const int cipherlist_sz = 4;
|
||||
#else
|
||||
const char* cipherlist[] = { NULL };
|
||||
const int cipherlist_sz = 0;
|
||||
|
||||
#endif
|
||||
int i = 0;
|
||||
|
||||
Open_tcp();
|
||||
#if defined(WOLFSSL_RENESAS_TSIP)
|
||||
SetTsiptlsKey();
|
||||
#endif
|
||||
|
||||
do {
|
||||
if(cipherlist_sz > 0 ) printf("cipher : %s\n", cipherlist[i]);
|
||||
wolfSSL_TLS_client_init(cipherlist[i]);
|
||||
wolfSSL_TLS_client();
|
||||
|
||||
i++;
|
||||
} while (i < cipherlist_sz);
|
||||
|
||||
Close_tcp();
|
||||
#elif defined(TLS_SERVER)
|
||||
|
||||
Open_tcp();
|
||||
#if defined(WOLFSSL_RENESAS_TSIP)
|
||||
SetTsiptlsKey();
|
||||
#endif
|
||||
|
||||
wolfSSL_TLS_server_init();
|
||||
wolfSSL_TLS_server();
|
||||
|
||||
Close_tcp();
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
205
IDE/Renesas/e2studio/Projects/test/src/wolf_client.c
Normal file
205
IDE/Renesas/e2studio/Projects/test/src/wolf_client.c
Normal file
@ -0,0 +1,205 @@
|
||||
/* wolf_client.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 <stdio.h>
|
||||
#include <string.h>
|
||||
#include "r_t4_itcpip.h"
|
||||
|
||||
#include "wolfssl/wolfcrypt/settings.h"
|
||||
#include "wolfssl/ssl.h"
|
||||
#include "wolfssl/certs_test.h"
|
||||
#include "key_data.h"
|
||||
|
||||
#define SIMPLE_TLSSEVER_IP "192.168.1.45"
|
||||
#define SIMPLE_TLSSERVER_PORT "11111"
|
||||
|
||||
ER t4_tcp_callback(ID cepid, FN fncd , VP p_parblk);
|
||||
uint32_t g_encrypted_root_public_key[140];
|
||||
|
||||
static WOLFSSL_CTX *client_ctx;
|
||||
|
||||
static int my_IORecv(WOLFSSL* ssl, char* buff, int sz, void* ctx)
|
||||
{
|
||||
int ret;
|
||||
ID cepid;
|
||||
|
||||
if(ctx != NULL)
|
||||
cepid = *(ID *)ctx;
|
||||
else
|
||||
return WOLFSSL_CBIO_ERR_GENERAL;
|
||||
|
||||
ret = tcp_rcv_dat(cepid, buff, sz, TMO_FEVR);
|
||||
if(ret > 0)
|
||||
return ret;
|
||||
else
|
||||
return WOLFSSL_CBIO_ERR_GENERAL;
|
||||
}
|
||||
|
||||
static int my_IOSend(WOLFSSL* ssl, char* buff, int sz, void* ctx)
|
||||
{
|
||||
int ret;
|
||||
ID cepid;
|
||||
|
||||
if(ctx != NULL)
|
||||
cepid = *(ID *)ctx;
|
||||
else
|
||||
return WOLFSSL_CBIO_ERR_GENERAL;
|
||||
|
||||
ret = tcp_snd_dat(cepid, buff, sz, TMO_FEVR);
|
||||
if(ret == sz)
|
||||
return ret;
|
||||
else
|
||||
return WOLFSSL_CBIO_ERR_GENERAL;
|
||||
}
|
||||
|
||||
static int getIPaddr(char *arg)
|
||||
{
|
||||
int a1, a2, a3, a4;
|
||||
if(sscanf(arg, "%d.%d.%d.%d", &a1, &a2, &a3, &a4) == 4)
|
||||
return (a1 << 24) | (a2 << 16) | (a3 << 8) | a4;
|
||||
else return 0;
|
||||
}
|
||||
|
||||
static int getPort(char *arg)
|
||||
{
|
||||
int port;
|
||||
if(sscanf(arg, "%d", &port) == 1)
|
||||
return port;
|
||||
else return 0;
|
||||
}
|
||||
|
||||
void wolfSSL_TLS_client_init(const char* cipherlist)
|
||||
{
|
||||
|
||||
#ifndef NO_FILESYSTEM
|
||||
#ifdef USE_ECC_CERT
|
||||
char *cert = "./certs/ca-ecc-cert.pem";
|
||||
#else
|
||||
char *cert = "./certs/ca-cert.pem";
|
||||
#endif
|
||||
#else
|
||||
#ifdef USE_ECC_CERT
|
||||
const unsigned char *cert = ca_ecc_der_256;
|
||||
#define SIZEOF_CERT sizeof_ca_ecc_der_256
|
||||
#else
|
||||
const unsigned char *cert = ca_cert_der_2048;
|
||||
#define SIZEOF_CERT sizeof_ca_cert_der_2048
|
||||
#endif
|
||||
#endif
|
||||
|
||||
wolfSSL_Init();
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
wolfSSL_Debugging_ON();
|
||||
#endif
|
||||
|
||||
/* Create and initialize WOLFSSL_CTX */
|
||||
if ((client_ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method_ex((void *)NULL))) == NULL) {
|
||||
printf("ERROR: failed to create WOLFSSL_CTX\n");
|
||||
return;
|
||||
}
|
||||
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
if (wolfSSL_CTX_load_verify_locations(client_ctx, cert, 0) != SSL_SUCCESS) {
|
||||
printf("ERROR: can't load \"%s\"\n", cert);
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
if (wolfSSL_CTX_load_verify_buffer(client_ctx, cert, SIZEOF_CERT, SSL_FILETYPE_ASN1) != SSL_SUCCESS){
|
||||
printf("ERROR: can't load certificate data\n");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Register callbacks */
|
||||
wolfSSL_SetIORecv(client_ctx, my_IORecv);
|
||||
wolfSSL_SetIOSend(client_ctx, my_IOSend);
|
||||
|
||||
/* use specific cipher */
|
||||
if (cipherlist != NULL && wolfSSL_CTX_set_cipher_list(client_ctx, cipherlist) != WOLFSSL_SUCCESS) {
|
||||
wolfSSL_CTX_free(client_ctx); client_ctx = NULL;
|
||||
printf("client can't set cipher list 1");
|
||||
}
|
||||
}
|
||||
|
||||
void wolfSSL_TLS_client( )
|
||||
{
|
||||
ID cepid = 1;
|
||||
ER ercd;
|
||||
int ret;
|
||||
WOLFSSL_CTX *ctx = (WOLFSSL_CTX *)client_ctx;
|
||||
WOLFSSL *ssl;
|
||||
#define BUFF_SIZE 256
|
||||
static const char sendBuff[]= "Hello Server\n" ;
|
||||
char rcvBuff[BUFF_SIZE] = {0};
|
||||
static T_IPV4EP my_addr = { 0, 0 };
|
||||
T_IPV4EP dst_addr;
|
||||
|
||||
if((dst_addr.ipaddr = getIPaddr(SIMPLE_TLSSEVER_IP)) == 0){
|
||||
printf("ERROR: IP address\n");
|
||||
return;
|
||||
}
|
||||
if((dst_addr.portno = getPort(SIMPLE_TLSSERVER_PORT)) == 0){
|
||||
printf("ERROR: IP address\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if((ercd = tcp_con_cep(cepid, &my_addr, &dst_addr, TMO_FEVR)) != E_OK) {
|
||||
printf("ERROR TCP Connect: %d\n", ercd);
|
||||
return;
|
||||
}
|
||||
|
||||
if((ssl = wolfSSL_new(ctx)) == NULL) {
|
||||
printf("ERROR wolfSSL_new: %d\n", wolfSSL_get_error(ssl, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
/* set callback context */
|
||||
wolfSSL_SetIOReadCtx(ssl, (void *)&cepid);
|
||||
wolfSSL_SetIOWriteCtx(ssl, (void *)&cepid);
|
||||
|
||||
if(wolfSSL_connect(ssl) != SSL_SUCCESS) {
|
||||
printf("ERROR SSL connect: %d\n", wolfSSL_get_error(ssl, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
if (wolfSSL_write(ssl, sendBuff, strlen(sendBuff)) != strlen(sendBuff)) {
|
||||
printf("ERROR SSL write: %d\n", wolfSSL_get_error(ssl, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
if ((ret=wolfSSL_read(ssl, rcvBuff, BUFF_SIZE)) < 0) {
|
||||
printf("ERROR SSL read: %d\n", wolfSSL_get_error(ssl, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
rcvBuff[ret] = '\0' ;
|
||||
printf("Received: %s\n", rcvBuff);
|
||||
|
||||
/* frees all data before client termination */
|
||||
wolfSSL_free(ssl);
|
||||
wolfSSL_CTX_free(ctx);
|
||||
wolfSSL_Cleanup();
|
||||
|
||||
tcp_sht_cep(cepid);
|
||||
tcp_cls_cep(cepid, TMO_FEVR);
|
||||
|
||||
return;
|
||||
}
|
203
IDE/Renesas/e2studio/Projects/test/src/wolf_server.c
Normal file
203
IDE/Renesas/e2studio/Projects/test/src/wolf_server.c
Normal file
@ -0,0 +1,203 @@
|
||||
/* wolf_server.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 <stdio.h>
|
||||
#include <string.h>
|
||||
#include "r_t4_itcpip.h"
|
||||
|
||||
#include "wolfssl/wolfcrypt/settings.h"
|
||||
#include "wolfssl/ssl.h"
|
||||
#include "wolfssl/certs_test.h"
|
||||
#include "wolfssl_demo.h"
|
||||
|
||||
static WOLFSSL_CTX *server_ctx;
|
||||
static byte doCliCertCheck;
|
||||
|
||||
static int my_IORecv(WOLFSSL* ssl, char* buff, int sz, void* ctx)
|
||||
{
|
||||
int ret;
|
||||
ID cepid;
|
||||
|
||||
if(ctx != NULL)
|
||||
cepid = *(ID *)ctx;
|
||||
else
|
||||
return WOLFSSL_CBIO_ERR_GENERAL;
|
||||
|
||||
ret = tcp_rcv_dat(cepid, buff, sz, TMO_FEVR);
|
||||
if(ret == sz)
|
||||
return ret;
|
||||
else
|
||||
return WOLFSSL_CBIO_ERR_GENERAL;
|
||||
}
|
||||
|
||||
static int my_IOSend(WOLFSSL* ssl, char* buff, int sz, void* ctx)
|
||||
{
|
||||
int ret;
|
||||
ID cepid;
|
||||
|
||||
if(ctx != NULL)
|
||||
cepid = *(ID *)ctx;
|
||||
else
|
||||
return WOLFSSL_CBIO_ERR_GENERAL;
|
||||
|
||||
ret = tcp_snd_dat(cepid, buff, sz, TMO_FEVR);
|
||||
if(ret == sz)
|
||||
return ret;
|
||||
else
|
||||
return WOLFSSL_CBIO_ERR_GENERAL;
|
||||
}
|
||||
|
||||
|
||||
void wolfSSL_TLS_server_init(byte doClientCheck)
|
||||
{
|
||||
|
||||
int ret;
|
||||
|
||||
|
||||
#ifndef NO_FILESYSTEM
|
||||
#ifdef USE_ECC_CERT
|
||||
char *cert = "./certs/server-ecc-cert.pem";
|
||||
char *key = "./certs/server-ecc-key.pem";
|
||||
#else
|
||||
char *cert = "./certs/server-cert.pem";
|
||||
char *key = "./certs/server-key.pem";
|
||||
#endif
|
||||
char *clientCert = "./certs/client-cert.pem";
|
||||
#else
|
||||
#ifdef USE_ECC_CERT
|
||||
char *cert = serv_ecc_der_256;
|
||||
int sizeof_cert = sizeof_serv_ecc_der_256;
|
||||
char *cert = serv_ecc_key_der_256;
|
||||
int sizeof_key = sizeof_serv_ecc_key_der_256;
|
||||
#else
|
||||
const unsigned char *cert = server_cert_der_2048;
|
||||
#define sizeof_cert sizeof_server_cert_der_2048
|
||||
const unsigned char *key = server_key_der_2048;
|
||||
#define sizeof_key sizeof_server_key_der_2048
|
||||
const unsigned char *clientCert = client_cert_der_2048;
|
||||
#define sizeof_clicert sizeof_client_cert_der_2048
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
wolfSSL_Init();
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
wolfSSL_Debugging_ON();
|
||||
#endif
|
||||
|
||||
/* Create and initialize WOLFSSL_CTX */
|
||||
if ((server_ctx = wolfSSL_CTX_new(wolfSSLv23_server_method_ex((void *)NULL)))
|
||||
== NULL) {
|
||||
printf("ERROR: failed to create WOLFSSL_CTX\n");
|
||||
return;
|
||||
}
|
||||
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
ret = wolfSSL_CTX_use_certificate_file(server_ctx, cert, 0);
|
||||
#else
|
||||
ret = wolfSSL_CTX_use_certificate_buffer(server_ctx, cert,
|
||||
sizeof_cert, SSL_FILETYPE_ASN1);
|
||||
#endif
|
||||
if (ret != SSL_SUCCESS) {
|
||||
printf("Error %d loading server-cert!\n", ret);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Load server key into WOLFSSL_CTX */
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
ret = wolfSSL_CTX_use_PrivateKey_file(server_ctx, key, 0);
|
||||
#else
|
||||
ret = wolfSSL_CTX_use_PrivateKey_buffer(server_ctx, key, sizeof_key,
|
||||
SSL_FILETYPE_ASN1);
|
||||
#endif
|
||||
if (ret != SSL_SUCCESS) {
|
||||
printf("Error %d loading server-key!\n", ret);
|
||||
return;
|
||||
}
|
||||
#if defined(WOLFSSL_RENESAS_TSIP)
|
||||
doCliCertCheck = 1;
|
||||
#endif
|
||||
if (doCliCertCheck) {
|
||||
wolfSSL_CTX_set_verify(server_ctx, WOLFSSL_VERIFY_PEER |
|
||||
WOLFSSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
if (wolfSSL_CTX_load_verify_locations(server_ctx, clientCert, 0)
|
||||
!= WOLFSSL_SUCCESS)
|
||||
#else
|
||||
if (wolfSSL_CTX_load_verify_buffer(server_ctx, clientCert,
|
||||
sizeof_clicert,
|
||||
SSL_FILETYPE_ASN1) != SSL_SUCCESS)
|
||||
#endif
|
||||
printf("can't load ca file, Please run from wolfSSL home dir\n");
|
||||
}
|
||||
|
||||
/* Register callbacks */
|
||||
wolfSSL_SetIORecv(server_ctx, my_IORecv);
|
||||
wolfSSL_SetIOSend(server_ctx, my_IOSend);
|
||||
|
||||
}
|
||||
|
||||
void wolfSSL_TLS_server( )
|
||||
{
|
||||
ID cepid = 1;
|
||||
ID repid = 1;
|
||||
ER ercd;
|
||||
WOLFSSL_CTX *ctx = (WOLFSSL_CTX *)server_ctx;
|
||||
|
||||
WOLFSSL *ssl;
|
||||
int len;
|
||||
#define BUFF_SIZE 256
|
||||
char buff[BUFF_SIZE];
|
||||
T_IPV4EP dst_addr = {0, 0};
|
||||
|
||||
if((ercd = tcp_acp_cep(cepid, repid, &dst_addr, TMO_FEVR)) != E_OK) {
|
||||
printf("ERROR TCP Accept: %d\n", ercd);
|
||||
return;
|
||||
}
|
||||
|
||||
if((ssl = wolfSSL_new(ctx)) == NULL) {
|
||||
printf("ERROR: failed wolfSSL_new\n");
|
||||
return;
|
||||
}
|
||||
|
||||
wolfSSL_SetIOReadCtx(ssl, (void *)&cepid);
|
||||
wolfSSL_SetIOWriteCtx(ssl, (void *)&cepid);
|
||||
|
||||
if (wolfSSL_accept(ssl) < 0) {
|
||||
printf("ERROR: SSL Accept(%d)\n", wolfSSL_get_error(ssl, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
if ((len = wolfSSL_read(ssl, buff, sizeof(buff) - 1)) < 0) {
|
||||
printf("ERROR: SSL Read(%d)\n", wolfSSL_get_error(ssl, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
buff[len] = '\0';
|
||||
printf("Received: %s\n", buff);
|
||||
|
||||
if (wolfSSL_write(ssl, buff, len) != len) {
|
||||
printf("ERROR: SSL Write(%d)\n", wolfSSL_get_error(ssl, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
wolfSSL_free(ssl);
|
||||
tcp_sht_cep(cepid);
|
||||
}
|
48
IDE/Renesas/e2studio/Projects/test/src/wolfssl_demo.h
Normal file
48
IDE/Renesas/e2studio/Projects/test/src/wolfssl_demo.h
Normal file
@ -0,0 +1,48 @@
|
||||
/* wolfssl_demo.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
|
||||
*/
|
||||
|
||||
#ifndef WOLFSSL_DEMO_H_
|
||||
#define WOLFSSL_DEMO_H_
|
||||
|
||||
#define FREQ 10000 /* Hz */
|
||||
|
||||
/* Enable wolfcrypt test */
|
||||
/* can be enabled with benchmark test */
|
||||
/* #define CRYPT_TEST */
|
||||
|
||||
/* Enable benchmark */
|
||||
/* can be enabled with cyrpt test */
|
||||
/* #define BENCHMARK */
|
||||
|
||||
/* Enable TLS client */
|
||||
/* cannot enable with other definition */
|
||||
/* #define TLS_CLIENT */
|
||||
|
||||
/* Enable TLS server */
|
||||
/* cannot enable with other definition */
|
||||
/* #define TLS_SERVER */
|
||||
|
||||
void wolfSSL_TLS_client_init();
|
||||
void wolfSSL_TLS_client();
|
||||
void wolfSSL_TLS_server_init();
|
||||
void wolfSSL_TLS_server();
|
||||
|
||||
#endif /* WOLFSSL_DEMO_H_ */
|
52
IDE/Renesas/e2studio/Projects/tools/generate_rsa_keypair.sh
Executable file
52
IDE/Renesas/e2studio/Projects/tools/generate_rsa_keypair.sh
Executable file
@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
function usage(){
|
||||
cat << _EOT_
|
||||
Usage :
|
||||
$0 [-g] [-]
|
||||
|
||||
Description:
|
||||
Generate 2048 bit Rsa key pair and Display modulus and public exponent
|
||||
|
||||
Options:
|
||||
-g generate rsa key pair, default on
|
||||
-s only show modulus and public exponent
|
||||
_EOT_
|
||||
exit 1
|
||||
}
|
||||
|
||||
FLAG_G="on"
|
||||
FLAG_S="off"
|
||||
|
||||
while getopts gsh OPT
|
||||
do
|
||||
case $OPT in
|
||||
g)
|
||||
FLAG_G="on"
|
||||
;;
|
||||
s)
|
||||
FLAG_S="on"
|
||||
FLAG_G="off"
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
;;
|
||||
\?)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ $FLAG_G = "on" ]; then
|
||||
# generate 2048bit Rsa private key
|
||||
openssl genrsa 2048 2> /dev/null > private-key.pem
|
||||
# expose public key
|
||||
openssl rsa -in private-key.pem -pubout -out public-key.pem 2> /dev/null
|
||||
fi
|
||||
|
||||
if [ $FLAG_S = "on" ]; then
|
||||
# display modulus and exponent
|
||||
openssl rsa -modulus < private-key.pem 2>/dev/null | grep Modulus=
|
||||
openssl rsa -text < private-key.pem 2> /dev/null | grep publicExponent
|
||||
fi
|
||||
|
89
IDE/Renesas/e2studio/Projects/tools/genhexbuf.pl
Executable file
89
IDE/Renesas/e2studio/Projects/tools/genhexbuf.pl
Executable file
@ -0,0 +1,89 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# genhexbuf.pl
|
||||
# Copyright (C) 2019 wolfSSL Inc.
|
||||
#
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
# ---- SCRIPT SETTINGS -------------------------------------------------------
|
||||
|
||||
# output C header file to write cert/key buffers to
|
||||
my $outputFile = "certs_sig_data.h";
|
||||
|
||||
# rsa keys and certs to be converted
|
||||
|
||||
my @fileList = (
|
||||
# please add your der file and name of the data for C language
|
||||
# der file name name of the data
|
||||
#[ "./yourder.der", "your_der_name_in_C" ],
|
||||
[ "./ca-cert.der", "ca_cert_der" ],
|
||||
[ "./ca-cert.der.sign", "ca_cert_der_sign" ],
|
||||
);
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
my $num = @fileList;
|
||||
|
||||
# open our output file, "+>" creates and/or truncates
|
||||
open OUT_FILE, "+>", $outputFile or die $!;
|
||||
|
||||
print OUT_FILE "/* certs_sig_data.h */\n\n";
|
||||
print OUT_FILE "#ifndef WOLFSSL_CERTS_SIG_DATA_H\n";
|
||||
print OUT_FILE "#define WOLFSSL_CERTS_SIG_DATA_H\n\n";
|
||||
|
||||
|
||||
# convert and print 1024-bit cert/keys
|
||||
for (my $i = 0; $i < $num; $i++) {
|
||||
|
||||
my $fname = $fileList[$i][0];
|
||||
my $sname = $fileList[$i][1];
|
||||
|
||||
print OUT_FILE "/* $fname, */\n";
|
||||
print OUT_FILE "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE "{\n";
|
||||
file_to_hex($fname);
|
||||
print OUT_FILE "};\n";
|
||||
print OUT_FILE "static const int sizeof_$sname = sizeof($sname);\n\n";
|
||||
}
|
||||
print OUT_FILE "#endif /* WOLFSSL_CERTS_SIG_DATA_H */\n\n";
|
||||
|
||||
|
||||
# print file as hex, comma-separated, as needed by C buffer
|
||||
sub file_to_hex {
|
||||
my $fileName = $_[0];
|
||||
|
||||
open my $fp, "<", $fileName or die $!;
|
||||
binmode($fp);
|
||||
|
||||
my $fileLen = -s $fileName;
|
||||
my $byte;
|
||||
|
||||
for (my $i = 0, my $j = 1; $i < $fileLen; $i++, $j++)
|
||||
{
|
||||
if ($j == 1) {
|
||||
print OUT_FILE " ";
|
||||
}
|
||||
if ($j != 1) {
|
||||
print OUT_FILE " ";
|
||||
}
|
||||
read($fp, $byte, 1) or die "Error reading $fileName";
|
||||
my $output = sprintf("0x%02X", ord($byte));
|
||||
print OUT_FILE $output;
|
||||
|
||||
if ($i != ($fileLen - 1)) {
|
||||
print OUT_FILE ",";
|
||||
}
|
||||
|
||||
if ($j == 10) {
|
||||
$j = 0;
|
||||
print OUT_FILE "\n";
|
||||
}
|
||||
}
|
||||
|
||||
print OUT_FILE "\n";
|
||||
|
||||
close($fp);
|
||||
}
|
34
IDE/Renesas/e2studio/Projects/tools/rsa_pss_sign.sh
Executable file
34
IDE/Renesas/e2studio/Projects/tools/rsa_pss_sign.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
SIGOPT=rsa_padding_mode:pss
|
||||
SIGOPT2=rsa_pss_saltlen:-1
|
||||
|
||||
function usage() {
|
||||
cat <<_EOT_
|
||||
Usage:
|
||||
$0 <pri key> <pub key> <file name>
|
||||
|
||||
pri key : private key for sign/verify
|
||||
pub key : public key for sign/verify
|
||||
file name : file name to be signed
|
||||
|
||||
_EOT_
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ $# -ne 3 ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
# $1 private key for sign/verify
|
||||
# $2 public key for verify
|
||||
# $3 file for sign/verify
|
||||
|
||||
openssl dgst -sha256 -sign $1 -sigopt $SIGOPT -sigopt $SIGOPT2 -out $3.sign $3
|
||||
|
||||
echo verify by private key
|
||||
openssl dgst -sha256 -prverify $1 -sigopt $SIGOPT -sigopt $SIGOPT2 -signature $3.sign $3
|
||||
|
||||
echo verifiy by public key
|
||||
openssl dgst -sha256 -verify $2 -sigopt $SIGOPT -sigopt $SIGOPT2 -signature $3.sign $3
|
||||
|
@ -14,7 +14,7 @@
|
||||
</storageModule>
|
||||
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
|
||||
<option id="toolchain.id" value="Renesas_RXC"/>
|
||||
<option id="toolchain.version" value="v2.08.00"/>
|
||||
<option id="toolchain.version" value="v3.00.00"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="lib" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="Debug" id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.13311124" name="Debug" parent="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration">
|
||||
@ -33,6 +33,7 @@
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos.313687436" name="Check RTOS" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos" useByScannerDiscovery="false" value="unusedRtos" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp.963524125" name="Has DSP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp" useByScannerDiscovery="false" value="false" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily.664031971" name="Device Family" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily" useByScannerDiscovery="false" value="RX71M" valueType="string"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory.1128940076" name="Device history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory" useByScannerDiscovery="false" value="non_init;R5F571MLCxFC" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler.958103973" name="Compiler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler">
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.1276851320" name="浮動小数点演算命令を使用する" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.yes" valueType="enumerated"/>
|
||||
@ -40,11 +41,16 @@
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}/../common"/>
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}//../../../../../"/>
|
||||
<listOptionValue builtIn="false" value="${TCINSTALL}/include"/>
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}/../test/src/smc_gen/"/>
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}/../test/src/smc_gen/r_bsp"/>
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}/../test/src/smc_gen/r_config"/>
|
||||
<listOptionValue builtIn="false" value="${ProjDirPath}/../test/src/smc_gen/r_tsip_rx"/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define.687020263" name="プリプロセッサ・マクロの定義" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.1494793389" name="Cソース" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.c99" valueType="enumerated"/>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize.573554071" name="最適化レベル" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize.level2" valueType="enumerated"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType.971510512" name="Compiler Input C" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType"/>
|
||||
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType.948214383" name="Compiler Input CPP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType"/>
|
||||
</tool>
|
||||
@ -59,7 +65,7 @@
|
||||
<listOptionValue builtIn="false" value="D_2=R_2"/>
|
||||
</option>
|
||||
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection.1739258398" name="セクション" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection" useByScannerDiscovery="false" value="SU,SI,B_1,R_1,B_2,R_2,B,R/04,PResetPRG,C_1,C_2,C,C$*,D*,W*,L,PIntPRG,P/0FFC00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC" valueType="string"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList.1344120748" name="(リンク順序のリスト)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList" valueType="stringList">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList.1344120748" name="(リンク順序のリスト)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="".\src\sample3.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src\sample1.obj""/>
|
||||
<listOptionValue builtIn="false" value="".\src\sample2.obj""/>
|
||||
|
@ -69,6 +69,21 @@
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/src/wolfio.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/port/renesas_tsip_aes.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/wolfcrypt/src/port/Renesas/renesas_tsip_aes.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/port/renesas_tsip_sha.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/wolfcrypt/src/port/Renesas/renesas_tsip_sha.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/port/renesas_tsip_util.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/wolfcrypt/src/port/Renesas/renesas_tsip_util.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/aes.c</name>
|
||||
<type>1</type>
|
||||
|
145
IDE/VS-AZURE-SPHERE/README.md
Normal file
145
IDE/VS-AZURE-SPHERE/README.md
Normal file
@ -0,0 +1,145 @@
|
||||
wolfSSL for Microsoft Azure Sphere Devices
|
||||
==========================================
|
||||
|
||||
## Description
|
||||
This directory contains the Visual Studio projects targeted for Azure Sphere.
|
||||
The example projects include a client, server and wolfCrypt Library Test.
|
||||
Each of these projects relies on the wolfSSL static library project.
|
||||
Each project uses `user_settings.h` for to enable and disable features.
|
||||
|
||||
|
||||
### Set Up Steps
|
||||
0. Setup your Azure Sphere device.
|
||||
[Install Azure Sphere](https://docs.microsoft.com/en-us/azure-sphere/install/install)
|
||||
[Set up an account](https://docs.microsoft.com/en-us/azure-sphere/install/azure-directory-account)
|
||||
[Claim your device](https://docs.microsoft.com/en-us/azure-sphere/install/claim-device)
|
||||
[Configure networking](https://docs.microsoft.com/en-us/azure-sphere/install/configure-wifi)
|
||||
|
||||
1. Open the wolfssl Microsoft Visual Studio Solution
|
||||
|
||||
2. Build All the Projects
|
||||
+ Right Click: `Solution 'wolfssl' (4 of 4 projects)`
|
||||
+ Click: `Build Solution`
|
||||
|
||||
3. Connect your Azure Sphere MT3620 Development Board using USB.
|
||||
|
||||
4. Run the wolfCrypt Library Test
|
||||
+ Right Click: `wolfcrypt_test (Azure Sphere)`
|
||||
+ Click: `Debug->'Start new instance'.`
|
||||
|
||||
5. Wait for the wolfCrypt Library Test to finish.
|
||||
|
||||
6. Test the client.
|
||||
+ Run client(Azure Sphere) using: `Debug->'Start new instance'`
|
||||
|
||||
It's OK if the HTTP GET request returns an error.
|
||||
The TLS connection was successful.
|
||||
|
||||
7. Test the server.
|
||||
+ Run server(Azure Sphere) using: `Debug->'Start new instance'`
|
||||
+ Run the following wolfSSL example client command inside wolfssl directory.
|
||||
|
||||
```
|
||||
./examples/client/client -h "Server IP Address" -p 11111 -A ./certs/ca-cert.pem
|
||||
```
|
||||
|
||||
### Client
|
||||
The client project has defines in `user_settings.h` for:
|
||||
`SERVER_IP`, `CERT`, `SIZEOF_CERT`, `DEFAULT_PORT` and `msg`.
|
||||
These are set by default to connect to `www.wolfssl.com`.
|
||||
|
||||
If `CUSTOM_SERVER_CONNECTION` is defined then the client would be ready to connect
|
||||
to a example server at an IP address of `192.168.1.200`.
|
||||
The example server could be started with the following command:
|
||||
|
||||
```
|
||||
./examples/server/server -b -d -p 11111 -c ./certs/server-cert.pem -k ./certs/server-key.pem
|
||||
```
|
||||
|
||||
Server Options Explanation:
|
||||
` -b Bind to any interface instead of localhost only`
|
||||
` -c <file> Certificate file, default ./certs/server-cert.pem`
|
||||
` -d Disable client cert check`
|
||||
` -k <file> Key file, default ./certs/server-key.pem`
|
||||
` -p <num> Port to listen on, not 0, default 11111`
|
||||
` -? <num> Help, print this usage`
|
||||
|
||||
|
||||
This command assumes that you're in the base directory of 'wolfssl' and it has
|
||||
been configured and compiled on a computer with an IP address of `192.168.1.200`.
|
||||
Change `SERVER_IP` under `CUSTOM_SERVER_CONNECTION` in `user_settings.h`
|
||||
accordingly.
|
||||
|
||||
If you would like to connect to a website on the internet other then
|
||||
`www.wolfssl.com` then you would need to put it's corresponding CA certificate
|
||||
in `client.h` similarly to `wolfssl_website_root_ca`.
|
||||
|
||||
The `CERT` and `SIZEOF_CERT` array could be created using the `dertoc.pl`
|
||||
script under `wolfssl/scripts/dertoc.pl`.
|
||||
|
||||
Usage Example:
|
||||
|
||||
```
|
||||
./scripts/dertoc.pl ./certs/server-cert.der server_cert_der_2048 dertoc.c
|
||||
```
|
||||
|
||||
You would then copy the generated output from `dertoc.c` into `client.h` and set
|
||||
CERT and `SIZEOF_CERT` accordingly inside `user_settings.h`.
|
||||
The IP address of the server to connect to also needs to be added to the client's
|
||||
`app_manifest.json` under 'AllowedConnections'. There are IP addresses in the
|
||||
default `app_manifest.json` for testing purposes and can be removed if not needed.
|
||||
|
||||
|
||||
### Server
|
||||
The Server application will wait for any incoming client connections once built
|
||||
and uploaded to the MT3620 Development board.
|
||||
|
||||
The following wolfSSL example client can connect to a server on the MT3620 board:
|
||||
|
||||
```
|
||||
./examples/client/client -h "Server IP Address" -p 11111 -A ./certs/ca-cert.pem
|
||||
```
|
||||
|
||||
Client Options Explanation:
|
||||
` -A <file> Certificate Authority file, default ./certs/ca-cert.pem`
|
||||
` -h <host> Host to connect to, default 127.0.0.1`
|
||||
` -p <num> Port to listen on, not 0, default 11111`
|
||||
` -? <num> Help, print this usage`
|
||||
|
||||
|
||||
### wolfCrypt Test
|
||||
This tests the wolfCrypt Library.
|
||||
This is a good test to run if you change the options in `user_settings.h`.
|
||||
|
||||
|
||||
### Troubleshooting
|
||||
* Ensure your Azure Sphere MT3620 Development Board was set up using the
|
||||
instructions using the Azure Sphere Documentation (See Link Below).
|
||||
This includes claiming your device, updating device, setting up networking,
|
||||
and prepping for debug.
|
||||
|
||||
* The commands for the example client/server assumes it is being run from the
|
||||
base directory of wolfssl.
|
||||
|
||||
[Azure Sphere Documentation](https://docs.microsoft.com/en-us/azure-sphere/)
|
||||
|
||||
[Support Forum](https://www.wolfssl.com/forums/)
|
||||
|
||||
[Support Email](support@wolfssl.com)
|
||||
|
||||
|
||||
### Resources
|
||||
|
||||
[wolfSSL Website](https://www.wolfssl.com/)
|
||||
|
||||
[wolfSSL Wiki](https://github.com/wolfSSL/wolfssl/wiki)
|
||||
|
||||
[wolfSSL Manual](https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-toc.html)
|
||||
|
||||
[wolfSSL API Reference]
|
||||
(https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-17-wolfssl-api-reference.html)
|
||||
|
||||
[wolfCrypt API Reference]
|
||||
(https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-18-wolfcrypt-api-reference.html)
|
||||
|
||||
[TLS 1.3](https://www.wolfssl.com/docs/tls13/)
|
17
IDE/VS-AZURE-SPHERE/client/app_manifest.json
Normal file
17
IDE/VS-AZURE-SPHERE/client/app_manifest.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"SchemaVersion": 1,
|
||||
"Name": "wolfSSL_Client",
|
||||
"ComponentId": "00000000-0000-0000-0000-000000000002",
|
||||
"EntryPoint": "/bin/app",
|
||||
"CmdArgs": [],
|
||||
"Capabilities": {
|
||||
"AllowedConnections": [
|
||||
"www.wolfssl.com",
|
||||
"192.168.1.128",
|
||||
"192.168.1.150",
|
||||
"192.168.1.200",
|
||||
"192.168.1.225"
|
||||
]
|
||||
},
|
||||
"ApplicationType": "Default"
|
||||
}
|
132
IDE/VS-AZURE-SPHERE/client/client.c
Normal file
132
IDE/VS-AZURE-SPHERE/client/client.c
Normal file
@ -0,0 +1,132 @@
|
||||
/* client.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-1301, USA
|
||||
*/
|
||||
|
||||
#include "client.h"
|
||||
/* the usual suspects */
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
/* socket includes */
|
||||
#include <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/in.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* utility functions shared between client and server */
|
||||
#include <shared/util.h>
|
||||
|
||||
/* wolfSSL */
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
#include <wolfssl/certs_test.h>
|
||||
|
||||
/* Azure Sphere */
|
||||
#include <applibs/networking.h>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
bool isNetworkingReady = false;
|
||||
SOCKET_T sockfd = 0;
|
||||
char buff[256];
|
||||
size_t len;
|
||||
int ret;
|
||||
|
||||
/* declare wolfSSL objects */
|
||||
WOLFSSL_CTX* ctx = NULL;
|
||||
WOLFSSL* ssl = NULL;
|
||||
|
||||
util_PrintIfAddr();
|
||||
|
||||
/* Check if the Azure Sphere Dev Board has network connectivity. */
|
||||
if ((Networking_IsNetworkingReady(&isNetworkingReady) < 0) || !isNetworkingReady) {
|
||||
fprintf(stderr, "ERROR: network is not up.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = wolfIO_TcpConnect(&sockfd, SERVER_IP, DEFAULT_PORT, 0);
|
||||
if ((ret != 0) || ((int)sockfd < 0)) {
|
||||
fprintf(stderr, "ERROR: failed to create socket.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Initialize wolfSSL */
|
||||
wolfSSL_Init();
|
||||
|
||||
/* Create and initialize WOLFSSL_CTX */
|
||||
ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method());
|
||||
if (ctx == NULL) {
|
||||
fprintf(stderr, "ERROR: failed to create WOLFSSL_CTX\n");
|
||||
util_Cleanup(sockfd,ctx,ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Load client certificates into WOLFSSL_CTX */
|
||||
ret = wolfSSL_CTX_load_verify_buffer(ctx, CERT, SIZEOF_CERT, WOLFSSL_FILETYPE_ASN1);
|
||||
if (ret != SSL_SUCCESS) {
|
||||
fprintf(stderr, "ERROR: failed to load %s, please check the buffer.\n");
|
||||
util_Cleanup(sockfd,ctx,ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Create a WOLFSSL object */
|
||||
if ((ssl = wolfSSL_new(ctx)) == NULL) {
|
||||
fprintf(stderr, "ERROR: failed to create WOLFSSL object\n");
|
||||
util_Cleanup(sockfd,ctx,ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Attach wolfSSL to the socket */
|
||||
wolfSSL_set_fd(ssl, sockfd);
|
||||
|
||||
/* Connect to wolfSSL on the server side */
|
||||
if (wolfSSL_connect(ssl) != SSL_SUCCESS) {
|
||||
fprintf(stderr, "ERROR: failed to connect to wolfSSL\n");
|
||||
util_Cleanup(sockfd,ctx,ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Get length of message for server. */
|
||||
printf("\nMessage for server: %s\n",msg);
|
||||
len = strnlen(msg, sizeof(msg));
|
||||
|
||||
/* Send the message to the server */
|
||||
if (wolfSSL_write(ssl, msg, (int)len) != len) {
|
||||
fprintf(stderr, "ERROR: failed to write\n");
|
||||
util_Cleanup(sockfd,ctx,ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Read the server data into our buff array */
|
||||
memset(buff, 0, sizeof(buff));
|
||||
if (wolfSSL_read(ssl, buff, sizeof(buff) - 1) == -1) {
|
||||
fprintf(stderr, "ERROR: failed to read\n");
|
||||
util_Cleanup(sockfd,ctx,ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Print to stdout any data the server sends */
|
||||
printf("Server Reply: %s\n", buff);
|
||||
|
||||
/* Cleanup and return */
|
||||
util_Cleanup(sockfd,ctx,ssl);
|
||||
return 0; /* Return reporting a success */
|
||||
}
|
119
IDE/VS-AZURE-SPHERE/client/client.h
Normal file
119
IDE/VS-AZURE-SPHERE/client/client.h
Normal file
@ -0,0 +1,119 @@
|
||||
/* client.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
|
||||
*/
|
||||
|
||||
#ifndef WOLFSSL_CLIENT_H
|
||||
#define WOLFSSL_CLIENT_H
|
||||
|
||||
static const unsigned char wolfssl_website_root_ca[] =
|
||||
{
|
||||
0x30, 0x82, 0x03, 0x75, 0x30, 0x82, 0x02, 0x5D, 0xA0, 0x03,
|
||||
0x02, 0x01, 0x02, 0x02, 0x0B, 0x04, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x15, 0x4B, 0x5A, 0xC3, 0x94, 0x30, 0x0D, 0x06, 0x09,
|
||||
0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05,
|
||||
0x00, 0x30, 0x57, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55,
|
||||
0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, 0x17,
|
||||
0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x10, 0x47, 0x6C, 0x6F,
|
||||
0x62, 0x61, 0x6C, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x6E, 0x76,
|
||||
0x2D, 0x73, 0x61, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
|
||||
0x04, 0x0B, 0x13, 0x07, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43,
|
||||
0x41, 0x31, 0x1B, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03,
|
||||
0x13, 0x12, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x53, 0x69,
|
||||
0x67, 0x6E, 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43, 0x41,
|
||||
0x30, 0x1E, 0x17, 0x0D, 0x39, 0x38, 0x30, 0x39, 0x30, 0x31,
|
||||
0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32,
|
||||
0x38, 0x30, 0x31, 0x32, 0x38, 0x31, 0x32, 0x30, 0x30, 0x30,
|
||||
0x30, 0x5A, 0x30, 0x57, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03,
|
||||
0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30,
|
||||
0x17, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x10, 0x47, 0x6C,
|
||||
0x6F, 0x62, 0x61, 0x6C, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x6E,
|
||||
0x76, 0x2D, 0x73, 0x61, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03,
|
||||
0x55, 0x04, 0x0B, 0x13, 0x07, 0x52, 0x6F, 0x6F, 0x74, 0x20,
|
||||
0x43, 0x41, 0x31, 0x1B, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04,
|
||||
0x03, 0x13, 0x12, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x53,
|
||||
0x69, 0x67, 0x6E, 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43,
|
||||
0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A,
|
||||
0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00,
|
||||
0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02,
|
||||
0x82, 0x01, 0x01, 0x00, 0xDA, 0x0E, 0xE6, 0x99, 0x8D, 0xCE,
|
||||
0xA3, 0xE3, 0x4F, 0x8A, 0x7E, 0xFB, 0xF1, 0x8B, 0x83, 0x25,
|
||||
0x6B, 0xEA, 0x48, 0x1F, 0xF1, 0x2A, 0xB0, 0xB9, 0x95, 0x11,
|
||||
0x04, 0xBD, 0xF0, 0x63, 0xD1, 0xE2, 0x67, 0x66, 0xCF, 0x1C,
|
||||
0xDD, 0xCF, 0x1B, 0x48, 0x2B, 0xEE, 0x8D, 0x89, 0x8E, 0x9A,
|
||||
0xAF, 0x29, 0x80, 0x65, 0xAB, 0xE9, 0xC7, 0x2D, 0x12, 0xCB,
|
||||
0xAB, 0x1C, 0x4C, 0x70, 0x07, 0xA1, 0x3D, 0x0A, 0x30, 0xCD,
|
||||
0x15, 0x8D, 0x4F, 0xF8, 0xDD, 0xD4, 0x8C, 0x50, 0x15, 0x1C,
|
||||
0xEF, 0x50, 0xEE, 0xC4, 0x2E, 0xF7, 0xFC, 0xE9, 0x52, 0xF2,
|
||||
0x91, 0x7D, 0xE0, 0x6D, 0xD5, 0x35, 0x30, 0x8E, 0x5E, 0x43,
|
||||
0x73, 0xF2, 0x41, 0xE9, 0xD5, 0x6A, 0xE3, 0xB2, 0x89, 0x3A,
|
||||
0x56, 0x39, 0x38, 0x6F, 0x06, 0x3C, 0x88, 0x69, 0x5B, 0x2A,
|
||||
0x4D, 0xC5, 0xA7, 0x54, 0xB8, 0x6C, 0x89, 0xCC, 0x9B, 0xF9,
|
||||
0x3C, 0xCA, 0xE5, 0xFD, 0x89, 0xF5, 0x12, 0x3C, 0x92, 0x78,
|
||||
0x96, 0xD6, 0xDC, 0x74, 0x6E, 0x93, 0x44, 0x61, 0xD1, 0x8D,
|
||||
0xC7, 0x46, 0xB2, 0x75, 0x0E, 0x86, 0xE8, 0x19, 0x8A, 0xD5,
|
||||
0x6D, 0x6C, 0xD5, 0x78, 0x16, 0x95, 0xA2, 0xE9, 0xC8, 0x0A,
|
||||
0x38, 0xEB, 0xF2, 0x24, 0x13, 0x4F, 0x73, 0x54, 0x93, 0x13,
|
||||
0x85, 0x3A, 0x1B, 0xBC, 0x1E, 0x34, 0xB5, 0x8B, 0x05, 0x8C,
|
||||
0xB9, 0x77, 0x8B, 0xB1, 0xDB, 0x1F, 0x20, 0x91, 0xAB, 0x09,
|
||||
0x53, 0x6E, 0x90, 0xCE, 0x7B, 0x37, 0x74, 0xB9, 0x70, 0x47,
|
||||
0x91, 0x22, 0x51, 0x63, 0x16, 0x79, 0xAE, 0xB1, 0xAE, 0x41,
|
||||
0x26, 0x08, 0xC8, 0x19, 0x2B, 0xD1, 0x46, 0xAA, 0x48, 0xD6,
|
||||
0x64, 0x2A, 0xD7, 0x83, 0x34, 0xFF, 0x2C, 0x2A, 0xC1, 0x6C,
|
||||
0x19, 0x43, 0x4A, 0x07, 0x85, 0xE7, 0xD3, 0x7C, 0xF6, 0x21,
|
||||
0x68, 0xEF, 0xEA, 0xF2, 0x52, 0x9F, 0x7F, 0x93, 0x90, 0xCF,
|
||||
0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x42, 0x30, 0x40, 0x30,
|
||||
0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04,
|
||||
0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x0F, 0x06, 0x03, 0x55,
|
||||
0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01,
|
||||
0x01, 0xFF, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04,
|
||||
0x16, 0x04, 0x14, 0x60, 0x7B, 0x66, 0x1A, 0x45, 0x0D, 0x97,
|
||||
0xCA, 0x89, 0x50, 0x2F, 0x7D, 0x04, 0xCD, 0x34, 0xA8, 0xFF,
|
||||
0xFC, 0xFD, 0x4B, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48,
|
||||
0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82,
|
||||
0x01, 0x01, 0x00, 0xD6, 0x73, 0xE7, 0x7C, 0x4F, 0x76, 0xD0,
|
||||
0x8D, 0xBF, 0xEC, 0xBA, 0xA2, 0xBE, 0x34, 0xC5, 0x28, 0x32,
|
||||
0xB5, 0x7C, 0xFC, 0x6C, 0x9C, 0x2C, 0x2B, 0xBD, 0x09, 0x9E,
|
||||
0x53, 0xBF, 0x6B, 0x5E, 0xAA, 0x11, 0x48, 0xB6, 0xE5, 0x08,
|
||||
0xA3, 0xB3, 0xCA, 0x3D, 0x61, 0x4D, 0xD3, 0x46, 0x09, 0xB3,
|
||||
0x3E, 0xC3, 0xA0, 0xE3, 0x63, 0x55, 0x1B, 0xF2, 0xBA, 0xEF,
|
||||
0xAD, 0x39, 0xE1, 0x43, 0xB9, 0x38, 0xA3, 0xE6, 0x2F, 0x8A,
|
||||
0x26, 0x3B, 0xEF, 0xA0, 0x50, 0x56, 0xF9, 0xC6, 0x0A, 0xFD,
|
||||
0x38, 0xCD, 0xC4, 0x0B, 0x70, 0x51, 0x94, 0x97, 0x98, 0x04,
|
||||
0xDF, 0xC3, 0x5F, 0x94, 0xD5, 0x15, 0xC9, 0x14, 0x41, 0x9C,
|
||||
0xC4, 0x5D, 0x75, 0x64, 0x15, 0x0D, 0xFF, 0x55, 0x30, 0xEC,
|
||||
0x86, 0x8F, 0xFF, 0x0D, 0xEF, 0x2C, 0xB9, 0x63, 0x46, 0xF6,
|
||||
0xAA, 0xFC, 0xDF, 0xBC, 0x69, 0xFD, 0x2E, 0x12, 0x48, 0x64,
|
||||
0x9A, 0xE0, 0x95, 0xF0, 0xA6, 0xEF, 0x29, 0x8F, 0x01, 0xB1,
|
||||
0x15, 0xB5, 0x0C, 0x1D, 0xA5, 0xFE, 0x69, 0x2C, 0x69, 0x24,
|
||||
0x78, 0x1E, 0xB3, 0xA7, 0x1C, 0x71, 0x62, 0xEE, 0xCA, 0xC8,
|
||||
0x97, 0xAC, 0x17, 0x5D, 0x8A, 0xC2, 0xF8, 0x47, 0x86, 0x6E,
|
||||
0x2A, 0xC4, 0x56, 0x31, 0x95, 0xD0, 0x67, 0x89, 0x85, 0x2B,
|
||||
0xF9, 0x6C, 0xA6, 0x5D, 0x46, 0x9D, 0x0C, 0xAA, 0x82, 0xE4,
|
||||
0x99, 0x51, 0xDD, 0x70, 0xB7, 0xDB, 0x56, 0x3D, 0x61, 0xE4,
|
||||
0x6A, 0xE1, 0x5C, 0xD6, 0xF6, 0xFE, 0x3D, 0xDE, 0x41, 0xCC,
|
||||
0x07, 0xAE, 0x63, 0x52, 0xBF, 0x53, 0x53, 0xF4, 0x2B, 0xE9,
|
||||
0xC7, 0xFD, 0xB6, 0xF7, 0x82, 0x5F, 0x85, 0xD2, 0x41, 0x18,
|
||||
0xDB, 0x81, 0xB3, 0x04, 0x1C, 0xC5, 0x1F, 0xA4, 0x80, 0x6F,
|
||||
0x15, 0x20, 0xC9, 0xDE, 0x0C, 0x88, 0x0A, 0x1D, 0xD6, 0x66,
|
||||
0x55, 0xE2, 0xFC, 0x48, 0xC9, 0x29, 0x26, 0x69, 0xE0
|
||||
};
|
||||
static const int sizeof_wolfssl_website_root_ca = sizeof(wolfssl_website_root_ca);
|
||||
|
||||
#endif /* WOLFSSL_CLIENT_H */
|
84
IDE/VS-AZURE-SPHERE/client/client.vcxproj
Normal file
84
IDE/VS-AZURE-SPHERE/client/client.vcxproj
Normal file
@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{fbf6f097-b2bf-49ac-a70b-dba6036a395d}</ProjectGuid>
|
||||
<Keyword>AzureSphere</Keyword>
|
||||
<RootNamespace>client</RootNamespace>
|
||||
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
|
||||
<ApplicationType>Linux</ApplicationType>
|
||||
<ApplicationTypeRevision>1.0</ApplicationTypeRevision>
|
||||
<TargetLinuxPlatform>Generic</TargetLinuxPlatform>
|
||||
<LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
|
||||
<DebugMachineType>Device</DebugMachineType>
|
||||
<PlatformToolset>GCC_AzureSphere_1_0</PlatformToolset>
|
||||
<ProjectPublicIncludePath>$(MSBuildProjectDirectory)\Inc\Public</ProjectPublicIncludePath>
|
||||
<PublicIncludePath>$(MSBuildProjectDirectory)\Inc\Public</PublicIncludePath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<TargetSysroot>2</TargetSysroot>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<TargetSysroot>2</TargetSysroot>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="Shared" />
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<TargetExt>.out</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<TargetExt>.out</TargetExt>
|
||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalOptions>-Werror=implicit-function-declaration %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">..\..\..;../;$(ProjectDir);$(SysRootIncludePath);%(AdditionalIncludeDirectories);</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">WOLFSSL_USER_SETTINGS;_POSIX_C_SOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">..\..\..;$(ProjectDir);$(SysRootIncludePath);%(AdditionalIncludeDirectories);</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">WOLFSSL_USER_SETTINGS;_POSIX_C_SOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<LibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">applibs;pthread;gcc_s;c;wolfssl</LibraryDependencies>
|
||||
<ShowProgress Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</ShowProgress>
|
||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<CustomBuildStep>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">192.168.35.1</Command>
|
||||
</CustomBuildStep>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<LibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">applibs;pthread;gcc_s;c;wolfssl</LibraryDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="client.c" />
|
||||
<ClInclude Include="client.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app_manifest.json" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
18
IDE/VS-AZURE-SPHERE/include.am
Normal file
18
IDE/VS-AZURE-SPHERE/include.am
Normal file
@ -0,0 +1,18 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/README.md
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/user_settings.h
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/wolfssl.sln
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/wolfssl.vcxproj
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/client/app_manifest.json
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/client/client.c
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/client/client.h
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/client/client.vcxproj
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/server/app_manifest.json
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/server/server.c
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/server/server.h
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/server/server.vcxproj
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/wolfcrypt_test/app_manifest.json
|
||||
EXTRA_DIST+= IDE/VS-AZURE-SPHERE/wolfcrypt_test/wolfcrypt_test.vcxproj
|
11
IDE/VS-AZURE-SPHERE/server/app_manifest.json
Normal file
11
IDE/VS-AZURE-SPHERE/server/app_manifest.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"SchemaVersion": 1,
|
||||
"Name": "wolfSSL_Server",
|
||||
"ComponentId": "00000000-0000-0000-0000-000000000001",
|
||||
"EntryPoint": "/bin/app",
|
||||
"CmdArgs": [],
|
||||
"Capabilities": {
|
||||
"AllowedTcpServerPorts": [ 11111 ]
|
||||
},
|
||||
"ApplicationType": "Default"
|
||||
}
|
208
IDE/VS-AZURE-SPHERE/server/server.c
Normal file
208
IDE/VS-AZURE-SPHERE/server/server.c
Normal file
@ -0,0 +1,208 @@
|
||||
/* server.c
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL. (formerly known as CyaSSL)
|
||||
*
|
||||
* 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-1301, USA
|
||||
*/
|
||||
|
||||
#include "server.h"
|
||||
/* the usual suspects */
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
/* socket includes */
|
||||
#include <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/in.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* <shared/util.h> includes */
|
||||
#include <shared/util.h>
|
||||
|
||||
/* wolfSSL */
|
||||
#include <wolfssl/ssl.h>
|
||||
#include <wolfssl/certs_test.h>
|
||||
|
||||
/* Azure Sphere */
|
||||
#include <applibs/log.h>
|
||||
#include <applibs/networking.h>
|
||||
|
||||
#define BIND_PORT 11111
|
||||
#define CERT_BUF server_cert_der_2048
|
||||
#define SIZEOF_CERT_BUF sizeof_server_cert_der_2048
|
||||
#define KEY_BUF server_key_der_2048
|
||||
#define SIZEOF_KEY_BUF sizeof_server_key_der_2048
|
||||
|
||||
int main(void)
|
||||
{
|
||||
bool isNetworkingReady = false;
|
||||
int sockfd;
|
||||
int connd;
|
||||
struct sockaddr_in servAddr;
|
||||
struct sockaddr_in clientAddr;
|
||||
socklen_t size = sizeof(clientAddr);
|
||||
char buff[256];
|
||||
size_t len;
|
||||
int shutdown = 0;
|
||||
int ret;
|
||||
const char* reply = "I hear ya fa shizzle!\n";
|
||||
|
||||
/* declare wolfSSL objects */
|
||||
WOLFSSL_CTX* ctx = NULL;
|
||||
WOLFSSL* ssl = NULL;
|
||||
|
||||
util_PrintIfAddr();
|
||||
|
||||
/* Check if the Azure Sphere Dev Board has network connectivity. */
|
||||
if ((Networking_IsNetworkingReady(&isNetworkingReady) < 0) || !isNetworkingReady) {
|
||||
fprintf(stderr,"Error: Network is not up.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Initialize wolfSSL */
|
||||
wolfSSL_Init();
|
||||
|
||||
/* Create a socket that uses an internet IPv4 address,
|
||||
* Sets the socket to be stream based (TCP),
|
||||
* 0 means choose the default protocol. */
|
||||
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
|
||||
fprintf(stderr, "ERROR: failed to create the socket\n");
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Create and initialize WOLFSSL_CTX */
|
||||
if ((ctx = wolfSSL_CTX_new(wolfTLSv1_2_server_method())) == NULL) {
|
||||
fprintf(stderr, "ERROR: failed to create WOLFSSL_CTX\n");
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Load server certificates into WOLFSSL_CTX */
|
||||
if (wolfSSL_CTX_use_certificate_buffer(ctx, CERT_BUF, SIZEOF_CERT_BUF, SSL_FILETYPE_ASN1)
|
||||
!= SSL_SUCCESS) {
|
||||
fprintf(stderr, "ERROR: failed to load %s, please check the file.\n",
|
||||
CERT_BUF);
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Load server key into WOLFSSL_CTX */
|
||||
if (wolfSSL_CTX_use_PrivateKey_buffer(ctx, KEY_BUF, SIZEOF_KEY_BUF, SSL_FILETYPE_ASN1)
|
||||
!= SSL_SUCCESS) {
|
||||
fprintf(stderr, "ERROR: failed to load %s, please check the file.\n",
|
||||
KEY_BUF);
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Initialize the server address struct with zeros */
|
||||
memset(&servAddr, 0, sizeof(servAddr));
|
||||
|
||||
/* Fill in the server address */
|
||||
servAddr.sin_family = AF_INET; /* using IPv4 */
|
||||
servAddr.sin_port = htons(BIND_PORT); /* on BIND_PORT */
|
||||
servAddr.sin_addr.s_addr = INADDR_ANY; /* from anywhere */
|
||||
|
||||
/* Bind the server socket to our port */
|
||||
if (bind(sockfd, (struct sockaddr*)&servAddr, sizeof(servAddr)) == -1) {
|
||||
fprintf(stderr, "ERROR: failed to bind\n");
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Listen for a new connection, allow 5 pending connections */
|
||||
if (listen(sockfd, 5) == -1) {
|
||||
fprintf(stderr, "ERROR: failed to listen\n");
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Continue to accept clients until shutdown is issued */
|
||||
while (!shutdown) {
|
||||
printf("Waiting for a connection...\n");
|
||||
|
||||
/* Accept client connections */
|
||||
if ((connd = accept(sockfd, (struct sockaddr*)&clientAddr, &size))
|
||||
== -1) {
|
||||
fprintf(stderr, "ERROR: failed to accept the connection\n\n");
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Create a WOLFSSL object */
|
||||
if ((ssl = wolfSSL_new(ctx)) == NULL) {
|
||||
fprintf(stderr, "ERROR: failed to create WOLFSSL object\n");
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Attach wolfSSL to the socket */
|
||||
wolfSSL_set_fd(ssl, connd);
|
||||
|
||||
/* Establish TLS connection */
|
||||
ret = wolfSSL_accept(ssl);
|
||||
if (ret != SSL_SUCCESS) {
|
||||
fprintf(stderr, "wolfSSL_accept error = %d\n",
|
||||
wolfSSL_get_error(ssl, ret));
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("Client connected successfully\n");
|
||||
|
||||
/* Read the client data into our buff array */
|
||||
memset(buff, 0, sizeof(buff));
|
||||
if (wolfSSL_read(ssl, buff, sizeof(buff)-1) == -1) {
|
||||
fprintf(stderr, "ERROR: failed to read\n");
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Print to stdout any data the client sends */
|
||||
printf("Client: %s\n", buff);
|
||||
|
||||
/* Check for server shutdown command */
|
||||
if (strncmp(buff, "shutdown", 8) == 0) {
|
||||
printf("Shutdown command issued!\n");
|
||||
shutdown = 1;
|
||||
}
|
||||
|
||||
/* Write our reply into buff */
|
||||
memset(buff, 0, sizeof(buff));
|
||||
memcpy(buff, reply, strlen(reply));
|
||||
len = strnlen(buff, sizeof(buff));
|
||||
|
||||
/* Reply back to the client */
|
||||
if (wolfSSL_write(ssl, buff, (int)len) != len) {
|
||||
fprintf(stderr, "ERROR: failed to write\n");
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Cleanup after this connection */
|
||||
wolfSSL_free(ssl); /* Free the wolfSSL object */
|
||||
close(connd); /* Close the connection to the client */
|
||||
}
|
||||
|
||||
printf("Shutdown complete\n");
|
||||
|
||||
/* Cleanup and return */
|
||||
util_Cleanup(sockfd, ctx, ssl);
|
||||
return 0; /* Return reporting a success */
|
||||
}
|
27
IDE/VS-AZURE-SPHERE/server/server.h
Normal file
27
IDE/VS-AZURE-SPHERE/server/server.h
Normal file
@ -0,0 +1,27 @@
|
||||
/* server.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
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_SERVER_H
|
||||
#define WOLFSSL_SERVER_H
|
||||
|
||||
#endif /* WOLFSSL_SERVER_H */
|
||||
|
86
IDE/VS-AZURE-SPHERE/server/server.vcxproj
Normal file
86
IDE/VS-AZURE-SPHERE/server/server.vcxproj
Normal file
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F005DF72-46F4-4989-BCB4-3ACDA323D569}</ProjectGuid>
|
||||
<Keyword>AzureSphere</Keyword>
|
||||
<RootNamespace>client</RootNamespace>
|
||||
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
|
||||
<ApplicationType>Linux</ApplicationType>
|
||||
<ApplicationTypeRevision>1.0</ApplicationTypeRevision>
|
||||
<TargetLinuxPlatform>Generic</TargetLinuxPlatform>
|
||||
<LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
|
||||
<DebugMachineType>Device</DebugMachineType>
|
||||
<PlatformToolset>GCC_AzureSphere_1_0</PlatformToolset>
|
||||
<ProjectPublicIncludePath>$(MSBuildProjectDirectory)\Inc\Public</ProjectPublicIncludePath>
|
||||
<PublicIncludePath>$(MSBuildProjectDirectory)\Inc\Public</PublicIncludePath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<TargetSysroot>2</TargetSysroot>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<TargetSysroot>2</TargetSysroot>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="Shared" />
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<TargetExt>.out</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetExt>.out</TargetExt>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalOptions>-Werror=implicit-function-declaration %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">..\..\..;../;$(ProjectDir);$(SysRootIncludePath);%(AdditionalIncludeDirectories);</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">WOLFSSL_USER_SETTINGS;_POSIX_C_SOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">..\..\..;$(ProjectDir);$(SysRootIncludePath);%(AdditionalIncludeDirectories);</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">WOLFSSL_USER_SETTINGS;_POSIX_C_SOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<LibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">applibs;pthread;gcc_s;c;wolfssl</LibraryDependencies>
|
||||
<ShowProgress Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</ShowProgress>
|
||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<CustomBuildStep>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">192.168.35.1</Command>
|
||||
</CustomBuildStep>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<LibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">applibs;pthread;gcc_s;c;wolfssl</LibraryDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="server.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app_manifest.json" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="server.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
61
IDE/VS-AZURE-SPHERE/shared/util.h
Normal file
61
IDE/VS-AZURE-SPHERE/shared/util.h
Normal file
@ -0,0 +1,61 @@
|
||||
#ifndef _UTIL_H_
|
||||
#define _UTIL_H_
|
||||
|
||||
#include <stdio.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
#include <ifaddrs.h>
|
||||
#include <applibs/log.h>
|
||||
|
||||
#define _GNU_SOURCE /* defines NI_NUMERICHOST */
|
||||
#ifndef NI_MAXHOST
|
||||
#define NI_MAXHOST 256
|
||||
#endif
|
||||
|
||||
static void util_Cleanup(int sockfd, WOLFSSL_CTX* ctx, WOLFSSL* ssl)
|
||||
{
|
||||
wolfSSL_free(ssl); /* Free the wolfSSL object */
|
||||
wolfSSL_CTX_free(ctx); /* Free the wolfSSL context object */
|
||||
wolfSSL_Cleanup(); /* Cleanup the wolfSSL environment */
|
||||
close(sockfd); /* Close the connection to the server */
|
||||
}
|
||||
|
||||
/* Displays each AF_INET interface and it's IP Address
|
||||
* Return: WOLFSSL_SUCCESS if print is successful else WOLFSSL_FAILURE
|
||||
*/
|
||||
static int util_PrintIfAddr(void)
|
||||
{
|
||||
char host[NI_MAXHOST];
|
||||
struct ifaddrs* ifaddr, * nxt;
|
||||
int family, info, n;
|
||||
|
||||
/* Get a linked list of 'struct ifaddrs*' */
|
||||
if (getifaddrs(&ifaddr) != 0) {
|
||||
fprintf(stderr, "ERROR: Getting network interface and IP address");
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
printf("\nInterface IP Address\n");
|
||||
/* Traverse ifaddr linked list using nxt */
|
||||
for (nxt = ifaddr; nxt != NULL; nxt = nxt->ifa_next) {
|
||||
if (nxt->ifa_addr == NULL)
|
||||
continue;
|
||||
family = nxt->ifa_addr->sa_family;
|
||||
/* Display the address of each AF_INET* interface */
|
||||
if (family == AF_INET) {
|
||||
info = getnameinfo(nxt->ifa_addr, sizeof(struct sockaddr_in),
|
||||
host, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);
|
||||
if (info != 0) {
|
||||
fprintf(stderr, "Failed to getnameinfo");
|
||||
freeifaddrs(ifaddr);
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
/* Determine amount of space, n, to justify IP Address */
|
||||
n = (int)strlen("Interface ") - (int)strlen(nxt->ifa_name);
|
||||
n = (n > 0) ? n : 1; /* Set space to 1 if n is negative */
|
||||
printf("%s %*c%s>\n", nxt->ifa_name, n, '<', host);
|
||||
}
|
||||
}
|
||||
printf("\n");
|
||||
freeifaddrs(ifaddr);
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
#endif
|
70
IDE/VS-AZURE-SPHERE/user_settings.h
Normal file
70
IDE/VS-AZURE-SPHERE/user_settings.h
Normal file
@ -0,0 +1,70 @@
|
||||
#ifndef _USER_SETTINGS_H_
|
||||
#define _USER_SETTINGS_H_
|
||||
|
||||
#define WOLFSSL_AZSPHERE
|
||||
/* Client connects to the server with these details. */
|
||||
#ifdef CUSTOM_SERVER_CONNECTION
|
||||
#ifndef SERVER_IP
|
||||
#define SERVER_IP "192.168.1.200" /* Local Test Server IP */
|
||||
#endif
|
||||
#ifndef DEFAULT_PORT
|
||||
#define DEFAULT_PORT 11111
|
||||
#endif
|
||||
#define CERT ca_cert_der_2048
|
||||
#define SIZEOF_CERT sizeof_ca_cert_der_2048
|
||||
static const char msg[] = "Are you listening wolfSSL Server?";
|
||||
#else
|
||||
#ifndef SERVER_IP
|
||||
#define SERVER_IP "www.wolfssl.com"
|
||||
#endif
|
||||
#ifndef DEFAULT_PORT
|
||||
#define DEFAULT_PORT 443
|
||||
#endif
|
||||
#define CERT wolfssl_website_root_ca
|
||||
#define SIZEOF_CERT sizeof_wolfssl_website_root_ca
|
||||
static const char msg[] = "GET /index.html HTTP/1.1\r\n\r\n";
|
||||
#endif
|
||||
|
||||
/* Math: Normal (!USE_FAST_MATH) */
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define WC_RSA_BLINDING
|
||||
#define ECC_TIMING_RESISTANT
|
||||
|
||||
/* Enable options */
|
||||
#define HAVE_CHACHA
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ECC
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#define HAVE_TRUNCATED_HMAC
|
||||
#define HAVE_EXTENDED_MASTER
|
||||
#define HAVE_ALPN
|
||||
#define HAVE_SNI
|
||||
#define HAVE_OCSP
|
||||
#define HAVE_AESGCM
|
||||
|
||||
/* Disable options */
|
||||
#define NO_PWDBASED
|
||||
#define NO_DSA
|
||||
#define NO_DES3
|
||||
#define NO_RABBIT
|
||||
#define NO_RC4
|
||||
#define NO_MD4
|
||||
|
||||
/* Benchmark / Testing */
|
||||
#define BENCH_EMBEDDED
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#define USE_CERT_BUFFERS_256
|
||||
|
||||
/* OS */
|
||||
#define SINGLE_THREADED
|
||||
|
||||
/* Filesystem */
|
||||
#define NO_FILESYSTEM
|
||||
|
||||
/* Debug */
|
||||
#define printf Log_Debug
|
||||
#define WOLFIO_DEBUG
|
||||
|
||||
#endif /* _USER_SETTINGS_H_ */
|
10
IDE/VS-AZURE-SPHERE/wolfcrypt_test/app_manifest.json
Normal file
10
IDE/VS-AZURE-SPHERE/wolfcrypt_test/app_manifest.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"SchemaVersion": 1,
|
||||
"Name": "wolfCrypt_Test",
|
||||
"ComponentId": "00000000-0000-0000-0000-000000000003",
|
||||
"EntryPoint": "/bin/app",
|
||||
"CmdArgs": [],
|
||||
"Capabilities": {
|
||||
},
|
||||
"ApplicationType": "Default"
|
||||
}
|
91
IDE/VS-AZURE-SPHERE/wolfcrypt_test/wolfcrypt_test.vcxproj
Normal file
91
IDE/VS-AZURE-SPHERE/wolfcrypt_test/wolfcrypt_test.vcxproj
Normal file
@ -0,0 +1,91 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{CD96C02B-1FC9-424E-88BE-816BE143A1C3}</ProjectGuid>
|
||||
<Keyword>AzureSphere</Keyword>
|
||||
<RootNamespace>echoclient</RootNamespace>
|
||||
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
|
||||
<ApplicationType>Linux</ApplicationType>
|
||||
<ApplicationTypeRevision>1.0</ApplicationTypeRevision>
|
||||
<TargetLinuxPlatform>Generic</TargetLinuxPlatform>
|
||||
<LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
|
||||
<DebugMachineType>Device</DebugMachineType>
|
||||
<PlatformToolset>GCC_AzureSphere_1_0</PlatformToolset>
|
||||
<ProjectPublicIncludePath>$(MSBuildProjectDirectory)\Inc\Public</ProjectPublicIncludePath>
|
||||
<PublicIncludePath>$(MSBuildProjectDirectory)\Inc\Public</PublicIncludePath>
|
||||
<ProjectName>wolfcrypt_test</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<TargetSysroot>2</TargetSysroot>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<TargetSysroot>2</TargetSysroot>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="Shared" />
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<TargetExt>.out</TargetExt>
|
||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<IncludePath>$(SysRootIncludePath);$(IncludePath);</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetExt>.out</TargetExt>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalOptions>-Werror=implicit-function-declaration %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">..\..\..;../;$(ProjectDir);$(SysRootIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">WOLFSSL_USER_SETTINGS;_POSIX_C_SOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<CAdditionalWarning Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">strict-prototypes;%(CAdditionalWarning);deprecated-declarations</CAdditionalWarning>
|
||||
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">TurnOffAllWarnings</WarningLevel>
|
||||
<Verbose Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</Verbose>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">..\..\..;$(ProjectDir);$(SysRootIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">WOLFSSL_USER_SETTINGS;_POSIX_C_SOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">TurnOffAllWarnings</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<LibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">applibs;pthread;gcc_s;c;wolfssl</LibraryDependencies>
|
||||
<SharedLibrarySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">%(SharedLibrarySearchPath)</SharedLibrarySearchPath>
|
||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ShowProgress Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</ShowProgress>
|
||||
</Link>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<LibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">applibs;pthread;gcc_s;c;wolfssl</LibraryDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\wolfcrypt\test\test.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\wolfcrypt\test\test.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\certs\ecc-key.der" />
|
||||
<None Include="app_manifest.json" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
52
IDE/VS-AZURE-SPHERE/wolfssl.sln
Normal file
52
IDE/VS-AZURE-SPHERE/wolfssl.sln
Normal file
@ -0,0 +1,52 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29201.188
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfssl", "wolfssl.vcxproj", "{EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfcrypt_test", "wolfcrypt_test\wolfcrypt_test.vcxproj", "{CD96C02B-1FC9-424E-88BE-816BE143A1C3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6} = {EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "client", "client\client.vcxproj", "{FBF6F097-B2BF-49AC-A70B-DBA6036A395D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6} = {EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server", "server\server.vcxproj", "{F005DF72-46F4-4989-BCB4-3ACDA323D569}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6} = {EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|ARM = Debug|ARM
|
||||
Release|ARM = Release|ARM
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{EAED6D0C-D9C8-4901-B7D8-F8610AFCEAE6}.Release|ARM.Build.0 = Release|ARM
|
||||
{CD96C02B-1FC9-424E-88BE-816BE143A1C3}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{CD96C02B-1FC9-424E-88BE-816BE143A1C3}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{CD96C02B-1FC9-424E-88BE-816BE143A1C3}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{CD96C02B-1FC9-424E-88BE-816BE143A1C3}.Release|ARM.Build.0 = Release|ARM
|
||||
{FBF6F097-B2BF-49AC-A70B-DBA6036A395D}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{FBF6F097-B2BF-49AC-A70B-DBA6036A395D}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{FBF6F097-B2BF-49AC-A70B-DBA6036A395D}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{FBF6F097-B2BF-49AC-A70B-DBA6036A395D}.Release|ARM.Build.0 = Release|ARM
|
||||
{F005DF72-46F4-4989-BCB4-3ACDA323D569}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{F005DF72-46F4-4989-BCB4-3ACDA323D569}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{F005DF72-46F4-4989-BCB4-3ACDA323D569}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{F005DF72-46F4-4989-BCB4-3ACDA323D569}.Release|ARM.Build.0 = Release|ARM
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {13BC142A-0A4E-42D5-BB84-347B5D44153E}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
135
IDE/VS-AZURE-SPHERE/wolfssl.vcxproj
Normal file
135
IDE/VS-AZURE-SPHERE/wolfssl.vcxproj
Normal file
@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\bio.c" />
|
||||
<ClCompile Include="..\..\src\crl.c" />
|
||||
<ClCompile Include="..\..\src\internal.c" />
|
||||
<ClCompile Include="..\..\src\keys.c" />
|
||||
<ClCompile Include="..\..\src\ocsp.c" />
|
||||
<ClCompile Include="..\..\src\sniffer.c" />
|
||||
<ClCompile Include="..\..\src\ssl.c" />
|
||||
<ClCompile Include="..\..\src\tls.c" />
|
||||
<ClCompile Include="..\..\src\tls13.c" />
|
||||
<ClCompile Include="..\..\src\wolfio.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\aes.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\arc4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\asn.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\blake2b.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\camellia.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha20_poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\coding.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\curve25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\des3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dh.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ecc.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ed25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\error.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\evp.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hash.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hc128.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\idea.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\integer.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\logging.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md2.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md5.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\memory.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs7.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\random.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ripemd.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\rsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha256.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha512.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\srp.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\tfm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_pkcs11.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_port.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="user_settings.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{eaed6d0c-d9c8-4901-b7d8-f8610afceae6}</ProjectGuid>
|
||||
<Keyword>AzureSphere</Keyword>
|
||||
<RootNamespace>wolfssl</RootNamespace>
|
||||
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
|
||||
<ApplicationType>Linux</ApplicationType>
|
||||
<ApplicationTypeRevision>1.0</ApplicationTypeRevision>
|
||||
<TargetLinuxPlatform>Generic</TargetLinuxPlatform>
|
||||
<LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
|
||||
<DebugMachineType>Device</DebugMachineType>
|
||||
<PlatformToolset>GCC_AzureSphere_1_0</PlatformToolset>
|
||||
<ProjectPublicIncludePath>$(MSBuildProjectDirectory)\Inc\Public</ProjectPublicIncludePath>
|
||||
<PublicIncludePath>$(MSBuildProjectDirectory)\Inc\Public</PublicIncludePath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<TargetSysroot>2</TargetSysroot>
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<TargetSysroot>2</TargetSysroot>
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="Shared" />
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetExt>.a</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalOptions>-Werror=implicit-function-declaration %(AdditionalOptions)</AdditionalOptions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">NO_MAIN_DRIVER;WOLFSSL_USER_SETTINGS;WOLFSSL_LIB;_POSIX_C_SOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">..\..;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CAdditionalWarning Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">strict-prototypes;%(CAdditionalWarning);deprecated-declarations</CAdditionalWarning>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">WOLFSSL_USER_SETTINGS;WOLFSSL_LIB;_POSIX_C_SOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">..\..;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">TurnOffAllWarnings</WarningLevel>
|
||||
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">TurnOffAllWarnings</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<LibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">applibs;pthread;gcc_s;c</LibraryDependencies>
|
||||
</Link>
|
||||
<Lib>
|
||||
<Verbose Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</Verbose>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
@ -47,6 +47,22 @@
|
||||
#define HAVE_ECC
|
||||
#define ECC_SHAMIR
|
||||
#define ECC_TIMING_RESISTANT
|
||||
|
||||
/* Optional Performance Speedups */
|
||||
#if 0
|
||||
/* AESNI on x64 */
|
||||
#ifdef _WIN64
|
||||
#define HAVE_INTEL_RDSEED
|
||||
#define WOLFSSL_AESNI
|
||||
#endif
|
||||
|
||||
/* Single Precision Support for RSA/DH 1024/2048/3072 and ECC P-256 */
|
||||
#define WOLFSSL_SP
|
||||
#define WOLFSSL_HAVE_SP_ECC
|
||||
#define WOLFSSL_HAVE_SP_DH
|
||||
#define WOLFSSL_HAVE_SP_RSA
|
||||
#endif
|
||||
|
||||
#else
|
||||
/* The servers and clients */
|
||||
#define OPENSSL_EXTRA
|
||||
|
@ -14,13 +14,18 @@ include IDE/ARDUINO/include.am
|
||||
include IDE/INTIME-RTOS/include.am
|
||||
include IDE/OPENSTM32/include.am
|
||||
include IDE/VS-ARM/include.am
|
||||
include IDE/VS-AZURE-SPHERE/include.am
|
||||
include IDE/GCC-ARM/include.am
|
||||
include IDE/CSBENCH/include.am
|
||||
include IDE/ECLIPSE/DEOS/include.am
|
||||
include IDE/ECLIPSE/MICRIUM/include.am
|
||||
include IDE/ECLIPSE/SIFIVE/include.am
|
||||
include IDE/mynewt/include.am
|
||||
include IDE/Renesas/cs+/Projects/include.am
|
||||
include IDE/Renesas/e2studio/Projects/include.am
|
||||
include IDE/WICED-STUDIO/include.am
|
||||
include IDE/CRYPTOCELL/include.am
|
||||
include IDE/M68K/include.am
|
||||
include IDE/RISCV/include.am
|
||||
|
||||
EXTRA_DIST+= IDE/IAR-EWARM IDE/MDK-ARM IDE/MDK5-ARM IDE/MYSQL IDE/LPCXPRESSO IDE/HEXIWEAR IDE/Espressif IDE/zephyr
|
||||
|
@ -134,6 +134,7 @@ EXTRA_DIST+= wolfssl-ntru.sln
|
||||
EXTRA_DIST+= wolfssl.sln
|
||||
EXTRA_DIST+= wolfssl64.sln
|
||||
EXTRA_DIST+= valgrind-error.sh
|
||||
EXTRA_DIST+= fips-hash.sh
|
||||
EXTRA_DIST+= gencertbuf.pl
|
||||
EXTRA_DIST+= README.md
|
||||
EXTRA_DIST+= README
|
||||
@ -141,8 +142,8 @@ EXTRA_DIST+= ChangeLog.md
|
||||
EXTRA_DIST+= LICENSING
|
||||
EXTRA_DIST+= INSTALL
|
||||
EXTRA_DIST+= IPP
|
||||
EXTRA_DIST+= .cproject
|
||||
EXTRA_DIST+= .project
|
||||
EXTRA_DIST+= LPCExpresso.cproject
|
||||
EXTRA_DIST+= LPCExpresso.project
|
||||
EXTRA_DIST+= resource.h wolfssl.rc
|
||||
|
||||
include wrapper/include.am
|
||||
|
140
README
140
README
@ -73,62 +73,98 @@ should be used for the enum name.
|
||||
*** end Notes ***
|
||||
|
||||
|
||||
********* wolfSSL Release 4.0.0 (03/20/2019)
|
||||
********* wolfSSL Release 4.2.0 (10/22/2019)
|
||||
|
||||
Release 4.0.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
If you have questions about this release, then feel free to contact us on our info@ address.
|
||||
|
||||
* 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)
|
||||
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
|
||||
|
||||
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)
|
||||
|
||||
|
||||
*** Resources ***
|
||||
|
139
README.md
139
README.md
@ -73,62 +73,97 @@ should be used for the enum name.
|
||||
*** end Notes ***
|
||||
|
||||
|
||||
********* wolfSSL Release 4.0.0 (03/20/2019)
|
||||
# wolfSSL Release 4.2.0 (10/22/2019)
|
||||
|
||||
Release 4.0.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
If you have questions about this release, then feel free to contact us on our info@ address.
|
||||
|
||||
* 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)
|
||||
Release 4.2.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
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)
|
||||
##### 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
|
||||
|
||||
|
||||
|
||||
*** Resources ***
|
||||
|
@ -6,6 +6,7 @@ pre-commit.sh - our pre commit hook, saves current state before running commit
|
||||
commit-tests.sh - our commit tests, must pass before a commit is accepted, use
|
||||
-n (--no-verify) to disable
|
||||
|
||||
fips-hash.sh - updates the verifyCore hash in fips_test.c
|
||||
|
||||
fips-check.sh - checks if current wolfSSL version works against FIPS wolfCrypt
|
||||
comment out last line to leave working directory
|
||||
|
61
autogen.sh
61
autogen.sh
@ -12,38 +12,43 @@ if test -d .git; then
|
||||
ln -s -f ../../pre-push.sh .git/hooks/pre-push
|
||||
fi
|
||||
|
||||
# touch options.h (make sure it exists)
|
||||
touch ./wolfssl/options.h
|
||||
|
||||
# touch fips files for non fips distribution
|
||||
touch ./ctaocrypt/src/fips.c
|
||||
touch ./ctaocrypt/src/fips_test.c
|
||||
touch ./wolfcrypt/src/fips.c
|
||||
touch ./wolfcrypt/src/fips_test.c
|
||||
touch ./wolfcrypt/src/wolfcrypt_first.c
|
||||
touch ./wolfcrypt/src/wolfcrypt_last.c
|
||||
touch ./wolfssl/wolfcrypt/fips.h
|
||||
|
||||
# touch CAVP selftest files for non-selftest distribution
|
||||
touch ./wolfcrypt/src/selftest.c
|
||||
|
||||
# touch async crypt files
|
||||
touch ./wolfcrypt/src/async.c
|
||||
touch ./wolfssl/wolfcrypt/async.h
|
||||
|
||||
# touch async port files
|
||||
touch ./wolfcrypt/src/port/intel/quickassist.c
|
||||
touch ./wolfcrypt/src/port/intel/quickassist_mem.c
|
||||
touch ./wolfcrypt/src/port/cavium/cavium_nitrox.c
|
||||
if [ ! -d ./wolfssl/wolfcrypt/port/intel ]; then
|
||||
mkdir ./wolfssl/wolfcrypt/port/intel
|
||||
fi
|
||||
touch ./wolfssl/wolfcrypt/port/intel/quickassist.h
|
||||
touch ./wolfssl/wolfcrypt/port/intel/quickassist_mem.h
|
||||
if [ ! -d ./wolfssl/wolfcrypt/port/cavium ]; then
|
||||
mkdir ./wolfssl/wolfcrypt/port/cavium
|
||||
fi
|
||||
touch ./wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h
|
||||
|
||||
# If this is a source checkout then call autoreconf with error as well
|
||||
if test -e .git; then
|
||||
WARNINGS="all,error"
|
||||
# touch fips files for non fips distribution
|
||||
touch ./ctaocrypt/src/fips.c
|
||||
touch ./ctaocrypt/src/fips_test.c
|
||||
touch ./wolfcrypt/src/fips.c
|
||||
touch ./wolfcrypt/src/fips_test.c
|
||||
touch ./wolfcrypt/src/wolfcrypt_first.c
|
||||
touch ./wolfcrypt/src/wolfcrypt_last.c
|
||||
touch ./wolfssl/wolfcrypt/fips.h
|
||||
|
||||
# touch CAVP selftest files for non-selftest distribution
|
||||
touch ./wolfcrypt/src/selftest.c
|
||||
|
||||
# touch async crypt files
|
||||
touch ./wolfcrypt/src/async.c
|
||||
touch ./wolfssl/wolfcrypt/async.h
|
||||
|
||||
# touch async port files
|
||||
touch ./wolfcrypt/src/port/intel/quickassist.c
|
||||
touch ./wolfcrypt/src/port/intel/quickassist_mem.c
|
||||
touch ./wolfcrypt/src/port/cavium/cavium_nitrox.c
|
||||
if [ ! -d ./wolfssl/wolfcrypt/port/intel ]; then
|
||||
mkdir ./wolfssl/wolfcrypt/port/intel
|
||||
fi
|
||||
touch ./wolfssl/wolfcrypt/port/intel/quickassist.h
|
||||
touch ./wolfssl/wolfcrypt/port/intel/quickassist_mem.h
|
||||
if [ ! -d ./wolfssl/wolfcrypt/port/cavium ]; then
|
||||
mkdir ./wolfssl/wolfcrypt/port/cavium
|
||||
fi
|
||||
touch ./wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h
|
||||
else
|
||||
WARNINGS="all"
|
||||
fi
|
||||
|
BIN
certs/ecc-privkeyPkcs8.der
Normal file
BIN
certs/ecc-privkeyPkcs8.der
Normal file
Binary file not shown.
@ -3,6 +3,7 @@
|
||||
#
|
||||
|
||||
EXTRA_DIST += \
|
||||
certs/ca-cert-chain.der \
|
||||
certs/ca-cert.pem \
|
||||
certs/ca-key.pem \
|
||||
certs/client-cert.pem \
|
||||
@ -12,6 +13,7 @@ EXTRA_DIST += \
|
||||
certs/client-relative-uri.pem \
|
||||
certs/ecc-key.pem \
|
||||
certs/ecc-privkey.pem \
|
||||
certs/ecc-privkeyPkcs8.der \
|
||||
certs/ecc-privkeyPkcs8.pem \
|
||||
certs/ecc-keyPkcs8Enc.pem \
|
||||
certs/ecc-keyPkcs8Enc.der \
|
||||
|
@ -125,6 +125,13 @@ subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true
|
||||
|
||||
#wolfssl extensions for intermediate CAs
|
||||
[wolfssl_opts_ICA]
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# CA with pathlen 0
|
||||
[ pathlen_0 ]
|
||||
subjectKeyIdentifier=hash
|
||||
@ -146,6 +153,13 @@ authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true,pathlen:127
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# CA with pathlen 100
|
||||
[ pathlen_100 ]
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true,pathlen:100
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# CA with pathlen 128
|
||||
[ pathlen_128 ]
|
||||
subjectKeyIdentifier=hash
|
||||
@ -153,6 +167,41 @@ authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true,pathlen:128
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# CA with pathlen 5
|
||||
[ pathlen_5 ]
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true,pathlen:5
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# CA with pathlen 10
|
||||
[ pathlen_10 ]
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true,pathlen:10
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# CA with pathlen 20
|
||||
[ pathlen_20 ]
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true,pathlen:20
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# CA with pathlen 99
|
||||
[ pathlen_99 ]
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true,pathlen:99
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# CA with pathlen 2
|
||||
[ pathlen_2 ]
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer:always
|
||||
basicConstraints=CA:true,pathlen:2
|
||||
keyUsage=keyCertSign, cRLSign
|
||||
|
||||
# test pathlen server cert
|
||||
[ test_pathlen ]
|
||||
subjectKeyIdentifier=hash
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user