Compare commits
671 Commits
v3.13.0-st
...
v3.14.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
465f1d491f | ||
|
|
250cd3b7eb | ||
|
|
3118c8826b | ||
|
|
f70351242b | ||
|
|
4d1986fc21 | ||
|
|
717ba83deb | ||
|
|
262aa7c9a4 | ||
|
|
afe300acc0 | ||
|
|
8d750a22b1 | ||
|
|
1de291be8d | ||
|
|
c4dfa41088 | ||
|
|
15805d626d | ||
|
|
b297d9dce0 | ||
|
|
00203d66d5 | ||
|
|
8fdb99443a | ||
|
|
72f390a102 | ||
|
|
3b4d1bc796 | ||
|
|
0ab4166a80 | ||
|
|
1f9583c59c | ||
|
|
200077c62c | ||
|
|
e0afec0600 | ||
|
|
e960e0544a | ||
|
|
2a0ef55a66 | ||
|
|
74475a26ba | ||
|
|
0535a8a68a | ||
|
|
0ac833790d | ||
|
|
6f95677bb8 | ||
|
|
9e6b9a3793 | ||
|
|
d6ffa0dd8e | ||
|
|
d35a3f1e69 | ||
|
|
8edbca1b21 | ||
|
|
612a80609a | ||
|
|
799a6b6d2d | ||
|
|
a9c6385fd1 | ||
|
|
a4000ba196 | ||
|
|
91a59eb625 | ||
|
|
35f8460e8a | ||
|
|
cd940ccb5c | ||
|
|
71ba87bb4d | ||
|
|
89182f5ca9 | ||
|
|
602874cff4 | ||
|
|
a7fe5e3502 | ||
|
|
3f80006b25 | ||
|
|
fcae6d46be | ||
|
|
5a1bdff0bd | ||
|
|
5699afe63d | ||
|
|
5174ad77f2 | ||
|
|
b879d138af | ||
|
|
57e9b3c994 | ||
|
|
d75b3f99ac | ||
|
|
317c890961 | ||
|
|
dee74e98dd | ||
|
|
e95fa69a9b | ||
|
|
f223f8fdfd | ||
|
|
a82dc1ad22 | ||
|
|
48cd2806af | ||
|
|
2c12b0d678 | ||
|
|
922d65d97c | ||
|
|
ae23f777d6 | ||
|
|
53c0bf6a20 | ||
|
|
e698084eac | ||
|
|
edfe16ef8c | ||
|
|
da76ee0877 | ||
|
|
223903717a | ||
|
|
f6869dfe09 | ||
|
|
f6d770b5bd | ||
|
|
223facc46a | ||
|
|
ae21c03d69 | ||
|
|
e80e82a89b | ||
|
|
e7b0fefd7a | ||
|
|
d46a2b449d | ||
|
|
df1c73c8e5 | ||
|
|
db18e49920 | ||
|
|
2a368abd20 | ||
|
|
b25ebf64b9 | ||
|
|
ecb2463bbe | ||
|
|
7b1f6967c8 | ||
|
|
ba40a71a3c | ||
|
|
59c8d3cdf7 | ||
|
|
1b2e43478d | ||
|
|
d035c1dd81 | ||
|
|
b6aae0c2d1 | ||
|
|
02970c9a11 | ||
|
|
25e7dbd17a | ||
|
|
5cc046eb6d | ||
|
|
06163f2bbb | ||
|
|
91141e43c9 | ||
|
|
00b6419964 | ||
|
|
306600cba6 | ||
|
|
e6c95a0854 | ||
|
|
5ef4296b3d | ||
|
|
e4f40fb6c0 | ||
|
|
f7d70e4650 | ||
|
|
442430d39e | ||
|
|
f58619bb9f | ||
|
|
68b8557878 | ||
|
|
512a0be75e | ||
|
|
b527f6fb81 | ||
|
|
73dbc8f6e7 | ||
|
|
a49553df6a | ||
|
|
942f39de3b | ||
|
|
9391c608cc | ||
|
|
f2cbab95b0 | ||
|
|
1c2506f94c | ||
|
|
9b90cdc919 | ||
|
|
22e55e72c1 | ||
|
|
be8cfcf587 | ||
|
|
9757effdc1 | ||
|
|
79f13478df | ||
|
|
453aa16e8d | ||
|
|
ad53037852 | ||
|
|
30e8429a3f | ||
|
|
89390180a0 | ||
|
|
6500c40015 | ||
|
|
fcb82d561e | ||
|
|
de4893486e | ||
|
|
63802849a1 | ||
|
|
41ae47fa3c | ||
|
|
dda7dbd7fd | ||
|
|
4154492d4b | ||
|
|
06abc12d40 | ||
|
|
5c07aadc41 | ||
|
|
20e7d2d426 | ||
|
|
6bf5f06397 | ||
|
|
7160384a19 | ||
|
|
274110a10c | ||
|
|
da4024b46a | ||
|
|
76b0464a3b | ||
|
|
312d1a2aaf | ||
|
|
fd7ffc992f | ||
|
|
08e199d78a | ||
|
|
7374e2e751 | ||
|
|
dc4edd0cd9 | ||
|
|
d1f19e8ecc | ||
|
|
7d4c693d7e | ||
|
|
3dfc2d87f3 | ||
|
|
6dad94c0fa | ||
|
|
d09f26a69f | ||
|
|
7a2aa6bc13 | ||
|
|
d34309b141 | ||
|
|
3586ae04dc | ||
|
|
a275022dbe | ||
|
|
33b699f81a | ||
|
|
e4df21df94 | ||
|
|
772651c17a | ||
|
|
4614bd4e56 | ||
|
|
94b7ab92f3 | ||
|
|
801ce67fc9 | ||
|
|
2a15b3912b | ||
|
|
8006b68cac | ||
|
|
c9525d9c1d | ||
|
|
ae2306ebcf | ||
|
|
e187ce42da | ||
|
|
16a4aef18e | ||
|
|
02753e53a5 | ||
|
|
7143b09786 | ||
|
|
c2f660c0fc | ||
|
|
08696449f6 | ||
|
|
44079e4bb8 | ||
|
|
b6f96d68be | ||
|
|
a2d96bad49 | ||
|
|
165059226e | ||
|
|
f569645212 | ||
|
|
a651b08afa | ||
|
|
223edab6d9 | ||
|
|
62c2145e74 | ||
|
|
ae5dac8994 | ||
|
|
488a795747 | ||
|
|
74ebf510a3 | ||
|
|
cbd7612324 | ||
|
|
d8eff923f1 | ||
|
|
8c8ed06202 | ||
|
|
32547e280a | ||
|
|
8285648e46 | ||
|
|
ad1fc26d4e | ||
|
|
1b98ccbac8 | ||
|
|
9ff97997a6 | ||
|
|
a7a8ce8721 | ||
|
|
641af487ea | ||
|
|
c1b1fbaf7e | ||
|
|
0853fcb202 | ||
|
|
9a4fe0fe4e | ||
|
|
2e15842ef2 | ||
|
|
09f1247007 | ||
|
|
b18fdea2ce | ||
|
|
4b5524b39a | ||
|
|
8b5864c475 | ||
|
|
4d04f0951c | ||
|
|
9bb29c46e3 | ||
|
|
6f1e5383da | ||
|
|
e48eb1ded8 | ||
|
|
c09e55c749 | ||
|
|
95ed1a88ed | ||
|
|
e254f25baf | ||
|
|
44be47a83b | ||
|
|
a27d2448e2 | ||
|
|
d827e93af9 | ||
|
|
87179837e7 | ||
|
|
fa676d96cf | ||
|
|
35c993e55d | ||
|
|
0da8694ff3 | ||
|
|
9a0c822582 | ||
|
|
e8a5af2651 | ||
|
|
6907241180 | ||
|
|
fab99f9f44 | ||
|
|
17e88b47f6 | ||
|
|
a3a4f2d59c | ||
|
|
297fb1a447 | ||
|
|
62b8c0c3fd | ||
|
|
fbdcd3c67f | ||
|
|
c2a0de93b8 | ||
|
|
266b6fe7a7 | ||
|
|
4a6bb20ba6 | ||
|
|
d78e45dbb6 | ||
|
|
d9002bb072 | ||
|
|
f4ad808d12 | ||
|
|
3e05118995 | ||
|
|
e1c246f918 | ||
|
|
69db17fcda | ||
|
|
012fb31f00 | ||
|
|
7769ba83ad | ||
|
|
47aa4bbe2f | ||
|
|
61da8ec1dc | ||
|
|
a1a1ca9991 | ||
|
|
9afd26e853 | ||
|
|
b3b3a28616 | ||
|
|
172989c3c4 | ||
|
|
82850422fc | ||
|
|
0be1c10fcd | ||
|
|
4803b3316e | ||
|
|
81b64742f3 | ||
|
|
1ca56f97a4 | ||
|
|
a196fac0c2 | ||
|
|
0765aa0f20 | ||
|
|
7ad0ea808c | ||
|
|
02ef52c3cd | ||
|
|
d63373066b | ||
|
|
c66ebb6748 | ||
|
|
19ce41c3cc | ||
|
|
f5c33a9362 | ||
|
|
841e75afcf | ||
|
|
a6bab49f8a | ||
|
|
15486ae379 | ||
|
|
a4a5f4f27a | ||
|
|
640015ed5f | ||
|
|
5b083497da | ||
|
|
0101440cc8 | ||
|
|
1af85cf9c4 | ||
|
|
7facff2fd2 | ||
|
|
229d98e1f8 | ||
|
|
03fe54dcc4 | ||
|
|
3d3b9f69a6 | ||
|
|
e82e3d3d6e | ||
|
|
9d7374348b | ||
|
|
580a55ce49 | ||
|
|
90a3daa887 | ||
|
|
ca5b1dbbcb | ||
|
|
d179e442b4 | ||
|
|
058c2a7a25 | ||
|
|
4d75f337bb | ||
|
|
776e222143 | ||
|
|
138bc3e6cc | ||
|
|
11ea2689d8 | ||
|
|
e476cb2958 | ||
|
|
4e10173eed | ||
|
|
79f4b963cd | ||
|
|
6e6085501d | ||
|
|
72b8b71082 | ||
|
|
162326dfcb | ||
|
|
4d1ebc0827 | ||
|
|
1428934ad5 | ||
|
|
f06abdb3ae | ||
|
|
085d3dae14 | ||
|
|
9045a2562a | ||
|
|
8d27a2720c | ||
|
|
0059266b21 | ||
|
|
d5c1cf4fc7 | ||
|
|
2efe7f6d96 | ||
|
|
213a2d0a7d | ||
|
|
be98e3e7f3 | ||
|
|
025ba1445e | ||
|
|
8a0bbb0faf | ||
|
|
5d52466d6f | ||
|
|
f61e56e5b6 | ||
|
|
9654f19075 | ||
|
|
584520c9b4 | ||
|
|
377f5c304c | ||
|
|
f2079ca792 | ||
|
|
2a308bdda9 | ||
|
|
a0f5126076 | ||
|
|
db970b685a | ||
|
|
98f85c9235 | ||
|
|
f79a3e9ddb | ||
|
|
cfe88b37f6 | ||
|
|
1f0171d79b | ||
|
|
c7ce6ce772 | ||
|
|
1276d21d8e | ||
|
|
ed95fca448 | ||
|
|
0b8c069119 | ||
|
|
54acc2df51 | ||
|
|
19288ea127 | ||
|
|
fa3ab4fd61 | ||
|
|
676e2f1f63 | ||
|
|
57cbd5e53c | ||
|
|
2dc60b9e01 | ||
|
|
bf57da1914 | ||
|
|
4915a784ec | ||
|
|
c09d972012 | ||
|
|
5f14de33e7 | ||
|
|
60b329f7e5 | ||
|
|
b3ab0a9c11 | ||
|
|
dce628ae8e | ||
|
|
56efe657fc | ||
|
|
30e6ec5396 | ||
|
|
e93d7d3c93 | ||
|
|
937c759998 | ||
|
|
f38a321e64 | ||
|
|
8f1fc8ad2e | ||
|
|
ed0d4d3b06 | ||
|
|
13325606b7 | ||
|
|
6f44969e23 | ||
|
|
2fdf98ebd4 | ||
|
|
e8d628f61b | ||
|
|
f690a980bf | ||
|
|
92c9ff5f48 | ||
|
|
0a3d6534c7 | ||
|
|
d6e22346e3 | ||
|
|
a918dfdb33 | ||
|
|
2a4766198a | ||
|
|
401db67bcd | ||
|
|
5a40d8b3c2 | ||
|
|
dbad348537 | ||
|
|
a19813eab2 | ||
|
|
2f1f86d5f2 | ||
|
|
8336e02931 | ||
|
|
b40218f7f4 | ||
|
|
3d0c850e10 | ||
|
|
21a14403c6 | ||
|
|
973bac429c | ||
|
|
2cee800127 | ||
|
|
4ab0934000 | ||
|
|
c80cadb25f | ||
|
|
a3ad8c5bae | ||
|
|
aa99031346 | ||
|
|
4b13a0f301 | ||
|
|
0edd97293d | ||
|
|
54a006f47d | ||
|
|
eb9c225304 | ||
|
|
fd05de8346 | ||
|
|
a32ae3e516 | ||
|
|
7210e881a8 | ||
|
|
b6abf4596e | ||
|
|
a643ae1907 | ||
|
|
19244fc0c9 | ||
|
|
01cd58cc43 | ||
|
|
cc5e9e3dae | ||
|
|
0b4e499e1d | ||
|
|
47bca28b1d | ||
|
|
43ae3c9f59 | ||
|
|
3af8975a66 | ||
|
|
a6e6cc781d | ||
|
|
934d149931 | ||
|
|
a18c1abc13 | ||
|
|
479b7e5ca8 | ||
|
|
7cc7de9d4a | ||
|
|
990e1f3ddf | ||
|
|
01e6feb060 | ||
|
|
47a2783cf1 | ||
|
|
982e9ab8ad | ||
|
|
b9001d3c4d | ||
|
|
86112a574f | ||
|
|
e1d71d7ab8 | ||
|
|
c8381afdc1 | ||
|
|
189a4d74c0 | ||
|
|
f393eb9176 | ||
|
|
ede8127569 | ||
|
|
762b7144e0 | ||
|
|
3089fa2d27 | ||
|
|
b369112ed3 | ||
|
|
86deb23d2f | ||
|
|
266132521c | ||
|
|
248dce258e | ||
|
|
39126cbb63 | ||
|
|
fcb1a10a3c | ||
|
|
d0d762c1a2 | ||
|
|
bbff8f00ae | ||
|
|
d3f4845c55 | ||
|
|
47f234dce2 | ||
|
|
ca50d13149 | ||
|
|
60ea23a6de | ||
|
|
ad6cc6be2e | ||
|
|
db3badb73a | ||
|
|
6455801518 | ||
|
|
071e11ed58 | ||
|
|
2cc7057071 | ||
|
|
b7ffc263cf | ||
|
|
522e989292 | ||
|
|
84bc5ba678 | ||
|
|
1d792b0b44 | ||
|
|
1f8df3e403 | ||
|
|
32ca91cd2f | ||
|
|
d1c05c1883 | ||
|
|
d7e844d7a2 | ||
|
|
f49e58a169 | ||
|
|
7baa65e515 | ||
|
|
f5913d875f | ||
|
|
31fe154d1c | ||
|
|
18019f1bae | ||
|
|
4ab9cc65f3 | ||
|
|
46a0cedb08 | ||
|
|
be1aba1f70 | ||
|
|
9a2b1636f9 | ||
|
|
8db170250e | ||
|
|
90179e554e | ||
|
|
8ae1b7823e | ||
|
|
32bf163633 | ||
|
|
b5ab505d1e | ||
|
|
cda44c89ac | ||
|
|
dc4159546b | ||
|
|
91632d64f1 | ||
|
|
c20bff79ad | ||
|
|
52a89349dd | ||
|
|
60b21ffa62 | ||
|
|
d0abfbf3f3 | ||
|
|
455ffc2ad7 | ||
|
|
6fd949279d | ||
|
|
27a9b23d2b | ||
|
|
930930ebc4 | ||
|
|
de2e7d4f75 | ||
|
|
9910c51e67 | ||
|
|
3415b05732 | ||
|
|
9e1283aedb | ||
|
|
0c4f9c39c9 | ||
|
|
6a129ca5c7 | ||
|
|
e9f3d7f898 | ||
|
|
2e6f97621a | ||
|
|
862e59f474 | ||
|
|
2945213871 | ||
|
|
0590f2493e | ||
|
|
df7917fcd9 | ||
|
|
3f8ecb4e70 | ||
|
|
d04775ecfb | ||
|
|
3d6d80fe21 | ||
|
|
e8179b29ff | ||
|
|
f254a002a8 | ||
|
|
29ccc36fc2 | ||
|
|
953fc0d4a8 | ||
|
|
c2a6c6c395 | ||
|
|
857bbe65b5 | ||
|
|
e2a16190a6 | ||
|
|
2fc494f66b | ||
|
|
289ad7a42c | ||
|
|
ae7783847c | ||
|
|
d39ca40fee | ||
|
|
f5d9cf0e5d | ||
|
|
68d7d26839 | ||
|
|
064a54f552 | ||
|
|
d2f1ced52f | ||
|
|
31186cd341 | ||
|
|
f968e65314 | ||
|
|
f2518ecbc4 | ||
|
|
40b56e724f | ||
|
|
cf03aa4f52 | ||
|
|
4a9f5f3a7e | ||
|
|
481f4765eb | ||
|
|
e442f8dccf | ||
|
|
bb52b0a7b9 | ||
|
|
2cdcd560a2 | ||
|
|
df3c775f1d | ||
|
|
e4093a56f5 | ||
|
|
f55fa9260d | ||
|
|
c53961d4c5 | ||
|
|
e0ab3888ec | ||
|
|
379c6d0ad8 | ||
|
|
a429f5ef98 | ||
|
|
8c000c05ee | ||
|
|
d8ca8586c0 | ||
|
|
28e18e35f8 | ||
|
|
f49bd43ba1 | ||
|
|
f1cba97773 | ||
|
|
109dd05bb3 | ||
|
|
d34fb44df2 | ||
|
|
cd0c5d4b93 | ||
|
|
bb2e73566b | ||
|
|
c1fe2f36db | ||
|
|
a53b7a8ced | ||
|
|
cf5708d156 | ||
|
|
84c216a5f7 | ||
|
|
76e1a34fd0 | ||
|
|
3f922b4254 | ||
|
|
b569dff905 | ||
|
|
59b9ab9097 | ||
|
|
d01d255985 | ||
|
|
788cc39498 | ||
|
|
6fdbe02291 | ||
|
|
274c6ca492 | ||
|
|
a784142edf | ||
|
|
84f6093068 | ||
|
|
4afa7c7e22 | ||
|
|
32a345e2f2 | ||
|
|
8c900a2391 | ||
|
|
d78a6cebd8 | ||
|
|
9839809c99 | ||
|
|
89973a7eaf | ||
|
|
e9432005d4 | ||
|
|
439498b3c1 | ||
|
|
23b271da84 | ||
|
|
0deaf1e227 | ||
|
|
a60db81d09 | ||
|
|
d1b24f2bb1 | ||
|
|
13bc1f64b8 | ||
|
|
cecdd50eab | ||
|
|
4d9675bebe | ||
|
|
d758c114b0 | ||
|
|
1b7f4ad1dd | ||
|
|
09eeafe4f0 | ||
|
|
c0db7d02f7 | ||
|
|
06891fa14a | ||
|
|
513e3b7338 | ||
|
|
641af21cb0 | ||
|
|
5237a25699 | ||
|
|
21021aa408 | ||
|
|
326d889658 | ||
|
|
ab0bc32d4c | ||
|
|
7763a002f3 | ||
|
|
0f2a4be832 | ||
|
|
7a7f686f16 | ||
|
|
f802103923 | ||
|
|
00670233af | ||
|
|
c8233177c3 | ||
|
|
734e728fba | ||
|
|
150481699f | ||
|
|
546d31c51c | ||
|
|
8928160df7 | ||
|
|
340963742a | ||
|
|
1765246cf7 | ||
|
|
ff8da2d4fe | ||
|
|
79ea6b78bb | ||
|
|
03a4b9d2fe | ||
|
|
54246053de | ||
|
|
863034f20f | ||
|
|
8e41d32950 | ||
|
|
49816b95e0 | ||
|
|
7252a138e0 | ||
|
|
492809203d | ||
|
|
35ad1269a8 | ||
|
|
e391931711 | ||
|
|
704d765501 | ||
|
|
e213e60471 | ||
|
|
03b0a07adb | ||
|
|
c552de77f4 | ||
|
|
2e1068f30c | ||
|
|
aac050369a | ||
|
|
2a4ea5843d | ||
|
|
c237980d47 | ||
|
|
d5a0b81e97 | ||
|
|
392b1c6f36 | ||
|
|
921eb03a01 | ||
|
|
f9eb8f8f6d | ||
|
|
9290b2e464 | ||
|
|
4f76e33bc7 | ||
|
|
d113acb5ab | ||
|
|
a29f15feff | ||
|
|
54af9fb884 | ||
|
|
f0c19ba9b2 | ||
|
|
11d42f5112 | ||
|
|
7da0f50457 | ||
|
|
cf6f4718e8 | ||
|
|
bebe60a4c1 | ||
|
|
a11e389bc8 | ||
|
|
f695683fd0 | ||
|
|
2b75d0faf3 | ||
|
|
b9197f96db | ||
|
|
36f621db1c | ||
|
|
87109dd46e | ||
|
|
e77a05c3b2 | ||
|
|
0bfa399b6c | ||
|
|
fc754ba88e | ||
|
|
e6cef73658 | ||
|
|
7d3c502c47 | ||
|
|
30f8f7d409 | ||
|
|
09bb2e5837 | ||
|
|
4c65726091 | ||
|
|
e42fea8710 | ||
|
|
fc563550c6 | ||
|
|
61f6b9ce0f | ||
|
|
11fdef0206 | ||
|
|
b22ae9de4c | ||
|
|
91138648aa | ||
|
|
e1505bb857 | ||
|
|
bc8625cbea | ||
|
|
983aa97f94 | ||
|
|
9315d18901 | ||
|
|
34df8b98bf | ||
|
|
effb751204 | ||
|
|
bc7b1a8a1f | ||
|
|
915f628bc7 | ||
|
|
3f53e8d1dd | ||
|
|
ab3d1e85cf | ||
|
|
d0bd52910f | ||
|
|
01f603ad65 | ||
|
|
f2375f3fee | ||
|
|
d8ff36e692 | ||
|
|
6c76a89785 | ||
|
|
b53f2a1ac1 | ||
|
|
0af93ffd08 | ||
|
|
ad4cf69993 | ||
|
|
8a51df9fd8 | ||
|
|
272e37767b | ||
|
|
f71047ef2d | ||
|
|
f492c4f120 | ||
|
|
555551b745 | ||
|
|
83cb000958 | ||
|
|
84ecf94263 | ||
|
|
0c709a9088 | ||
|
|
3c6443e1e5 | ||
|
|
d75c2e2a91 | ||
|
|
0e9cd7a3d7 | ||
|
|
263525d812 | ||
|
|
43c234029b | ||
|
|
22fc90006b | ||
|
|
cf1575fafb | ||
|
|
6d3166316b | ||
|
|
fe7dec0edb | ||
|
|
1bbe18bb8d | ||
|
|
2660ff0b93 | ||
|
|
b3eef2b10e | ||
|
|
4552c8a4a7 | ||
|
|
28582ad5d9 | ||
|
|
20e69460b0 | ||
|
|
351a673ec0 | ||
|
|
3a6d5b8f90 | ||
|
|
5fa9455bf9 | ||
|
|
98603d9e74 | ||
|
|
31aa5e308d | ||
|
|
7a59275688 | ||
|
|
6421324287 | ||
|
|
d11581aaff | ||
|
|
98235f9e36 | ||
|
|
b664a1187b | ||
|
|
64caf325f8 | ||
|
|
a4f5b2e29f | ||
|
|
8f31d36bcd | ||
|
|
eb85accea9 | ||
|
|
79b648c006 | ||
|
|
ac83445032 | ||
|
|
a320ca92fb | ||
|
|
fce1b90b63 | ||
|
|
91c1a0a810 | ||
|
|
803bd7c612 | ||
|
|
c6988b74b1 | ||
|
|
c195c85999 | ||
|
|
3c0a146cd7 | ||
|
|
dace30cfac | ||
|
|
a8bc2df19c | ||
|
|
05b9b39e06 | ||
|
|
196bcf6f51 | ||
|
|
279f12cc7d | ||
|
|
0d69376e95 | ||
|
|
527c94c06b | ||
|
|
a9cbb0ee10 | ||
|
|
5f025de0f8 | ||
|
|
06455436d3 | ||
|
|
5b16fe2f3c | ||
|
|
b8c5218ad3 | ||
|
|
1bcec16509 | ||
|
|
a320464c5a | ||
|
|
7e579e46aa | ||
|
|
12a9f41755 | ||
|
|
d967129581 | ||
|
|
901eab7e06 |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -38,9 +38,12 @@ tags
|
||||
cyassl-config
|
||||
wolfssl-config
|
||||
cyassl.sublime*
|
||||
fips.h
|
||||
fips.c
|
||||
fipsv2.c
|
||||
fips_test.c
|
||||
fips
|
||||
selftest.c
|
||||
src/async.c
|
||||
wolfssl/async.h
|
||||
wolfcrypt/src/async.c
|
||||
@@ -55,7 +58,7 @@ ctaocrypt/benchmark/benchmark
|
||||
ctaocrypt/test/testctaocrypt
|
||||
wolfcrypt/benchmark/benchmark
|
||||
wolfcrypt/test/testwolfcrypt
|
||||
examples/benchmark/tls-bench
|
||||
examples/benchmark/tls_bench
|
||||
examples/client/client
|
||||
examples/echoclient/echoclient
|
||||
examples/echoserver/echoserver
|
||||
|
||||
@@ -80,9 +80,13 @@ extern "C" {
|
||||
//#define RSA_LOW_MEM
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#if 1
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
#else
|
||||
#undef WC_NO_HARDEN
|
||||
#define WC_NO_HARDEN
|
||||
#endif
|
||||
#else
|
||||
#define NO_RSA
|
||||
#endif
|
||||
@@ -200,6 +204,8 @@ extern "C" {
|
||||
/* Sha256 */
|
||||
#undef NO_SHA256
|
||||
#if 1
|
||||
/* not unrolled - ~2k smaller and ~25% slower */
|
||||
#define USE_SLOW_SHA256
|
||||
#else
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
@@ -216,7 +222,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/* over twice as small, but 50% slower */
|
||||
#define USE_SLOW_SHA2
|
||||
#define USE_SLOW_SHA512
|
||||
#endif
|
||||
|
||||
/* MD5 */
|
||||
|
||||
@@ -105,4 +105,4 @@ $(BUILD_DIR)/$(BIN).a: $(OBJS_ASM) $(OBJS_C)
|
||||
|
||||
clean:
|
||||
rm -f $(BUILD_DIR)/*.elf $(BUILD_DIR)/*.hex $(BUILD_DIR)/*.map
|
||||
rm -f $(BUILD_DIR)/*.o $(BUILD_DIR)/*.sym $(BUILD_DIR)/*.disasm
|
||||
rm -f $(BUILD_DIR)/*.o $(BUILD_DIR)/*.a $(BUILD_DIR)/*.sym $(BUILD_DIR)/*.disasm
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#include "user_settings.h"
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
#include <wolfssl/wolfcrypt/random.h> /* for CUSTOM_RAND_TYPE */
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@ To create the static library, simply call make:
|
||||
|
||||
`make -f sgx_t_static.mk all`
|
||||
|
||||
To clean the static library and compiled objects use the provided clean script:
|
||||
|
||||
`clean.sh`
|
||||
|
||||
This will create a local static library, libwolfssl.sgx.static.lib.a, that can be linked with SGX enclaves to access wolfSSL APIs using SGX hardware.
|
||||
|
||||
### Customization:
|
||||
@@ -20,6 +24,9 @@ This will create a local static library, libwolfssl.sgx.static.lib.a, that can b
|
||||
For example, to enable all three:
|
||||
`make -f sgx_t_static.mk CFLAGS=-DDEBUG_WOLFSSL HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1`
|
||||
|
||||
NOTE: This more customized step has been provided for easier execution in the
|
||||
script `build.sh`
|
||||
|
||||
### Limitations:
|
||||
Single Threaded (multiple threaded applications have not been tested)
|
||||
AES-NI use with SGX has not been added in yet
|
||||
|
||||
9
IDE/LINUX-SGX/build.sh
Executable file
9
IDE/LINUX-SGX/build.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
|
||||
CFLAGS_NEW="-DDEBUG_WOLFSSL"
|
||||
export CFLAGS="${CFLAGS} ${CFLAGS_NEW}"
|
||||
echo ${CFLAGS}
|
||||
|
||||
make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1
|
||||
|
||||
3
IDE/LINUX-SGX/clean.sh
Executable file
3
IDE/LINUX-SGX/clean.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
make -f sgx_t_static.mk clean
|
||||
@@ -4,3 +4,5 @@
|
||||
|
||||
EXTRA_DIST+= IDE/LINUX-SGX/README.md
|
||||
EXTRA_DIST+= IDE/LINUX-SGX/sgx_t_static.mk
|
||||
EXTRA_DIST+= IDE/LINUX-SGX/build.sh
|
||||
EXTRA_DIST+= IDE/LINUX-SGX/clean.sh
|
||||
|
||||
@@ -142,4 +142,4 @@ libwolfssl.sgx.static.lib.a: $(Wolfssl_C_Objects)
|
||||
@echo "LINK => $@"
|
||||
|
||||
clean:
|
||||
@rm -f wolfcrypt.* static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects)
|
||||
@rm -f $(WOLFSSL_ROOT)/wolfcrypt/benchmark/*.o $(WOLFSSL_ROOT)/wolfcrypt/test/*.o static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects)
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
uint32_t CTRL; /*< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
@@ -1,304 +0,0 @@
|
||||
/* config-Crypt.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 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
|
||||
*/
|
||||
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
|
||||
// <h>Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
//#define TFM_ECC256
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define STM32F2_RNG
|
||||
#else
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define STM32F2_CRYPTO
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// </h>
|
||||
|
||||
// <h>Other Settings
|
||||
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>zlib (need "zlib.h")
|
||||
#define MDK_CONF_LIBZ 0
|
||||
#if MDK_CONF_LIBZ == 1
|
||||
#define HAVE_LIBZ
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CAVIUM (need CAVIUM headers)
|
||||
#define MDK_CONF_CAVIUM 0
|
||||
#if MDK_CONF_CAVIUM == 1
|
||||
#define HAVE_CAVIUM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// </h>
|
||||
|
||||
|
||||
|
||||
//</h>
|
||||
// <<< end of configuration section >>>
|
||||
@@ -1,29 +1,515 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WRITEV
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
|
||||
#define WOLFSSL_GMTIME
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
|
||||
// <h>Common options
|
||||
// <o> MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx
|
||||
#define MDK_CONF_MPU 3
|
||||
#if MDK_CONF_MPU == 0
|
||||
|
||||
#elif MDK_CONF_MPU == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F2xx
|
||||
#elif MDK_CONF_MPU == 2
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F4xx
|
||||
#elif MDK_CONF_MPU == 3
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F7xx
|
||||
#endif
|
||||
|
||||
// <o> Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
#define FREERTOS
|
||||
#elif MDK_CONF_THREAD == 3
|
||||
#define WOLFSSL_SAFERTOS
|
||||
#elif MDK_CONF_THREAD == 4
|
||||
#define USE_WINDOWS_API
|
||||
#elif MDK_CONF_THREAD == 5
|
||||
#define WOLFSSL_PTHREADS
|
||||
#elif MDK_CONF_THREAD == 6
|
||||
#define THREADX
|
||||
#define NETX
|
||||
#elif MDK_CONF_THREAD == 7
|
||||
#define MICRIUM
|
||||
#elif MDK_CONF_THREAD == 8
|
||||
#define EBSNET
|
||||
#elif MDK_CONF_THREAD == 9
|
||||
#define FREESCALE_MQX
|
||||
#define FREESCALE_KSDK_MQX
|
||||
#elif MDK_CONF_THREAD == 10
|
||||
#define WOLFSSL_TIRTOS
|
||||
#elif MDK_CONF_THREAD == 11
|
||||
#define WOLFSSL_uITRON4
|
||||
#elif MDK_CONF_THREAD == 12
|
||||
#define WOLFSSL_uTKERNEL2
|
||||
#elif MDK_CONF_THREAD == 13
|
||||
#define WOLFSSL_FROSTED
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
|
||||
// <e>File System
|
||||
#define MDK_CONF_FILESYSTEM 1
|
||||
#if MDK_CONF_FILESYSTEM == 0
|
||||
#define NO_FILESYSTEM
|
||||
#else
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <o> Network<0=>None <1=>RLnet <2=>User I/O
|
||||
#define MDK_CONF_NETWORK 1
|
||||
#if MDK_CONF_NETWORK == 0
|
||||
#elif MDK_CONF_NETWORK == 1
|
||||
#define WOLFSSL_KEIL_TCP_NET
|
||||
#elif MDK_CONF_NETWORK == 2
|
||||
#define WOLFSSL_USER_IO
|
||||
#endif
|
||||
|
||||
// <h>Debug options
|
||||
|
||||
// <e>Debug Message
|
||||
#define MDK_CONF_DebugMessage 0
|
||||
#if MDK_CONF_DebugMessage == 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Check malloc
|
||||
#define MDK_CONF_CheckMalloc 1
|
||||
#if MDK_CONF_CheckMalloc == 1
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
//</h>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hash DRBG
|
||||
#define MDK_CONF_HASHDRBG 1
|
||||
#if MDK_CONF_HASHDRBG == 1
|
||||
#define HAVE_HASHDRBG
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CURVE25519 SMALL
|
||||
#define MDK_CONF_CURVE25519_SMALL 0
|
||||
#if MDK_CONF_CURVE25519_SMALL == 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519 SMALL
|
||||
#define MDK_CONF_ED25519_SMALL 0
|
||||
#if MDK_CONF_ED25519_SMALL == 1
|
||||
#define ED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <e>Random Seed, for TEST Only
|
||||
#define MDK_CONF_RNDSEED 1
|
||||
#if MDK_CONF_RNDSEED == 1
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
// <h>Cert/Key Generation
|
||||
// <e>CertGen
|
||||
#define MDK_CONF_CERT_GEN 0
|
||||
#if MDK_CONF_CERT_GEN == 1
|
||||
#define WOLFSSL_CERT_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// <e>KeyGen
|
||||
#define MDK_CONF_KEY_GEN 0
|
||||
#if MDK_CONF_KEY_GEN == 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
// </h>
|
||||
|
||||
|
||||
/**** wolfSSL Configuration ****/
|
||||
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>Include Old TLS
|
||||
#define MDK_CONF_NO_OLDTLS 0
|
||||
#if MDK_CONF_NO_OLDTLS == 0
|
||||
#define NO_OLD_TLS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CRL
|
||||
#define MDK_CONF_CRL 0
|
||||
#if MDK_CONF_CRL == 1
|
||||
#define HAVE_CRL
|
||||
#define WOLFSSL_DER_LOAD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OCSP
|
||||
#define MDK_CONF_OCSP 0
|
||||
#if MDK_CONF_OCSP == 1
|
||||
#define HAVE_OCSP
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OpenSSL Extra
|
||||
#define MDK_CONF_OPENSSL_EXTRA 0
|
||||
#if MDK_CONF_OPENSSL_EXTRA == 1
|
||||
#define OPENSSL_EXTRA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
/* config.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#define __CORTEX_M3__
|
||||
|
||||
#if defined(MDK_CONF_full)
|
||||
#include "config-Crypt.h"
|
||||
#include "config-wolfSSL.h"
|
||||
|
||||
#elif defined(MDK_CONF_SimpleClient)
|
||||
#include "config-Crypt.h"
|
||||
#include "config-wolfSSL.h"
|
||||
|
||||
#elif defined(MDK_CONF_SimpleServer)
|
||||
#include "config-Crypt.h"
|
||||
#include "config-wolfSSL.h"
|
||||
|
||||
#elif defined(MDK_CONF_EchoClient)
|
||||
#include "config-Crypt.h"
|
||||
#include "config-wolfSSL.h"
|
||||
|
||||
#elif defined(MDK_CONF_EchoServer)
|
||||
#include "config-Crypt.h"
|
||||
#include "config-wolfSSL.h"
|
||||
|
||||
#elif defined(MDK_CONF_Benchmark)
|
||||
#define SINGLE_THREADED
|
||||
#include "config-Crypt.h"
|
||||
|
||||
#elif defined(MDK_CONF_CryptTest)
|
||||
#define SINGLE_THREADED
|
||||
#include "config-Crypt.h"
|
||||
|
||||
#elif defined(MDK_CONF_wolfSSL_lib)
|
||||
#include "config-Crypt.h"
|
||||
#include "config-wolfSSL.h"
|
||||
#endif
|
||||
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/* Go to STDIN */
|
||||
#define fgets(buff, sz, fd) wolfssl_fgets(buff, sz, fd)
|
||||
extern char * wolfssl_fgets ( char * str, int num, FILE * f ) ;
|
||||
|
||||
#define SOCKET_T int
|
||||
|
||||
/*** #include <socket.h> ***/
|
||||
@@ -72,8 +68,9 @@ typedef int socklen_t ;
|
||||
#define tcp_connect wolfssl_tcp_connect
|
||||
#define tcp_socket wolfssl_tcp_soket
|
||||
#define tcp_listen wolfssl_tcp_listen
|
||||
#define tcp_select(a,b) (0)
|
||||
|
||||
#define connect(a,b,c) connect(a, (SOCKADDR *)(b), c)
|
||||
#define SOCKADDR struct sockaddr
|
||||
|
||||
/** KEIL-RL TCPnet ****/
|
||||
/* TCPnet BSD socket does not have following functions. */
|
||||
extern char *inet_ntoa(struct in_addr in);
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
This program is a simple benchmark of wolfCrypt library.
|
||||
wolfCrypt Benchmark
|
||||
|
||||
In order to run this benchmark, copy
|
||||
{PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
|
||||
Use Configuration Wizard tab
|
||||
user_settings.h for wolfCrypt options
|
||||
|
||||
For benchmark configuration, refer config-Crypt.h.
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
For the hardware crypt on config-Crypt.h, download
|
||||
STSW-STM32062: STM32F2xx standard peripherals library at
|
||||
http://www.st.com/. Copy Libraries\STM32F2xx_StdPeriph_Driver\{inc,src} to
|
||||
{PACK}\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib
|
||||
|
||||
Support
|
||||
-------
|
||||
|
||||
14
IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.sct
Normal file
14
IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.sct
Normal file
@@ -0,0 +1,14 @@
|
||||
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
|
||||
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
RW_IRAM1 0x20010000 0x00040000 { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
RW_RETARGET 0x2000FFF0 0x00000010 {
|
||||
retarget_io.o (+ZI +RW)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<Extensions>
|
||||
<cExt>*.c</cExt>
|
||||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj</oExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
@@ -22,16 +22,16 @@
|
||||
</DaveTm>
|
||||
|
||||
<Target>
|
||||
<TargetName>CryptBenchmark</TargetName>
|
||||
<TargetName>wolfSSL-Benchmark</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>12000000</CLKADS>
|
||||
<CLKADS>25000000</CLKADS>
|
||||
<OPTTT>
|
||||
<gFlags>1</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>0</RunSim>
|
||||
<RunTarget>1</RunTarget>
|
||||
<RunSim>1</RunSim>
|
||||
<RunTarget>0</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
@@ -45,7 +45,7 @@
|
||||
<PageWidth>79</PageWidth>
|
||||
<PageLength>66</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
@@ -78,23 +78,6 @@
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<Books>
|
||||
<Book>
|
||||
<Number>0</Number>
|
||||
<Title>Schematics (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>1</Number>
|
||||
<Title>User Manual (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>2</Number>
|
||||
<Title>MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200)</Title>
|
||||
<Path>http://www.keil.com/mcbstm32f200/</Path>
|
||||
</Book>
|
||||
</Books>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
@@ -117,7 +100,8 @@
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<nTsel>1</nTsel>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -127,10 +111,15 @@
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile>.\STM32_SWO.ini</tIfile>
|
||||
<pMon>BIN\UL2CM3.DLL</pMon>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U303030303030303030303031 -O8399 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO27 -TC216000000 -TP21 -TDS806B -TDT0 -TDC1F -TIEFFFFFFFF -TIP1 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
@@ -139,18 +128,13 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(6017=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMDBGFLAGS</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
@@ -159,32 +143,28 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>-UM1020ADE -O206 -S0 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
<Name>-UV0998FBE -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC216000000 -TP21 -TDS80B8 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>0x20000408</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>0x8004dc8</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<ItemText>eth_pins</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>0</periodic>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
@@ -203,50 +183,29 @@
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>1</aSer4>
|
||||
<StkLoc>1</StkLoc>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>2000000</DbgClock>
|
||||
</DebugDescription>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
<Group>
|
||||
<GroupName>Source</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\time-CortexM3-4.c</PathWithFileName>
|
||||
<FilenameWithoutPath>time-CortexM3-4.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
@@ -254,24 +213,10 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-Crypt.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
|
||||
@@ -288,11 +233,10 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
@@ -302,6 +246,34 @@
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Source</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
|
||||
@@ -7,21 +7,23 @@
|
||||
|
||||
<Targets>
|
||||
<Target>
|
||||
<TargetName>CryptBenchmark</TargetName>
|
||||
<TargetName>wolfSSL-Benchmark</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060528::V5.06 update 5 (build 528)::ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F207IGHx</Device>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F2xx_DFP.2.2.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM))</FlashDriverDll>
|
||||
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM))</FlashDriverDll>
|
||||
<DeviceId>0</DeviceId>
|
||||
<RegisterFile>$$Device:STM32F207IGHx$Drivers/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h</RegisterFile>
|
||||
<RegisterFile>$$Device:STM32F756NGHx$Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f7xx.h</RegisterFile>
|
||||
<MemoryEnv></MemoryEnv>
|
||||
<Cmp></Cmp>
|
||||
<Asm></Asm>
|
||||
@@ -31,7 +33,7 @@
|
||||
<SLE66CMisc></SLE66CMisc>
|
||||
<SLE66AMisc></SLE66AMisc>
|
||||
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||
<SFDFile>$$Device:STM32F207IGHx$CMSIS\SVD\STM32F20x.svd</SFDFile>
|
||||
<SFDFile>$$Device:STM32F756NGHx$CMSIS\SVD\STM32F7x.svd</SFDFile>
|
||||
<bCustSvd>0</bCustSvd>
|
||||
<UseEnv>0</UseEnv>
|
||||
<BinPath></BinPath>
|
||||
@@ -46,14 +48,14 @@
|
||||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\Object\</OutputDirectory>
|
||||
<OutputName>CryptBenchmark</OutputName>
|
||||
<OutputDirectory>.\Output\</OutputDirectory>
|
||||
<OutputName>wolfCryptBenchmark</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>0</CreateHexFile>
|
||||
<DebugInformation>1</DebugInformation>
|
||||
<BrowseInformation>1</BrowseInformation>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
<HexFormatSelection>1</HexFormatSelection>
|
||||
<Merge32K>0</Merge32K>
|
||||
<CreateBatchFile>0</CreateBatchFile>
|
||||
@@ -84,6 +86,8 @@
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopA1X>0</nStopA1X>
|
||||
<nStopA2X>0</nStopA2X>
|
||||
</AfterMake>
|
||||
<SelectedForBatchBuild>0</SelectedForBatchBuild>
|
||||
<SVCSIdString></SVCSIdString>
|
||||
@@ -108,11 +112,11 @@
|
||||
<SimDllName>SARMCM3.DLL</SimDllName>
|
||||
<SimDllArguments> -REMAP -MPU</SimDllArguments>
|
||||
<SimDlgDll>DCM.DLL</SimDlgDll>
|
||||
<SimDlgDllArguments>-pCM3</SimDlgDllArguments>
|
||||
<SimDlgDllArguments>-pCM7</SimDlgDllArguments>
|
||||
<TargetDllName>SARMCM3.DLL</TargetDllName>
|
||||
<TargetDllArguments> -MPU</TargetDllArguments>
|
||||
<TargetDlgDll>TCM.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
|
||||
<TargetDlgDllArguments>-pCM7</TargetDlgDllArguments>
|
||||
</DllOption>
|
||||
<DebugOption>
|
||||
<OPTHX>
|
||||
@@ -122,47 +126,6 @@
|
||||
<HexOffset>0</HexOffset>
|
||||
<Oh166RecLen>16</Oh166RecLen>
|
||||
</OPTHX>
|
||||
<Simulator>
|
||||
<UseSimulator>0</UseSimulator>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>1</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>1</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Simulator>
|
||||
<Target>
|
||||
<UseTarget>1</UseTarget>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>1</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>0</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<RestoreTracepoints>1</RestoreTracepoints>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Target>
|
||||
<RunDebugAfterBuild>0</RunDebugAfterBuild>
|
||||
<TargetSelection>1</TargetSelection>
|
||||
<SimDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile></InitializationFile>
|
||||
</SimDlls>
|
||||
<TargetDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile>.\STM32_SWO.ini</InitializationFile>
|
||||
<Driver>BIN\UL2CM3.DLL</Driver>
|
||||
</TargetDlls>
|
||||
</DebugOption>
|
||||
<Utilities>
|
||||
<Flash1>
|
||||
@@ -171,11 +134,11 @@
|
||||
<RunIndependent>0</RunIndependent>
|
||||
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
|
||||
<Capability>1</Capability>
|
||||
<DriverSelection>4100</DriverSelection>
|
||||
<DriverSelection>4096</DriverSelection>
|
||||
</Flash1>
|
||||
<bUseTDR>1</bUseTDR>
|
||||
<Flash2>BIN\UL2CM3.DLL</Flash2>
|
||||
<Flash3></Flash3>
|
||||
<Flash3>"" ()</Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
<pFcarmGrp></pFcarmGrp>
|
||||
@@ -211,7 +174,7 @@
|
||||
<AdsLsxf>1</AdsLsxf>
|
||||
<RvctClst>0</RvctClst>
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M3"</AdsCpuType>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
@@ -220,13 +183,14 @@
|
||||
<hadIRAM>1</hadIRAM>
|
||||
<hadXRAM>0</hadXRAM>
|
||||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>0</RvdsVP>
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<RvdsVP>2</RvdsVP>
|
||||
<hadIRAM2>1</hadIRAM2>
|
||||
<hadIROM2>1</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
<useUlib>0</useUlib>
|
||||
<EndSel>0</EndSel>
|
||||
<uLtcg>0</uLtcg>
|
||||
<nSecure>0</nSecure>
|
||||
<RoSelD>3</RoSelD>
|
||||
<RwSelD>3</RwSelD>
|
||||
<CodeSel>0</CodeSel>
|
||||
@@ -279,8 +243,8 @@
|
||||
</Ocm6>
|
||||
<IRAM>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x20000</Size>
|
||||
<StartAddress>0x20010000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</IRAM>
|
||||
<IROM>
|
||||
<Type>1</Type>
|
||||
@@ -314,8 +278,8 @@
|
||||
</OCR_RVCT4>
|
||||
<OCR_RVCT5>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
<StartAddress>0x200000</StartAddress>
|
||||
<Size>0x100000</Size>
|
||||
</OCR_RVCT5>
|
||||
<OCR_RVCT6>
|
||||
<Type>0</Type>
|
||||
@@ -334,13 +298,13 @@
|
||||
</OCR_RVCT8>
|
||||
<OCR_RVCT9>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x20000</Size>
|
||||
<StartAddress>0x20010000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</OCR_RVCT9>
|
||||
<OCR_RVCT10>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x10000</Size>
|
||||
</OCR_RVCT10>
|
||||
</OnChipMemories>
|
||||
<RvctStartVector></RvctStartVector>
|
||||
@@ -361,9 +325,16 @@
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<uC99>0</uC99>
|
||||
<useXO>0</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>0</vShortEn>
|
||||
<vShortWch>0</vShortWch>
|
||||
<v6Lto>0</v6Lto>
|
||||
<v6WtE>0</v6WtE>
|
||||
<v6Rtti>0</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define>HAVE_CONFIG_H MDK_CONF_Benchmark WOLFSSL_USER_SETTINGS</Define>
|
||||
<Define>USE_STM32756G_EVAL USE_IOEXPANDER WOLFSSL_USER_SETTINGS</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
@@ -378,6 +349,7 @@
|
||||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<uClangAs>0</uClangAs>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
@@ -386,16 +358,16 @@
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
<LDads>
|
||||
<umfTarg>1</umfTarg>
|
||||
<umfTarg>0</umfTarg>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<noStLib>0</noStLib>
|
||||
<RepFail>1</RepFail>
|
||||
<useFile>0</useFile>
|
||||
<TextAddressRange>0x08000000</TextAddressRange>
|
||||
<DataAddressRange>0x20000000</DataAddressRange>
|
||||
<TextAddressRange></TextAddressRange>
|
||||
<DataAddressRange></DataAddressRange>
|
||||
<pXoBase></pXoBase>
|
||||
<ScatterFile></ScatterFile>
|
||||
<ScatterFile>.\CryptBenchmark.sct</ScatterFile>
|
||||
<IncludeLibs></IncludeLibs>
|
||||
<IncludeLibsPath></IncludeLibsPath>
|
||||
<Misc></Misc>
|
||||
@@ -405,33 +377,13 @@
|
||||
</TargetArmAds>
|
||||
</TargetOption>
|
||||
<Groups>
|
||||
<Group>
|
||||
<GroupName>Source</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>time-CortexM3-4.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\time-CortexM3-4.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>config-Crypt.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfssl\config-Crypt.h</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>user_settings.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfssl\user_settings.h</FilePath>
|
||||
<FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
@@ -445,6 +397,19 @@
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Source</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\main.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
</Group>
|
||||
@@ -468,351 +433,343 @@
|
||||
</Targets>
|
||||
|
||||
<RTE>
|
||||
<packages>
|
||||
<filter>
|
||||
<targetInfos/>
|
||||
</filter>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
</packages>
|
||||
<apis>
|
||||
<api Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<api Capiversion="2.3.0" Cclass="CMSIS Driver" Cgroup="MCI" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.0" Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
|
||||
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
|
||||
<package license="CMSIS\CMSIS END USER LICENCE AGREEMENT.rtf" name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<api Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
</apis>
|
||||
<components>
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0" condition="CMSIS Core">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.1.1" condition="ARMv6_7_8-M Device">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with File System">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="2.02" condition="STM32F2 CMSIS_Driver MCI">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with File System">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="TTY" Cvariant="Breakpoint" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="Basic I/O" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL Common">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="I/O" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP IO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="NOR" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP NOR">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="SDRAM" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP SDRAM">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.4.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL GPIO">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Benchmark" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="NOR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Benchmark" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS_RTX\Templates\RTX_Conf_CM.c" version="4.70.0">
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
|
||||
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\RTE_Device.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\startup_stm32f207xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\stm32f2xx_hal_conf.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\system_stm32f2xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\RTE_Device.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f207xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\stm32f2xx_hal_conf.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2">
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="SFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2">
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config.c">
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_NOR.h" version="6.2.0">
|
||||
<instance index="0" removed="1">RTE\File_System\FS_Config_NOR_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="NOR" Cvendor="Keil" Cversion="6.10.0" condition="File System and Flash Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config.c" version="0.0.0">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="Debug" Cvendor="Keil" Cversion="5.0.2" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="IPv4/IPv6 Release" Cvendor="Keil" Cversion="7.5.0" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_BSD.h">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_BSD.h" version="0.0.0">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="5.0.2" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.5.0" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_DNS_Client.h">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="5.0.2" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_ETH.h">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_ETH.h" version="0.0.0">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="5.0.2" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.5.0" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_TCP.h">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_TCP.h" version="0.0.0">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="5.0.2" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.5.0" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_UDP.h">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_UDP.h" version="0.0.0">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="5.0.2" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Debug.c">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Debug.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="Debug" Cvendor="Keil" Cversion="5.0.2" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-Crypt.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-Crypt.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfCrypt-Core"/>
|
||||
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-FS.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-FS.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfCrypt-Core"/>
|
||||
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-RTX-TCP-FS.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-RTX-TCP-FS.h</instance>
|
||||
<component Cclass="Other" Cgroup="CyaSSL" Csub="RTX,TCP,FS" Cvendor="wolfSSL" Cversion="2.7.0" condition="CyaSSL-RTX,TCP,FS"/>
|
||||
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h">
|
||||
<instance index="0" removed="1">RTE\Other\config.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfCrypt-Core"/>
|
||||
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.5.0" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
|
||||
<instance index="0">RTE\wolfssl\config-Crypt.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h">
|
||||
<instance index="0" removed="1">RTE\wolfssl\config.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\CyaSSL-Licnese.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config-Crypt.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.13.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\wolfssl\wolfcrypt\settings.h">
|
||||
<instance index="0" removed="1">RTE\wolfssl\settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-wolfSSL.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config-wolfSSL.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.12.2"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h">
|
||||
<instance index="0">RTE\wolfssl\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptBenchmark"/>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
</files>
|
||||
|
||||
@@ -1,29 +1,515 @@
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WRITEV
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
|
||||
#define WOLFSSL_GMTIME
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
|
||||
// <h>Common options
|
||||
// <o> MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx
|
||||
#define MDK_CONF_MPU 3
|
||||
#if MDK_CONF_MPU == 0
|
||||
|
||||
#elif MDK_CONF_MPU == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F2xx
|
||||
#elif MDK_CONF_MPU == 2
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F4xx
|
||||
#elif MDK_CONF_MPU == 3
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F7xx
|
||||
#endif
|
||||
|
||||
// <o> Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
#define FREERTOS
|
||||
#elif MDK_CONF_THREAD == 3
|
||||
#define WOLFSSL_SAFERTOS
|
||||
#elif MDK_CONF_THREAD == 4
|
||||
#define USE_WINDOWS_API
|
||||
#elif MDK_CONF_THREAD == 5
|
||||
#define WOLFSSL_PTHREADS
|
||||
#elif MDK_CONF_THREAD == 6
|
||||
#define THREADX
|
||||
#define NETX
|
||||
#elif MDK_CONF_THREAD == 7
|
||||
#define MICRIUM
|
||||
#elif MDK_CONF_THREAD == 8
|
||||
#define EBSNET
|
||||
#elif MDK_CONF_THREAD == 9
|
||||
#define FREESCALE_MQX
|
||||
#define FREESCALE_KSDK_MQX
|
||||
#elif MDK_CONF_THREAD == 10
|
||||
#define WOLFSSL_TIRTOS
|
||||
#elif MDK_CONF_THREAD == 11
|
||||
#define WOLFSSL_uITRON4
|
||||
#elif MDK_CONF_THREAD == 12
|
||||
#define WOLFSSL_uTKERNEL2
|
||||
#elif MDK_CONF_THREAD == 13
|
||||
#define WOLFSSL_FROSTED
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
|
||||
// <e>File System
|
||||
#define MDK_CONF_FILESYSTEM 1
|
||||
#if MDK_CONF_FILESYSTEM == 0
|
||||
#define NO_FILESYSTEM
|
||||
#else
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <o> Network<0=>None <1=>RLnet <2=>User I/O
|
||||
#define MDK_CONF_NETWORK 0
|
||||
#if MDK_CONF_NETWORK == 0
|
||||
#elif MDK_CONF_NETWORK == 1
|
||||
#define WOLFSSL_KEIL_TCP_NET
|
||||
#elif MDK_CONF_NETWORK == 2
|
||||
#define WOLFSSL_USER_IO
|
||||
#endif
|
||||
|
||||
// <h>Debug options
|
||||
|
||||
// <e>Debug Message
|
||||
#define MDK_CONF_DebugMessage 0
|
||||
#if MDK_CONF_DebugMessage == 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Check malloc
|
||||
#define MDK_CONF_CheckMalloc 1
|
||||
#if MDK_CONF_CheckMalloc == 1
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
//</h>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hash DRBG
|
||||
#define MDK_CONF_HASHDRBG 1
|
||||
#if MDK_CONF_HASHDRBG == 1
|
||||
#define HAVE_HASHDRBG
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CURVE25519 SMALL
|
||||
#define MDK_CONF_CURVE25519_SMALL 0
|
||||
#if MDK_CONF_CURVE25519_SMALL == 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519 SMALL
|
||||
#define MDK_CONF_ED25519_SMALL 0
|
||||
#if MDK_CONF_ED25519_SMALL == 1
|
||||
#define ED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <e>Random Seed, for TEST Only
|
||||
#define MDK_CONF_RNDSEED 1
|
||||
#if MDK_CONF_RNDSEED == 1
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
// <h>Cert/Key Generation
|
||||
// <e>CertGen
|
||||
#define MDK_CONF_CERT_GEN 0
|
||||
#if MDK_CONF_CERT_GEN == 1
|
||||
#define WOLFSSL_CERT_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// <e>KeyGen
|
||||
#define MDK_CONF_KEY_GEN 0
|
||||
#if MDK_CONF_KEY_GEN == 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
// </h>
|
||||
|
||||
|
||||
/**** wolfSSL Configuration ****/
|
||||
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>Include Old TLS
|
||||
#define MDK_CONF_NO_OLDTLS 0
|
||||
#if MDK_CONF_NO_OLDTLS == 0
|
||||
#define NO_OLD_TLS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CRL
|
||||
#define MDK_CONF_CRL 0
|
||||
#if MDK_CONF_CRL == 1
|
||||
#define HAVE_CRL
|
||||
#define WOLFSSL_DER_LOAD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OCSP
|
||||
#define MDK_CONF_OCSP 0
|
||||
#if MDK_CONF_OCSP == 1
|
||||
#define HAVE_OCSP
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OpenSSL Extra
|
||||
#define MDK_CONF_OPENSSL_EXTRA 0
|
||||
#if MDK_CONF_OPENSSL_EXTRA == 1
|
||||
#define OPENSSL_EXTRA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
|
||||
@@ -28,16 +28,81 @@
|
||||
#include "wolfcrypt/test/test.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include <time.h>
|
||||
|
||||
/* Dummy definition for test RTC */
|
||||
#define RTC_YEAR 2018
|
||||
#define RTC_MONTH 1
|
||||
#define RTC_DAY 1
|
||||
|
||||
#if defined(STM32F7xx)
|
||||
#include "stm32f7xx_hal.h"
|
||||
#elif defined(STM32F4xx)
|
||||
#include "stm32f4xx_hal.h"
|
||||
#elif defined(STM32F2xx)
|
||||
#include "stm32f2xx_hal.h"
|
||||
#endif
|
||||
|
||||
#warning "write MPU specific Set ups\n"
|
||||
static void SystemClock_Config (void) {
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* System Clock Configuration
|
||||
*----------------------------------------------------------------------------*/
|
||||
void SystemClock_Config(void) {
|
||||
#warning "write MPU specific System Clock Set up\n"
|
||||
}
|
||||
|
||||
static void MPU_Config (void) {
|
||||
|
||||
}
|
||||
|
||||
static void CPU_CACHE_Enable (void) {
|
||||
|
||||
}
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
@@ -48,13 +113,13 @@ static void init_filesystem (void) {
|
||||
int32_t retv;
|
||||
|
||||
retv = finit ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
retv = fmount ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
printf ("Drive M0 ready!\n");
|
||||
}
|
||||
else {
|
||||
printf ("Drive M0 mount failed!\n");
|
||||
printf ("Drive M0 mount failed(%d)!\n", retv);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -66,22 +131,26 @@ static void init_filesystem (void) {
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
void benchmark_test(void *arg) ;
|
||||
void benchmark_test(void *arg) ;
|
||||
|
||||
int main()
|
||||
{
|
||||
void * arg = NULL ;
|
||||
void * arg = NULL ;
|
||||
|
||||
MPU_Config();
|
||||
CPU_CACHE_Enable();
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
osDelay(300) ;
|
||||
|
||||
printf("=== Start: Crypt Benchmark ===\n") ;
|
||||
benchmark_test(arg) ;
|
||||
printf("=== End: Crypt Benchmark ===\n") ;
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
|
||||
setTime((RTC_YEAR-1970)*365*24*60*60 + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60);
|
||||
|
||||
printf("=== Start: Crypt Benchmark ===\n") ;
|
||||
benchmark_test(arg) ;
|
||||
printf("=== End: Crypt Benchmark ===\n") ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
This program is a simple test suite of wolfCrypt library.
|
||||
wolfCrypt test
|
||||
|
||||
In order to run this test suite, copy
|
||||
{PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
|
||||
Use Configuration Wizard tab
|
||||
user_settings.h for wolfCrypt options
|
||||
|
||||
For selecting test crypt algorism options, refer config-Crypt.h.
|
||||
|
||||
For the hardware crypt on config-Crypt.h, download
|
||||
STSW-STM32062: STM32F2xx standard peripherals library at
|
||||
http://www.st.com/. Copy Libraries\STM32F2xx_StdPeriph_Driver\{inc,src} to
|
||||
{PACK}\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
|
||||
Support
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
|
||||
14
IDE/MDK5-ARM/Projects/CryptTest/CryptTest.sct
Normal file
14
IDE/MDK5-ARM/Projects/CryptTest/CryptTest.sct
Normal file
@@ -0,0 +1,14 @@
|
||||
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
|
||||
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
RW_IRAM1 0x20010000 0x00040000 { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
RW_RETARGET 0x2000FFF0 0x00000010 {
|
||||
retarget_io.o (+ZI +RW)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<Extensions>
|
||||
<cExt>*.c</cExt>
|
||||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj</oExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
@@ -26,12 +26,12 @@
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>12000000</CLKADS>
|
||||
<CLKADS>25000000</CLKADS>
|
||||
<OPTTT>
|
||||
<gFlags>1</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>0</RunSim>
|
||||
<RunTarget>1</RunTarget>
|
||||
<RunSim>1</RunSim>
|
||||
<RunTarget>0</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
@@ -45,7 +45,7 @@
|
||||
<PageWidth>79</PageWidth>
|
||||
<PageLength>66</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
@@ -78,23 +78,6 @@
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<Books>
|
||||
<Book>
|
||||
<Number>0</Number>
|
||||
<Title>Schematics (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>1</Number>
|
||||
<Title>User Manual (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>2</Number>
|
||||
<Title>MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200)</Title>
|
||||
<Path>http://www.keil.com/mcbstm32f200/</Path>
|
||||
</Book>
|
||||
</Books>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
@@ -117,7 +100,8 @@
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<nTsel>1</nTsel>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -128,9 +112,14 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile>.\STM32_SWO.ini</tIfile>
|
||||
<pMon>BIN\UL2CM3.DLL</pMon>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U303030303030303030303031 -O8399 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP21 -TDS86F -TDT0 -TDC1F -TIE1 -TIP1 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
@@ -138,13 +127,13 @@
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP0940001 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIE1 -TIP1 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(6017=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -153,38 +142,39 @@
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO7 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>-UM1020ADE -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
<Name>-UV0998FBE -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP21 -TDS86F -TDT0 -TDC1F -TIE1 -TIP1 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>clientKey</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>0x8004dc8</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<ItemText>mfxstm32l152Identifier</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\ARM_Compiler\1.3.2\EventRecorder.scvd</Filename>
|
||||
<Type>Keil.ARM_Compiler.1.3.2</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>0</periodic>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
@@ -210,6 +200,19 @@
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>2000000</DbgClock>
|
||||
</DebugDescription>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
@@ -224,7 +227,6 @@
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\main.c</PathWithFileName>
|
||||
@@ -234,6 +236,46 @@
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Linker Script</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\CryptTest.sct</PathWithFileName>
|
||||
<FilenameWithoutPath>CryptTest.sct</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Documentation</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
@@ -241,24 +283,10 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-Crypt.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
|
||||
@@ -269,24 +297,11 @@
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Documentation</GroupName>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<RteFlg>1</RteFlg>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
|
||||
@@ -10,18 +10,20 @@
|
||||
<TargetName>CryptTest</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060528::V5.06 update 5 (build 528)::ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F207IGHx</Device>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F2xx_DFP.2.2.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM))</FlashDriverDll>
|
||||
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM))</FlashDriverDll>
|
||||
<DeviceId>0</DeviceId>
|
||||
<RegisterFile>$$Device:STM32F207IGHx$Drivers/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h</RegisterFile>
|
||||
<RegisterFile>$$Device:STM32F756NGHx$Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f7xx.h</RegisterFile>
|
||||
<MemoryEnv></MemoryEnv>
|
||||
<Cmp></Cmp>
|
||||
<Asm></Asm>
|
||||
@@ -31,7 +33,7 @@
|
||||
<SLE66CMisc></SLE66CMisc>
|
||||
<SLE66AMisc></SLE66AMisc>
|
||||
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||
<SFDFile>$$Device:STM32F207IGHx$CMSIS\SVD\STM32F20x.svd</SFDFile>
|
||||
<SFDFile>$$Device:STM32F756NGHx$CMSIS\SVD\STM32F7x.svd</SFDFile>
|
||||
<bCustSvd>0</bCustSvd>
|
||||
<UseEnv>0</UseEnv>
|
||||
<BinPath></BinPath>
|
||||
@@ -46,14 +48,14 @@
|
||||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\Object\</OutputDirectory>
|
||||
<OutputDirectory>.\Output\</OutputDirectory>
|
||||
<OutputName>CryptTest</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>0</CreateHexFile>
|
||||
<DebugInformation>1</DebugInformation>
|
||||
<BrowseInformation>1</BrowseInformation>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
<HexFormatSelection>1</HexFormatSelection>
|
||||
<Merge32K>0</Merge32K>
|
||||
<CreateBatchFile>0</CreateBatchFile>
|
||||
@@ -84,6 +86,8 @@
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopA1X>0</nStopA1X>
|
||||
<nStopA2X>0</nStopA2X>
|
||||
</AfterMake>
|
||||
<SelectedForBatchBuild>0</SelectedForBatchBuild>
|
||||
<SVCSIdString></SVCSIdString>
|
||||
@@ -108,11 +112,11 @@
|
||||
<SimDllName>SARMCM3.DLL</SimDllName>
|
||||
<SimDllArguments> -REMAP -MPU</SimDllArguments>
|
||||
<SimDlgDll>DCM.DLL</SimDlgDll>
|
||||
<SimDlgDllArguments>-pCM3</SimDlgDllArguments>
|
||||
<SimDlgDllArguments>-pCM7</SimDlgDllArguments>
|
||||
<TargetDllName>SARMCM3.DLL</TargetDllName>
|
||||
<TargetDllArguments> -MPU</TargetDllArguments>
|
||||
<TargetDlgDll>TCM.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
|
||||
<TargetDlgDllArguments>-pCM7</TargetDlgDllArguments>
|
||||
</DllOption>
|
||||
<DebugOption>
|
||||
<OPTHX>
|
||||
@@ -122,47 +126,6 @@
|
||||
<HexOffset>0</HexOffset>
|
||||
<Oh166RecLen>16</Oh166RecLen>
|
||||
</OPTHX>
|
||||
<Simulator>
|
||||
<UseSimulator>0</UseSimulator>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>1</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>1</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Simulator>
|
||||
<Target>
|
||||
<UseTarget>1</UseTarget>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>1</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>0</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<RestoreTracepoints>1</RestoreTracepoints>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Target>
|
||||
<RunDebugAfterBuild>0</RunDebugAfterBuild>
|
||||
<TargetSelection>1</TargetSelection>
|
||||
<SimDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile></InitializationFile>
|
||||
</SimDlls>
|
||||
<TargetDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile>.\STM32_SWO.ini</InitializationFile>
|
||||
<Driver>BIN\UL2CM3.DLL</Driver>
|
||||
</TargetDlls>
|
||||
</DebugOption>
|
||||
<Utilities>
|
||||
<Flash1>
|
||||
@@ -171,11 +134,11 @@
|
||||
<RunIndependent>0</RunIndependent>
|
||||
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
|
||||
<Capability>1</Capability>
|
||||
<DriverSelection>4100</DriverSelection>
|
||||
<DriverSelection>4096</DriverSelection>
|
||||
</Flash1>
|
||||
<bUseTDR>1</bUseTDR>
|
||||
<Flash2>BIN\UL2CM3.DLL</Flash2>
|
||||
<Flash3></Flash3>
|
||||
<Flash3>"" ()</Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
<pFcarmGrp></pFcarmGrp>
|
||||
@@ -211,7 +174,7 @@
|
||||
<AdsLsxf>1</AdsLsxf>
|
||||
<RvctClst>0</RvctClst>
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M3"</AdsCpuType>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
@@ -220,13 +183,14 @@
|
||||
<hadIRAM>1</hadIRAM>
|
||||
<hadXRAM>0</hadXRAM>
|
||||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>0</RvdsVP>
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<RvdsVP>2</RvdsVP>
|
||||
<hadIRAM2>1</hadIRAM2>
|
||||
<hadIROM2>1</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
<useUlib>0</useUlib>
|
||||
<EndSel>0</EndSel>
|
||||
<uLtcg>0</uLtcg>
|
||||
<nSecure>0</nSecure>
|
||||
<RoSelD>3</RoSelD>
|
||||
<RwSelD>3</RwSelD>
|
||||
<CodeSel>0</CodeSel>
|
||||
@@ -279,8 +243,8 @@
|
||||
</Ocm6>
|
||||
<IRAM>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x20000</Size>
|
||||
<StartAddress>0x20010000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</IRAM>
|
||||
<IROM>
|
||||
<Type>1</Type>
|
||||
@@ -314,8 +278,8 @@
|
||||
</OCR_RVCT4>
|
||||
<OCR_RVCT5>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
<StartAddress>0x200000</StartAddress>
|
||||
<Size>0x100000</Size>
|
||||
</OCR_RVCT5>
|
||||
<OCR_RVCT6>
|
||||
<Type>0</Type>
|
||||
@@ -334,13 +298,13 @@
|
||||
</OCR_RVCT8>
|
||||
<OCR_RVCT9>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x20000</Size>
|
||||
<StartAddress>0x20010000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</OCR_RVCT9>
|
||||
<OCR_RVCT10>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x10000</Size>
|
||||
</OCR_RVCT10>
|
||||
</OnChipMemories>
|
||||
<RvctStartVector></RvctStartVector>
|
||||
@@ -361,9 +325,16 @@
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<uC99>0</uC99>
|
||||
<useXO>0</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>0</vShortEn>
|
||||
<vShortWch>0</vShortWch>
|
||||
<v6Lto>0</v6Lto>
|
||||
<v6WtE>0</v6WtE>
|
||||
<v6Rtti>0</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define>HAVE_CONFIG_H WOLFSSL_USER_SETTINGS MDK_CONF_CryptTest</Define>
|
||||
<Define>USE_STM32756G_EVAL USE_IOEXPANDER WOLFSSL_USER_SETTINGS</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
@@ -378,6 +349,7 @@
|
||||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<uClangAs>0</uClangAs>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
@@ -386,16 +358,16 @@
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
<LDads>
|
||||
<umfTarg>1</umfTarg>
|
||||
<umfTarg>0</umfTarg>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<noStLib>0</noStLib>
|
||||
<RepFail>1</RepFail>
|
||||
<useFile>0</useFile>
|
||||
<TextAddressRange>0x08000000</TextAddressRange>
|
||||
<DataAddressRange>0x20000000</DataAddressRange>
|
||||
<TextAddressRange></TextAddressRange>
|
||||
<DataAddressRange></DataAddressRange>
|
||||
<pXoBase></pXoBase>
|
||||
<ScatterFile></ScatterFile>
|
||||
<ScatterFile>.\CryptTest.sct</ScatterFile>
|
||||
<IncludeLibs></IncludeLibs>
|
||||
<IncludeLibsPath></IncludeLibsPath>
|
||||
<Misc></Misc>
|
||||
@@ -416,17 +388,12 @@
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<GroupName>Linker Script</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>config-Crypt.h</FileName>
|
||||
<FileName>CryptTest.sct</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>user_settings.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
|
||||
<FilePath>.\CryptTest.sct</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
@@ -440,6 +407,19 @@
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>user_settings.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
</Group>
|
||||
@@ -463,367 +443,307 @@
|
||||
</Targets>
|
||||
|
||||
<RTE>
|
||||
<packages>
|
||||
<filter>
|
||||
<targetInfos/>
|
||||
</filter>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
</packages>
|
||||
<apis>
|
||||
<api Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<package name="CMSIS" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="ARM" version="4.1.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.0" Cclass="CMSIS" Cgroup="RTOS" exclusive="1">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
|
||||
<package license="CMSIS\CMSIS END USER LICENCE AGREEMENT.rtf" name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<api Capiversion="1.1.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F4xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="2.0.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
</apis>
|
||||
<components>
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0" condition="CMSIS Core">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.1.1" condition="ARMv6_7_8-M Device">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="Event Recorder" Cvariant="DAP" Cvendor="Keil" Cversion="1.2.1" condition="Cortex-M Device">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.2"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with File System">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="2.02" condition="STM32F2 CMSIS_Driver MCI">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with File System">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="TTY" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O and Event Recorder">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL Common">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="Basic I/O" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="I/O" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP IO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="SDRAM" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP SDRAM">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.4.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL GPIO">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0-dev5"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL DMA">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Test" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0-dev5"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Test" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS_RTX\Templates\RTX_Conf_CM.c" version="4.70.0">
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
|
||||
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\RTE_Device.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<file attr="config" category="header" name="Config\EventRecorderConf.h" version="1.0.0">
|
||||
<instance index="0">RTE\Compiler\EventRecorderConf.h</instance>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="Event Recorder" Cvariant="DAP" Cvendor="Keil" Cversion="1.2.1" condition="Cortex-M Device"/>
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\startup_stm32f207xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\stm32f2xx_hal_conf.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\system_stm32f2xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IGTx\RTE_Device.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IGTx\startup_stm32f207xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IGTx\stm32f2xx_hal_conf.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IGTx\system_stm32f2xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\RTE_Device.h</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Device\Source\system_stm32f2xx.c">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2">
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O and Event Recorder"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2">
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config.c">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="Debug" Cvendor="Keil" Cversion="5.0.2" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_BSD.h">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="5.0.2" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_DNS_Client.h">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="5.0.2" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_ETH.h">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="5.0.2" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_TCP.h">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="5.0.2" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_UDP.h">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="5.0.2" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Debug.c">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Debug.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="Debug" Cvendor="Keil" Cversion="5.0.2" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config-Crypt.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-Crypt.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config-FS.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-FS.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config-RTX-TCP-FS.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-RTX-TCP-FS.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfSSL" Csub="RTX,TCP,FS" Cvendor="wolfSSL" Cversion="3.9.0" condition="CyaSSL-RTX,TCP,FS"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config.h">
|
||||
<instance index="0" removed="1">RTE\Other\config.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.9.0"/>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_NOR.h" version="6.2">
|
||||
<instance index="0" removed="1">RTE\File_System\FS_Config_NOR_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="NOR" Cvendor="Keil" Cversion="6.9.8" condition="File System and Flash Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
|
||||
<instance index="0">RTE\wolfSSL\config-Crypt.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config-Crypt.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.13.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\wolfssl\ctaocrypt\settings.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h">
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
|
||||
@@ -1,31 +1,515 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WRITEV
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
|
||||
#define WOLFSSL_GMTIME
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
|
||||
// <h>Common options
|
||||
// <o> MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx
|
||||
#define MDK_CONF_MPU 3
|
||||
#if MDK_CONF_MPU == 0
|
||||
|
||||
#elif MDK_CONF_MPU == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F2xx
|
||||
#elif MDK_CONF_MPU == 2
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F4xx
|
||||
#elif MDK_CONF_MPU == 3
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F7xx
|
||||
#endif
|
||||
|
||||
// <o> Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
#define FREERTOS
|
||||
#elif MDK_CONF_THREAD == 3
|
||||
#define WOLFSSL_SAFERTOS
|
||||
#elif MDK_CONF_THREAD == 4
|
||||
#define USE_WINDOWS_API
|
||||
#elif MDK_CONF_THREAD == 5
|
||||
#define WOLFSSL_PTHREADS
|
||||
#elif MDK_CONF_THREAD == 6
|
||||
#define THREADX
|
||||
#define NETX
|
||||
#elif MDK_CONF_THREAD == 7
|
||||
#define MICRIUM
|
||||
#elif MDK_CONF_THREAD == 8
|
||||
#define EBSNET
|
||||
#elif MDK_CONF_THREAD == 9
|
||||
#define FREESCALE_MQX
|
||||
#define FREESCALE_KSDK_MQX
|
||||
#elif MDK_CONF_THREAD == 10
|
||||
#define WOLFSSL_TIRTOS
|
||||
#elif MDK_CONF_THREAD == 11
|
||||
#define WOLFSSL_uITRON4
|
||||
#elif MDK_CONF_THREAD == 12
|
||||
#define WOLFSSL_uTKERNEL2
|
||||
#elif MDK_CONF_THREAD == 13
|
||||
#define WOLFSSL_FROSTED
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
|
||||
// <e>File System
|
||||
#define MDK_CONF_FILESYSTEM 1
|
||||
#if MDK_CONF_FILESYSTEM == 0
|
||||
#define NO_FILESYSTEM
|
||||
#else
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <o> Network<0=>None <1=>RLnet <2=>User I/O
|
||||
#define MDK_CONF_NETWORK 0
|
||||
#if MDK_CONF_NETWORK == 0
|
||||
#elif MDK_CONF_NETWORK == 1
|
||||
#define WOLFSSL_KEIL_TCP_NET
|
||||
#elif MDK_CONF_NETWORK == 2
|
||||
#define WOLFSSL_USER_IO
|
||||
#endif
|
||||
|
||||
// <h>Debug options
|
||||
|
||||
// <e>Debug Message
|
||||
#define MDK_CONF_DebugMessage 0
|
||||
#if MDK_CONF_DebugMessage == 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Check malloc
|
||||
#define MDK_CONF_CheckMalloc 1
|
||||
#if MDK_CONF_CheckMalloc == 1
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
//</h>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hash DRBG
|
||||
#define MDK_CONF_HASHDRBG 1
|
||||
#if MDK_CONF_HASHDRBG == 1
|
||||
#define HAVE_HASHDRBG
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CURVE25519 SMALL
|
||||
#define MDK_CONF_CURVE25519_SMALL 0
|
||||
#if MDK_CONF_CURVE25519_SMALL == 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519 SMALL
|
||||
#define MDK_CONF_ED25519_SMALL 0
|
||||
#if MDK_CONF_ED25519_SMALL == 1
|
||||
#define ED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <e>Random Seed, for TEST Only
|
||||
#define MDK_CONF_RNDSEED 1
|
||||
#if MDK_CONF_RNDSEED == 1
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
// <h>Cert/Key Generation
|
||||
// <e>CertGen
|
||||
#define MDK_CONF_CERT_GEN 0
|
||||
#if MDK_CONF_CERT_GEN == 1
|
||||
#define WOLFSSL_CERT_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// <e>KeyGen
|
||||
#define MDK_CONF_KEY_GEN 0
|
||||
#if MDK_CONF_KEY_GEN == 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
// </h>
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WOLFSSL_MDK_SHELL
|
||||
|
||||
/**** wolfSSL Configuration ****/
|
||||
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>Include Old TLS
|
||||
#define MDK_CONF_NO_OLDTLS 0
|
||||
#if MDK_CONF_NO_OLDTLS == 0
|
||||
#define NO_OLD_TLS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CRL
|
||||
#define MDK_CONF_CRL 0
|
||||
#if MDK_CONF_CRL == 1
|
||||
#define HAVE_CRL
|
||||
#define WOLFSSL_DER_LOAD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OCSP
|
||||
#define MDK_CONF_OCSP 0
|
||||
#if MDK_CONF_OCSP == 1
|
||||
#define HAVE_OCSP
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OpenSSL Extra
|
||||
#define MDK_CONF_OPENSSL_EXTRA 0
|
||||
#if MDK_CONF_OPENSSL_EXTRA == 1
|
||||
#define OPENSSL_EXTRA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
|
||||
|
||||
@@ -25,18 +25,82 @@
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#include "wolfcrypt/test/test.h"
|
||||
#include "cmsis_os.h"
|
||||
#include <stdio.h>
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include <time.h>
|
||||
|
||||
/* Dummy definition for test RTC */
|
||||
#define RTC_YEAR 2018
|
||||
#define RTC_MONTH 1
|
||||
#define RTC_DAY 1
|
||||
|
||||
#if defined(STM32F7xx)
|
||||
#include "stm32f7xx_hal.h"
|
||||
#elif defined(STM32F4xx)
|
||||
#include "stm32f4xx_hal.h"
|
||||
#elif defined(STM32F2xx)
|
||||
#include "stm32f2xx_hal.h"
|
||||
#endif
|
||||
|
||||
#warning "write MPU specific Set ups\n"
|
||||
static void SystemClock_Config (void) {
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* System Clock Configuration
|
||||
*----------------------------------------------------------------------------*/
|
||||
void SystemClock_Config(void) {
|
||||
#warning "write MPU specific System Clock Set up\n"
|
||||
}
|
||||
|
||||
static void MPU_Config (void) {
|
||||
|
||||
}
|
||||
|
||||
static void CPU_CACHE_Enable (void) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
@@ -47,13 +111,13 @@ static void init_filesystem (void) {
|
||||
int32_t retv;
|
||||
|
||||
retv = finit ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
retv = fmount ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
printf ("Drive M0 ready!\n");
|
||||
}
|
||||
else {
|
||||
printf ("Drive M0 mount failed!\n");
|
||||
printf ("Drive M0 mount failed(%d)!\n", retv);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -62,23 +126,28 @@ static void init_filesystem (void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
void wolfcrypt_test(void *arg) ;
|
||||
|
||||
int main()
|
||||
{
|
||||
void * arg = NULL ;
|
||||
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
MPU_Config();
|
||||
CPU_CACHE_Enable();
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
osDelay(1000) ;
|
||||
#endif
|
||||
|
||||
printf("=== Start: Crypt test ===\n") ;
|
||||
setTime((RTC_YEAR-1970)*365*24*60*60 + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60);
|
||||
|
||||
printf("=== Start: Crypt test === \n") ;
|
||||
wolfcrypt_test(arg) ;
|
||||
printf("=== End: Crypt test ===\n") ;
|
||||
|
||||
|
||||
@@ -1,22 +1,12 @@
|
||||
This program is echo client with CyaSSL/wolfCrypt library.
|
||||
wolfSSL example: echo Client
|
||||
|
||||
In order to run this program,
|
||||
Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
|
||||
Set config-EchoClient.h configuration file for the Callee IP or Port number.
|
||||
Use Configuration Wizard tab
|
||||
main.c for remote IP address, port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
For further configuration, refer config-Crypt.h and config-CyaSSL.h.
|
||||
|
||||
When testing this client, it is recommended to test against one of the standard
|
||||
CyaSSL example applications running on a desktop machine. The standard CyaSSL
|
||||
example applications are located in the CyaSSL root directory under the
|
||||
<cyassl_root>/examples directory.
|
||||
|
||||
For the hardware crypt on config-Crypt.h, download
|
||||
STSW-STM32062: STM32F2xx standard peripherals library at
|
||||
http://www.st.com/. Copy Libraries\STM32F2xx_StdPeriph_Driver\{inc,src} to
|
||||
{PACK}\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<Extensions>
|
||||
<cExt>*.c</cExt>
|
||||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj</oExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
@@ -22,16 +22,16 @@
|
||||
</DaveTm>
|
||||
|
||||
<Target>
|
||||
<TargetName>STM32F207 Flash</TargetName>
|
||||
<TargetName>echoClient</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>12000000</CLKADS>
|
||||
<CLKADS>25000000</CLKADS>
|
||||
<OPTTT>
|
||||
<gFlags>1</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>0</RunSim>
|
||||
<RunTarget>1</RunTarget>
|
||||
<RunSim>1</RunSim>
|
||||
<RunTarget>0</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
@@ -45,7 +45,7 @@
|
||||
<PageWidth>79</PageWidth>
|
||||
<PageLength>66</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
@@ -78,23 +78,6 @@
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<Books>
|
||||
<Book>
|
||||
<Number>0</Number>
|
||||
<Title>Schematics (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>1</Number>
|
||||
<Title>User Manual (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>2</Number>
|
||||
<Title>MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200)</Title>
|
||||
<Path>http://www.keil.com/mcbstm32f200/</Path>
|
||||
</Book>
|
||||
</Books>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
@@ -117,7 +100,8 @@
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<nTsel>1</nTsel>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -127,10 +111,15 @@
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile>.\STM32_SWO.ini</tIfile>
|
||||
<pMon>BIN\UL2CM3.DLL</pMon>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U303030303030303030303031 -O8399 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO27 -TC216000000 -TP21 -TDS806B -TDT0 -TDC1F -TIEFFFFFFFF -TIP9 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
@@ -139,18 +128,13 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(6017=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMDBGFLAGS</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
@@ -159,32 +143,77 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>-UM1020ADE -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
<Name>-UV0998FBE -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC216000000 -TP21 -TDS80B8 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>185</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134219474</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\echoClient\main.c\185</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>181</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134219494</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\echoClient\main.c\181</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>306</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>.\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>port</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>0x8004dc8</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<ItemText>eth_pins</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.4.1\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.4.1</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>0</periodic>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
@@ -203,13 +232,26 @@
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>1</aSer4>
|
||||
<StkLoc>1</StkLoc>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>2000000</DbgClock>
|
||||
</DebugDescription>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
@@ -224,7 +266,6 @@
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\main.c</PathWithFileName>
|
||||
@@ -234,6 +275,46 @@
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Documentation</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Linker Script</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\wolfssl-link.sct</PathWithFileName>
|
||||
<FilenameWithoutPath>wolfssl-link.sct</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
@@ -241,37 +322,10 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-Crypt.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-wolfSSL.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-wolfSSL.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
|
||||
@@ -282,24 +336,11 @@
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Dcumentation</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<RteFlg>1</RteFlg>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
@@ -312,7 +353,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS Driver</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -320,7 +361,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Compiler</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -336,7 +377,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::File System</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -344,7 +385,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Network</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,31 +0,0 @@
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WOLFSSL_MDK_SHELL
|
||||
|
||||
@@ -23,39 +23,63 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/visibility.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include "wolfssl/wolfcrypt/settings.h"
|
||||
|
||||
#include "cmsis_os.h" /* CMSIS RTOS definitions */
|
||||
#include "rl_net.h" /* Network definitions */
|
||||
#include <time.h>
|
||||
|
||||
#if defined(STM32F7xx)
|
||||
#include "stm32f7xx_hal.h"
|
||||
#elif defined(STM32F4xx)
|
||||
#include "stm32f4xx_hal.h"
|
||||
#elif defined(STM32F2xx)
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
//-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
|
||||
|
||||
// <h>RTC: for validate certificate date
|
||||
// <o>Year <1970-2099>
|
||||
#define RTC_YEAR 2018
|
||||
// <o>Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aut<9=>Sep<10=>Oct<11=>Nov<12=>Dec
|
||||
#define RTC_MONTH 1
|
||||
// <o>Day <1-31>
|
||||
#define RTC_DAY 1
|
||||
// </h>
|
||||
|
||||
//------------- <<< end of configuration section >>> -----------------------
|
||||
|
||||
#warning "write MPU specific Set ups\n"
|
||||
static void SystemClock_Config (void) {
|
||||
|
||||
}
|
||||
|
||||
static void MPU_Config (void) {
|
||||
|
||||
}
|
||||
|
||||
static void CPU_CACHE_Enable (void) {
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize Clock Configuration
|
||||
*----------------------------------------------------------------------------*/
|
||||
void SystemClock_Config(void) {
|
||||
#warning "write MPU specific System Clock Set up\n"
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
#include "rl_fs.h"
|
||||
#include "rl_fs.h" /* FileSystem definitions */
|
||||
|
||||
static void init_filesystem (void) {
|
||||
int32_t retv;
|
||||
|
||||
retv = finit ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
retv = fmount ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
printf ("Drive M0 ready!\n");
|
||||
}
|
||||
else {
|
||||
printf ("Drive M0 mount failed!\n");
|
||||
printf ("Drive M0 mount failed(%d)!\n", retv);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -64,6 +88,68 @@ static void init_filesystem (void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void net_loop(void const *arg)
|
||||
{
|
||||
while(1) {
|
||||
net_main ();
|
||||
osThreadYield ();
|
||||
}
|
||||
}
|
||||
|
||||
osThreadDef(net_loop, osPriorityLow, 2, 0);
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
Main Thread 'main': Run Network
|
||||
*---------------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
@@ -71,30 +157,38 @@ typedef struct func_args {
|
||||
|
||||
extern void echoclient_test(func_args * args) ;
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
|
||||
int main()
|
||||
{
|
||||
func_args args ;
|
||||
args.argc = 1 ;
|
||||
int main (void) {
|
||||
static char *argv[] =
|
||||
{ "client" } ;
|
||||
static func_args args =
|
||||
{ 1, argv } ;
|
||||
|
||||
MPU_Config(); /* Configure the MPU */
|
||||
CPU_CACHE_Enable(); /* Enable the CPU Cache */
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
|
||||
SystemClock_Config ();
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
net_initialize ();
|
||||
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
|
||||
printf("Starting EchoClient, Enter messages to EchoServer (\"quit\" to quit the program)\n") ;
|
||||
setTime((RTC_YEAR-1970)*365*24*60*60 + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60);
|
||||
|
||||
osThreadCreate (osThread(net_loop), NULL);
|
||||
|
||||
echoclient_test(&args) ;
|
||||
printf("End of EchoClient\n") ;
|
||||
|
||||
while(1)
|
||||
osDelay(1000);
|
||||
|
||||
}
|
||||
|
||||
|
||||
14
IDE/MDK5-ARM/Projects/EchoClient/wolfssl-link.sct
Normal file
14
IDE/MDK5-ARM/Projects/EchoClient/wolfssl-link.sct
Normal file
@@ -0,0 +1,14 @@
|
||||
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
|
||||
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
RW_IRAM1 0x20010000 0x00040000 { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
RW_RETARGET 0x2000FFF0 0x00000010 {
|
||||
retarget_io.o (+ZI +RW)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +1,12 @@
|
||||
This program is echo server with CyaSSL/wolfCrypt library.
|
||||
wolfSSL example: echo Server
|
||||
|
||||
In order to run this program,
|
||||
Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
|
||||
Set the server IP address in Net_Config_ETH_0.h
|
||||
The server default port is 11111, defined in test.h.
|
||||
Use Configuration Wizard tab
|
||||
main.c for server port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
For further configuration, refer config-Crypt.h and config-CyaSSL.h.
|
||||
|
||||
When testing this server, it is recommended to test against one of the standard
|
||||
CyaSSL example applications running on a desktop machine. The standard CyaSSL
|
||||
example applications are located in the CyaSSL root directory under the
|
||||
<cyassl_root>/examples directory.
|
||||
|
||||
For the hardware crypt on config-Crypt.h, download
|
||||
STSW-STM32062: STM32F2xx standard peripherals library at
|
||||
http://www.st.com/. Copy Libraries\STM32F2xx_StdPeriph_Driver\{inc,src} to
|
||||
{PACK}\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<Extensions>
|
||||
<cExt>*.c</cExt>
|
||||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj</oExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
@@ -22,16 +22,16 @@
|
||||
</DaveTm>
|
||||
|
||||
<Target>
|
||||
<TargetName>STM32F207 Flash</TargetName>
|
||||
<TargetName>echoServer</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>12000000</CLKADS>
|
||||
<CLKADS>25000000</CLKADS>
|
||||
<OPTTT>
|
||||
<gFlags>1</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>0</RunSim>
|
||||
<RunTarget>1</RunTarget>
|
||||
<RunSim>1</RunSim>
|
||||
<RunTarget>0</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
@@ -45,7 +45,7 @@
|
||||
<PageWidth>79</PageWidth>
|
||||
<PageLength>66</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
@@ -78,23 +78,6 @@
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<Books>
|
||||
<Book>
|
||||
<Number>0</Number>
|
||||
<Title>Schematics (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>1</Number>
|
||||
<Title>User Manual (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>2</Number>
|
||||
<Title>MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200)</Title>
|
||||
<Path>http://www.keil.com/mcbstm32f200/</Path>
|
||||
</Book>
|
||||
</Books>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
@@ -117,7 +100,8 @@
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<nTsel>1</nTsel>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -127,10 +111,15 @@
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile>.\STM32_SWO.ini</tIfile>
|
||||
<pMon>BIN\UL2CM3.DLL</pMon>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U303030303030303030303031 -O8399 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO27 -TC216000000 -TP21 -TDS806B -TDT0 -TDC1F -TIEFFFFFFFF -TIP9 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
@@ -139,18 +128,13 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(6017=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMDBGFLAGS</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
@@ -159,32 +143,28 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>-UM1020ADE -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
<Name>-UV0998FBE -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC216000000 -TP21 -TDS80B8 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>port</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>0x8004dc8</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<ItemText>eth_pins</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>0</periodic>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
@@ -203,13 +183,26 @@
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>1</aSer4>
|
||||
<StkLoc>1</StkLoc>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>2000000</DbgClock>
|
||||
</DebugDescription>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
@@ -224,7 +217,6 @@
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\main.c</PathWithFileName>
|
||||
@@ -234,6 +226,46 @@
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Documentation</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Linker Script</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\wolfssl-link.sct</PathWithFileName>
|
||||
<FilenameWithoutPath>wolfssl-link.sct</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
@@ -241,37 +273,10 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-Crypt.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-wolfSSL.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-wolfSSL.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
|
||||
@@ -282,24 +287,11 @@
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Dcumentation</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<RteFlg>1</RteFlg>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
@@ -312,7 +304,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS Driver</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -320,7 +312,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Compiler</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -336,7 +328,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::File System</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -344,7 +336,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Network</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,31 +0,0 @@
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WOLFSSL_MDK_SHELL
|
||||
|
||||
@@ -23,39 +23,82 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/visibility.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include "wolfssl/wolfcrypt/settings.h"
|
||||
|
||||
#include "cmsis_os.h" /* CMSIS RTOS definitions */
|
||||
#include "rl_net.h" /* Network definitions */
|
||||
#include <time.h>
|
||||
|
||||
#if defined(STM32F7xx)
|
||||
#include "stm32f7xx_hal.h"
|
||||
#elif defined(STM32F4xx)
|
||||
#include "stm32f4xx_hal.h"
|
||||
#elif defined(STM32F2xx)
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
//-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
|
||||
|
||||
// <h>Server parameter
|
||||
// ====================
|
||||
|
||||
// <s.6>Port
|
||||
// <i> Default: "11111"
|
||||
#define SERVER_PORT "11111"
|
||||
// </h>
|
||||
|
||||
// <h>Protocol
|
||||
// ====================
|
||||
|
||||
// <o>SSL/TLS Version<0=> SSL3 <1=> TLS1.0 <2=> TLS1.1 <3=> TLS1.2 <4=> TLS1.3
|
||||
#define TLS_VER 3
|
||||
|
||||
// <s.2>Other option
|
||||
#define OTHER_OPTIONS ""
|
||||
// </h>
|
||||
|
||||
// <h>RTC: for validate certificate date
|
||||
// <o>Year <1970-2099>
|
||||
#define RTC_YEAR 2018
|
||||
// <o>Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aut<9=>Sep<10=>Oct<11=>Nov<12=>Dec
|
||||
#define RTC_MONTH 1
|
||||
// <o>Day <1-31>
|
||||
#define RTC_DAY 1
|
||||
// </h>
|
||||
|
||||
//------------- <<< end of configuration section >>> -----------------------
|
||||
|
||||
#warning "write MPU specific Set ups\n"
|
||||
static void SystemClock_Config (void) {
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize Clock Configuration
|
||||
*----------------------------------------------------------------------------*/
|
||||
void SystemClock_Config(void) {
|
||||
#warning "write MPU specific System Clock Set up\n"
|
||||
}
|
||||
|
||||
static void MPU_Config (void) {
|
||||
|
||||
}
|
||||
|
||||
static void CPU_CACHE_Enable (void) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
#include "rl_fs.h"
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
#include "rl_fs.h" /* FileSystem definitions */
|
||||
|
||||
static void init_filesystem (void) {
|
||||
int32_t retv;
|
||||
|
||||
retv = finit ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
retv = fmount ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
printf ("Drive M0 ready!\n");
|
||||
}
|
||||
else {
|
||||
printf ("Drive M0 mount failed!\n");
|
||||
printf ("Drive M0 mount failed(%d)!\n", retv);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -65,10 +108,68 @@ static void init_filesystem (void) {
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
void net_loop(void const *arg)
|
||||
{
|
||||
while(1) {
|
||||
net_main ();
|
||||
osThreadYield ();
|
||||
}
|
||||
}
|
||||
|
||||
osThreadDef(net_loop, osPriorityLow, 2, 0);
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
Main Thread 'main': Run Network
|
||||
*---------------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
@@ -76,22 +177,37 @@ typedef struct func_args {
|
||||
|
||||
extern void echoserver_test(func_args * args) ;
|
||||
|
||||
int main()
|
||||
{
|
||||
func_args args ;
|
||||
args.argc = 1 ;
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
|
||||
int main (void) {
|
||||
static char *argv[] =
|
||||
{ "server" } ;
|
||||
static func_args args = { 1, argv } ;
|
||||
|
||||
MPU_Config(); /* Configure the MPU */
|
||||
CPU_CACHE_Enable(); /* Enable the CPU Cache */
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
|
||||
SystemClock_Config ();
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
net_initialize ();
|
||||
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
printf("echoserver: Started\n") ;
|
||||
|
||||
setTime((RTC_YEAR-1970)*365*24*60*60 + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60);
|
||||
|
||||
osThreadCreate (osThread(net_loop), NULL);
|
||||
|
||||
echoserver_test(&args) ;
|
||||
printf("echoserver: Terminated\n") ;
|
||||
while(1)
|
||||
osDelay(1000);
|
||||
|
||||
}
|
||||
|
||||
|
||||
14
IDE/MDK5-ARM/Projects/EchoServer/wolfssl-link.sct
Normal file
14
IDE/MDK5-ARM/Projects/EchoServer/wolfssl-link.sct
Normal file
@@ -0,0 +1,14 @@
|
||||
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
|
||||
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
RW_IRAM1 0x20010000 0x00040000 { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
RW_RETARGET 0x2000FFF0 0x00000010 {
|
||||
retarget_io.o (+ZI +RW)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +1,12 @@
|
||||
This program is a simple client example with CyaSSL/wolfCrypt library.
|
||||
wolfSSL example: TLS Client
|
||||
|
||||
In order to run this program,
|
||||
Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
|
||||
Set config-SimpleClient.h configuration file for the Callee IP or Port number.
|
||||
Use Configuration Wizard tab
|
||||
main.c for remote IP address, port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
For further configuration, refer config-Crypt.h and config-CyaSSL.h.
|
||||
config-SimpleClient.h is to configure repote callee IP and port.
|
||||
|
||||
When testing this client, it is recommended to test against one of the standard
|
||||
CyaSSL example applications running on a desktop machine. The standard CyaSSL
|
||||
example applications are located in the CyaSSL root directory under the
|
||||
<cyassl_root>/examples directory.
|
||||
|
||||
For the hardware crypt on config-Crypt.h, download
|
||||
STSW-STM32062: STM32F2xx standard peripherals library at
|
||||
http://www.st.com/. Copy Libraries\STM32F2xx_StdPeriph_Driver\{inc,src} to
|
||||
{PACK}\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WOLFSSL_MDK_SHELL
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<Extensions>
|
||||
<cExt>*.c</cExt>
|
||||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj</oExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
@@ -22,16 +22,16 @@
|
||||
</DaveTm>
|
||||
|
||||
<Target>
|
||||
<TargetName>STM32F207 Flash</TargetName>
|
||||
<TargetName>SimpleClient</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>12000000</CLKADS>
|
||||
<CLKADS>25000000</CLKADS>
|
||||
<OPTTT>
|
||||
<gFlags>1</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>0</RunSim>
|
||||
<RunTarget>1</RunTarget>
|
||||
<RunSim>1</RunSim>
|
||||
<RunTarget>0</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
@@ -45,7 +45,7 @@
|
||||
<PageWidth>79</PageWidth>
|
||||
<PageLength>66</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
@@ -78,23 +78,6 @@
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<Books>
|
||||
<Book>
|
||||
<Number>0</Number>
|
||||
<Title>Schematics (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>1</Number>
|
||||
<Title>User Manual (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>2</Number>
|
||||
<Title>MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200)</Title>
|
||||
<Path>http://www.keil.com/mcbstm32f200/</Path>
|
||||
</Book>
|
||||
</Books>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
@@ -117,7 +100,8 @@
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<nTsel>1</nTsel>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -127,10 +111,15 @@
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile>.\STM32_SWO.ini</tIfile>
|
||||
<pMon>BIN\UL2CM3.DLL</pMon>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U303030303030303030303031 -O8399 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO27 -TC216000000 -TP21 -TDS806B -TDT0 -TDC1F -TIEFFFFFFFF -TIP9 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
@@ -139,18 +128,13 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(6017=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMDBGFLAGS</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
@@ -159,14 +143,46 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>-UM1020ADE -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
<Name>-UV0998FBE -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC216000000 -TP21 -TDS80B8 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>109</LineNumber>
|
||||
<LineNumber>185</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134219474</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\SimpleClient\main.c\185</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>181</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134219494</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\SimpleClient\main.c\181</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>306</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
@@ -180,28 +196,24 @@
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>port</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>0x8004dc8</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<ItemText>eth_pins</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.4.1\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.4.1</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>0</periodic>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
@@ -220,13 +232,26 @@
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>1</aSer4>
|
||||
<StkLoc>1</StkLoc>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>2000000</DbgClock>
|
||||
</DebugDescription>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
@@ -241,7 +266,6 @@
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\main.c</PathWithFileName>
|
||||
@@ -249,16 +273,43 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Documentation</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\time-CortexM3-4.c</PathWithFileName>
|
||||
<FilenameWithoutPath>time-CortexM3-4.c</FilenameWithoutPath>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Linker Script</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\wolfssl-link.sct</PathWithFileName>
|
||||
<FilenameWithoutPath>wolfssl-link.sct</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
@@ -271,37 +322,10 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-Crypt.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-wolfSSL.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-wolfSSL.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
|
||||
@@ -309,40 +333,14 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\config-SimpleClient.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-SimpleClient.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Dcumentation</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<RteFlg>1</RteFlg>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
@@ -355,7 +353,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS Driver</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -363,7 +361,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Compiler</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -379,7 +377,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::File System</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -387,7 +385,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Network</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
|
||||
893
IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvprojx
Normal file
893
IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvprojx
Normal file
@@ -0,0 +1,893 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
|
||||
|
||||
<SchemaVersion>2.1</SchemaVersion>
|
||||
|
||||
<Header>### uVision Project, (C) Keil Software</Header>
|
||||
|
||||
<Targets>
|
||||
<Target>
|
||||
<TargetName>SimpleClient</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060528::V5.06 update 5 (build 528)::ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM))</FlashDriverDll>
|
||||
<DeviceId>0</DeviceId>
|
||||
<RegisterFile>$$Device:STM32F756NGHx$Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f7xx.h</RegisterFile>
|
||||
<MemoryEnv></MemoryEnv>
|
||||
<Cmp></Cmp>
|
||||
<Asm></Asm>
|
||||
<Linker></Linker>
|
||||
<OHString></OHString>
|
||||
<InfinionOptionDll></InfinionOptionDll>
|
||||
<SLE66CMisc></SLE66CMisc>
|
||||
<SLE66AMisc></SLE66AMisc>
|
||||
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||
<SFDFile>$$Device:STM32F756NGHx$CMSIS\SVD\STM32F7x.svd</SFDFile>
|
||||
<bCustSvd>0</bCustSvd>
|
||||
<UseEnv>0</UseEnv>
|
||||
<BinPath></BinPath>
|
||||
<IncludePath></IncludePath>
|
||||
<LibPath></LibPath>
|
||||
<RegisterFilePath></RegisterFilePath>
|
||||
<DBRegisterFilePath></DBRegisterFilePath>
|
||||
<TargetStatus>
|
||||
<Error>0</Error>
|
||||
<ExitCodeStop>0</ExitCodeStop>
|
||||
<ButtonStop>0</ButtonStop>
|
||||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\Output\</OutputDirectory>
|
||||
<OutputName>SimpleClient</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>0</CreateHexFile>
|
||||
<DebugInformation>1</DebugInformation>
|
||||
<BrowseInformation>1</BrowseInformation>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
<HexFormatSelection>1</HexFormatSelection>
|
||||
<Merge32K>0</Merge32K>
|
||||
<CreateBatchFile>0</CreateBatchFile>
|
||||
<BeforeCompile>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopU1X>0</nStopU1X>
|
||||
<nStopU2X>0</nStopU2X>
|
||||
</BeforeCompile>
|
||||
<BeforeMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopB1X>0</nStopB1X>
|
||||
<nStopB2X>0</nStopB2X>
|
||||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopA1X>0</nStopA1X>
|
||||
<nStopA2X>0</nStopA2X>
|
||||
</AfterMake>
|
||||
<SelectedForBatchBuild>0</SelectedForBatchBuild>
|
||||
<SVCSIdString></SVCSIdString>
|
||||
</TargetCommonOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>0</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>1</IncludeInBuild>
|
||||
<AlwaysBuild>0</AlwaysBuild>
|
||||
<GenerateAssemblyFile>0</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>0</AssembleAssemblyFile>
|
||||
<PublicsOnly>0</PublicsOnly>
|
||||
<StopOnExitCode>3</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
</CommonProperty>
|
||||
<DllOption>
|
||||
<SimDllName>SARMCM3.DLL</SimDllName>
|
||||
<SimDllArguments> -REMAP -MPU</SimDllArguments>
|
||||
<SimDlgDll>DCM.DLL</SimDlgDll>
|
||||
<SimDlgDllArguments>-pCM7</SimDlgDllArguments>
|
||||
<TargetDllName>SARMCM3.DLL</TargetDllName>
|
||||
<TargetDllArguments> -MPU</TargetDllArguments>
|
||||
<TargetDlgDll>TCM.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-pCM7</TargetDlgDllArguments>
|
||||
</DllOption>
|
||||
<DebugOption>
|
||||
<OPTHX>
|
||||
<HexSelection>1</HexSelection>
|
||||
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||
<HexOffset>0</HexOffset>
|
||||
<Oh166RecLen>16</Oh166RecLen>
|
||||
</OPTHX>
|
||||
</DebugOption>
|
||||
<Utilities>
|
||||
<Flash1>
|
||||
<UseTargetDll>1</UseTargetDll>
|
||||
<UseExternalTool>0</UseExternalTool>
|
||||
<RunIndependent>0</RunIndependent>
|
||||
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
|
||||
<Capability>1</Capability>
|
||||
<DriverSelection>4096</DriverSelection>
|
||||
</Flash1>
|
||||
<bUseTDR>1</bUseTDR>
|
||||
<Flash2>BIN\UL2CM3.DLL</Flash2>
|
||||
<Flash3>"" ()</Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
<pFcarmGrp></pFcarmGrp>
|
||||
<pFcArmRoot></pFcArmRoot>
|
||||
<FcArmLst>0</FcArmLst>
|
||||
</Utilities>
|
||||
<TargetArmAds>
|
||||
<ArmAdsMisc>
|
||||
<GenerateListings>0</GenerateListings>
|
||||
<asHll>1</asHll>
|
||||
<asAsm>1</asAsm>
|
||||
<asMacX>1</asMacX>
|
||||
<asSyms>1</asSyms>
|
||||
<asFals>1</asFals>
|
||||
<asDbgD>1</asDbgD>
|
||||
<asForm>1</asForm>
|
||||
<ldLst>0</ldLst>
|
||||
<ldmm>1</ldmm>
|
||||
<ldXref>1</ldXref>
|
||||
<BigEnd>0</BigEnd>
|
||||
<AdsALst>1</AdsALst>
|
||||
<AdsACrf>1</AdsACrf>
|
||||
<AdsANop>0</AdsANop>
|
||||
<AdsANot>0</AdsANot>
|
||||
<AdsLLst>1</AdsLLst>
|
||||
<AdsLmap>1</AdsLmap>
|
||||
<AdsLcgr>1</AdsLcgr>
|
||||
<AdsLsym>1</AdsLsym>
|
||||
<AdsLszi>1</AdsLszi>
|
||||
<AdsLtoi>1</AdsLtoi>
|
||||
<AdsLsun>1</AdsLsun>
|
||||
<AdsLven>1</AdsLven>
|
||||
<AdsLsxf>1</AdsLsxf>
|
||||
<RvctClst>0</RvctClst>
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
<hadIRAM>1</hadIRAM>
|
||||
<hadXRAM>0</hadXRAM>
|
||||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>2</RvdsVP>
|
||||
<hadIRAM2>1</hadIRAM2>
|
||||
<hadIROM2>1</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
<useUlib>0</useUlib>
|
||||
<EndSel>0</EndSel>
|
||||
<uLtcg>0</uLtcg>
|
||||
<nSecure>0</nSecure>
|
||||
<RoSelD>3</RoSelD>
|
||||
<RwSelD>3</RwSelD>
|
||||
<CodeSel>0</CodeSel>
|
||||
<OptFeed>0</OptFeed>
|
||||
<NoZi1>0</NoZi1>
|
||||
<NoZi2>0</NoZi2>
|
||||
<NoZi3>0</NoZi3>
|
||||
<NoZi4>0</NoZi4>
|
||||
<NoZi5>0</NoZi5>
|
||||
<Ro1Chk>0</Ro1Chk>
|
||||
<Ro2Chk>0</Ro2Chk>
|
||||
<Ro3Chk>0</Ro3Chk>
|
||||
<Ir1Chk>1</Ir1Chk>
|
||||
<Ir2Chk>0</Ir2Chk>
|
||||
<Ra1Chk>0</Ra1Chk>
|
||||
<Ra2Chk>0</Ra2Chk>
|
||||
<Ra3Chk>0</Ra3Chk>
|
||||
<Im1Chk>1</Im1Chk>
|
||||
<Im2Chk>0</Im2Chk>
|
||||
<OnChipMemories>
|
||||
<Ocm1>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm1>
|
||||
<Ocm2>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm2>
|
||||
<Ocm3>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm3>
|
||||
<Ocm4>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm4>
|
||||
<Ocm5>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm5>
|
||||
<Ocm6>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm6>
|
||||
<IRAM>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20010000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</IRAM>
|
||||
<IROM>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x8000000</StartAddress>
|
||||
<Size>0x100000</Size>
|
||||
</IROM>
|
||||
<XRAM>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</XRAM>
|
||||
<OCR_RVCT1>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT1>
|
||||
<OCR_RVCT2>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT2>
|
||||
<OCR_RVCT3>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT3>
|
||||
<OCR_RVCT4>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x8000000</StartAddress>
|
||||
<Size>0x100000</Size>
|
||||
</OCR_RVCT4>
|
||||
<OCR_RVCT5>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x200000</StartAddress>
|
||||
<Size>0x100000</Size>
|
||||
</OCR_RVCT5>
|
||||
<OCR_RVCT6>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT6>
|
||||
<OCR_RVCT7>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT7>
|
||||
<OCR_RVCT8>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT8>
|
||||
<OCR_RVCT9>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20010000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</OCR_RVCT9>
|
||||
<OCR_RVCT10>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x10000</Size>
|
||||
</OCR_RVCT10>
|
||||
</OnChipMemories>
|
||||
<RvctStartVector></RvctStartVector>
|
||||
</ArmAdsMisc>
|
||||
<Cads>
|
||||
<interw>1</interw>
|
||||
<Optim>4</Optim>
|
||||
<oTime>0</oTime>
|
||||
<SplitLS>0</SplitLS>
|
||||
<OneElfS>0</OneElfS>
|
||||
<Strict>0</Strict>
|
||||
<EnumInt>0</EnumInt>
|
||||
<PlainCh>0</PlainCh>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<wLevel>0</wLevel>
|
||||
<uThumb>0</uThumb>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<uC99>0</uC99>
|
||||
<useXO>0</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>0</vShortEn>
|
||||
<vShortWch>0</vShortWch>
|
||||
<v6Lto>0</v6Lto>
|
||||
<v6WtE>0</v6WtE>
|
||||
<v6Rtti>0</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls>--diag_suppress=68 --diag_suppress=1293</MiscControls>
|
||||
<Define>USE_STM32756G_EVAL USE_IOEXPANDER WOLFSSL_USER_SETTINGS</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
<interw>1</interw>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<thumb>0</thumb>
|
||||
<SplitLS>0</SplitLS>
|
||||
<SwStkChk>0</SwStkChk>
|
||||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<uClangAs>0</uClangAs>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
<LDads>
|
||||
<umfTarg>1</umfTarg>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<noStLib>0</noStLib>
|
||||
<RepFail>1</RepFail>
|
||||
<useFile>0</useFile>
|
||||
<TextAddressRange></TextAddressRange>
|
||||
<DataAddressRange></DataAddressRange>
|
||||
<pXoBase></pXoBase>
|
||||
<ScatterFile>.\Output\BSD_Client.sct</ScatterFile>
|
||||
<IncludeLibs></IncludeLibs>
|
||||
<IncludeLibsPath></IncludeLibsPath>
|
||||
<Misc>--diag_suppress=68</Misc>
|
||||
<LinkerInputFile></LinkerInputFile>
|
||||
<DisabledWarnings></DisabledWarnings>
|
||||
</LDads>
|
||||
</TargetArmAds>
|
||||
</TargetOption>
|
||||
<Groups>
|
||||
<Group>
|
||||
<GroupName>Source</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\main.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Documentation</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>Abstract.txt</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\Abstract.txt</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Linker Script</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>wolfssl-link.sct</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\wolfssl-link.sct</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>user_settings.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS Driver</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Compiler</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Device</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::File System</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Network</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::wolfSSL</GroupName>
|
||||
</Group>
|
||||
</Groups>
|
||||
</Target>
|
||||
</Targets>
|
||||
|
||||
<RTE>
|
||||
<apis>
|
||||
<api Capiversion="1.00" Cclass="Board Support" Cgroup="Graphic LCD" exclusive="0">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="6.5.0-RC2"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.00" Cclass="Board Support" Cgroup="LED" exclusive="0">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="6.5.0-RC2"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.01" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="ARM" version="4.1.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.00" Cclass="CMSIS Driver" Cgroup="Ethernet PHY" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="ARM" version="4.1.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.1.0" Cclass="CMSIS Driver" Cgroup="Flash" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.3.0" Cclass="CMSIS Driver" Cgroup="MCI" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
|
||||
<package license="CMSIS\CMSIS END USER LICENCE AGREEMENT.rtf" name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.1.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F4xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="2.0.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
</apis>
|
||||
<components>
|
||||
<component Capiversion="2.0.0" Cclass="CMSIS Driver" Cgroup="Ethernet PHY" Csub="DP83848C" Cvendor="ARM" Cversion="6.2.0" condition="CMSIS Core">
|
||||
<package name="CMSIS-Driver" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="ARM" version="2.1.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.0.0" Cclass="CMSIS Driver" Cgroup="Flash" Csub="M29EW28F128" Cvendor="ARM" Cversion="1.3.0" condition="CMSIS Core">
|
||||
<package name="CMSIS-Driver" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="ARM" version="2.1.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.1.1" condition="ARMv6_7_8-M Device">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with File System">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="TTY" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.1" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.4.9" url="http://www.keil.com/pack/" vendor="Keil" version="1.3.3"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="Basic I/O" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.8.0-dev7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="I/O" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP IO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.8.0-dev7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Drivers" Csub="SDRAM" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL BSP SDRAM">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.8.0-dev7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.00" Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="Graphic LCD" Cvendor="Keil" Cversion="1.1.0" condition="STM32756G-EVAL GLCD">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.8.0-dev7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.00" Cbundle="STM32756G-EVAL" Cclass="Board Support" Cgroup="LED" Cvendor="Keil" Cversion="1.1.0" condition="STM32F7 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.8.0-dev7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.0" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Cvendor="Keil" Cversion="1.3.0" condition="STM32F7 CMSIS_Driver ETH_MAC">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.4.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0-dev5"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="LTDC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7x6_7x7_7x8_7x9 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0-dev5"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="SimpleClient" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfSSL-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.74.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config.c" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_BSD.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_DNS_Client.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_ETH.h" version="5.1.0">
|
||||
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_TCP.h" version="5.0.1">
|
||||
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_UDP.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config-Crypt.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.13.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-wolfSSL.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config-wolfSSL.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.13.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
</files>
|
||||
</RTE>
|
||||
|
||||
</Project>
|
||||
@@ -1,52 +0,0 @@
|
||||
/* config-RTX-TCP-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 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
|
||||
*/
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
// <h> Build Target: Simple Client
|
||||
// <s.15>Callee IP Address
|
||||
// <i> Default: "192.168.1.100"
|
||||
#define WOLFSSL_CALLEE_IP "192.168.10.8"
|
||||
// <s.15>Callee Port Number
|
||||
// <i> Default: "443"
|
||||
#define WOLFSSL_CALLEE_PORT "11111"
|
||||
// <o>HTTP GET Option <0=> HTTP Get <1=> SSL/TLS Message
|
||||
#define MDK_CONF_HTTP_GET 0
|
||||
#if MDK_CONF_HTTP_GET == 0
|
||||
#define WOLFSSL_HTTP_GET "-g"
|
||||
#define WOLFSSL_HTTP_GET_COUNT 1
|
||||
#elif MDK_CONF_HTTP_GET == 1
|
||||
#define WOLFSSL_HTTP_GET ""
|
||||
#define WOLFSSL_HTTP_GET_COUNT 0
|
||||
#endif
|
||||
// <o>SSL/TLS Version <0=> SSL3 <1=> TLS 1.0 <2=> TLS 1.1 <3=> TLS 1.2
|
||||
#define MDK_CONF_SSL_VERSION 3
|
||||
#if MDK_CONF_SSL_VERSION == 0
|
||||
#define WOLFSSL_SSL_VER "0"
|
||||
#elif MDK_CONF_SSL_VERSION == 1
|
||||
#define WOLFSSL_SSL_VER "1"
|
||||
#elif MDK_CONF_SSL_VERSION == 2
|
||||
#define WOLFSSL_SSL_VER "2"
|
||||
#elif MDK_CONF_SSL_VERSION == 3
|
||||
#define WOLFSSL_SSL_VER "3"
|
||||
#endif
|
||||
|
||||
// </h>
|
||||
// <<< end of configuration section >>>
|
||||
@@ -23,39 +23,86 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/visibility.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include "wolfssl/wolfcrypt/settings.h"
|
||||
|
||||
#include "cmsis_os.h" /* CMSIS RTOS definitions */
|
||||
#include "rl_net.h" /* Network definitions */
|
||||
#include <time.h>
|
||||
|
||||
#if defined(STM32F7xx)
|
||||
#include "stm32f7xx_hal.h"
|
||||
#elif defined(STM32F4xx)
|
||||
#include "stm32f4xx_hal.h"
|
||||
#elif defined(STM32F2xx)
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
//-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
|
||||
|
||||
// <h>Remote Address
|
||||
// ====================
|
||||
//
|
||||
// <s.15>IP Address
|
||||
// <i>Static IPv4 Address
|
||||
// <i>Default: "192.168.1.1"
|
||||
#define REMOTE_IP "192.168.10.4"
|
||||
|
||||
// <s.6>Port
|
||||
// <i> Default: "11111"
|
||||
#define REMOTE_PORT "11111"
|
||||
// </h>
|
||||
|
||||
// <h>Protocol
|
||||
// ====================
|
||||
|
||||
// <o>SSL/TLS Version<0=> SSL3 <1=> TLS1.0 <2=> TLS1.1 <3=> TLS1.2 <4=> TLS1.3
|
||||
#define TLS_VER 3
|
||||
|
||||
// <s.2>Other option
|
||||
#define OTHER_OPTIONS ""
|
||||
// </h>
|
||||
|
||||
// <h>RTC: for validate certificate date
|
||||
// <o>Year <1970-2099>
|
||||
#define RTC_YEAR 2018
|
||||
// <o>Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aut<9=>Sep<10=>Oct<11=>Nov<12=>Dec
|
||||
#define RTC_MONTH 1
|
||||
// <o>Day <1-31>
|
||||
#define RTC_DAY 1
|
||||
// </h>
|
||||
|
||||
//------------- <<< end of configuration section >>> -----------------------
|
||||
#warning "write MPU specific Set ups\n"
|
||||
static void SystemClock_Config (void) {
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize Clock Configuration
|
||||
*----------------------------------------------------------------------------*/
|
||||
void SystemClock_Config(void) {
|
||||
#warning "write MPU specific System Clock Set up\n"
|
||||
}
|
||||
|
||||
static void MPU_Config (void) {
|
||||
|
||||
}
|
||||
|
||||
static void CPU_CACHE_Enable (void) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
#include "rl_fs.h"
|
||||
#include "rl_fs.h" /* FileSystem definitions */
|
||||
|
||||
static void init_filesystem (void) {
|
||||
int32_t retv;
|
||||
|
||||
retv = finit ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
retv = fmount ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
printf ("Drive M0 ready!\n");
|
||||
}
|
||||
else {
|
||||
printf ("Drive M0 mount failed!\n");
|
||||
printf ("Drive M0 mount failed(%d)!\n", retv);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -64,6 +111,68 @@ static void init_filesystem (void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void net_loop(void const *arg)
|
||||
{
|
||||
while(1) {
|
||||
net_main ();
|
||||
osThreadYield ();
|
||||
}
|
||||
}
|
||||
|
||||
osThreadDef(net_loop, osPriorityLow, 2, 0);
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
Main Thread 'main': Run Network
|
||||
*---------------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
@@ -71,39 +180,49 @@ typedef struct func_args {
|
||||
|
||||
extern void client_test(func_args * args) ;
|
||||
|
||||
#include "config-SimpleClient.h"
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
|
||||
int main()
|
||||
{
|
||||
int main (void) {
|
||||
static char *argv[] =
|
||||
{ "client", "-h", WOLFSSL_CALLEE_IP, "-p", WOLFSSL_CALLEE_PORT,
|
||||
"-v", WOLFSSL_SSL_VER, WOLFSSL_HTTP_GET } ;
|
||||
{ "client", "-h", REMOTE_IP, "-p", REMOTE_PORT,
|
||||
"-v", " ", OTHER_OPTIONS } ;
|
||||
static func_args args =
|
||||
{ 7 + WOLFSSL_HTTP_GET_COUNT, argv } ;
|
||||
{ sizeof(argv)/sizeof(*argv[0]), argv } ;
|
||||
|
||||
char *verStr[] = { "SSL3", "TLS1.0", "TLS1.1", "TLS1.2", "TLS1.3"};
|
||||
#define VERSIZE 2
|
||||
char ver[VERSIZE];
|
||||
|
||||
MPU_Config(); /* Configure the MPU */
|
||||
CPU_CACHE_Enable(); /* Enable the CPU Cache */
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
|
||||
SystemClock_Config ();
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
net_initialize ();
|
||||
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
|
||||
if(args.argc == 7)
|
||||
printf("Simple SSL/TLS, ") ;
|
||||
else
|
||||
printf("HTTP GET, ") ;
|
||||
snprintf(ver, VERSIZE, "%d", TLS_VER);
|
||||
argv[6] = ver;
|
||||
|
||||
printf("Callee IP: %s, Port: %s, Version:%s\n", argv[2], argv[4], argv[6]) ;
|
||||
printf("SSL/TLS Client(%d)\n ", sizeof(argv)/sizeof(argv[0])) ;
|
||||
printf(" Remote IP: %s, Port: %s\n Version: %s\n", argv[2], argv[4], verStr[TLS_VER]) ;
|
||||
printf(" Other options: %s\n", OTHER_OPTIONS);
|
||||
setTime((time_t)((RTC_YEAR-1970)*365*24*60*60) + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60);
|
||||
|
||||
osThreadCreate (osThread(net_loop), NULL);
|
||||
|
||||
client_test(&args) ;
|
||||
|
||||
while(1)
|
||||
osDelay(1000);
|
||||
|
||||
while(1) {
|
||||
client_test(&args) ;
|
||||
printf("Enter any key to iterate.\n") ;
|
||||
getchar() ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,955 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
|
||||
|
||||
<SchemaVersion>2.1</SchemaVersion>
|
||||
|
||||
<Header>### uVision Project, (C) Keil Software</Header>
|
||||
|
||||
<Targets>
|
||||
<Target>
|
||||
<TargetName>STM32F207 Flash</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F207IGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F2xx_DFP.2.2.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM))</FlashDriverDll>
|
||||
<DeviceId>0</DeviceId>
|
||||
<RegisterFile>$$Device:STM32F207IGHx$Drivers/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h</RegisterFile>
|
||||
<MemoryEnv></MemoryEnv>
|
||||
<Cmp></Cmp>
|
||||
<Asm></Asm>
|
||||
<Linker></Linker>
|
||||
<OHString></OHString>
|
||||
<InfinionOptionDll></InfinionOptionDll>
|
||||
<SLE66CMisc></SLE66CMisc>
|
||||
<SLE66AMisc></SLE66AMisc>
|
||||
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||
<SFDFile>$$Device:STM32F207IGHx$CMSIS\SVD\STM32F20x.svd</SFDFile>
|
||||
<bCustSvd>0</bCustSvd>
|
||||
<UseEnv>0</UseEnv>
|
||||
<BinPath></BinPath>
|
||||
<IncludePath></IncludePath>
|
||||
<LibPath></LibPath>
|
||||
<RegisterFilePath></RegisterFilePath>
|
||||
<DBRegisterFilePath></DBRegisterFilePath>
|
||||
<TargetStatus>
|
||||
<Error>0</Error>
|
||||
<ExitCodeStop>0</ExitCodeStop>
|
||||
<ButtonStop>0</ButtonStop>
|
||||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\Object\</OutputDirectory>
|
||||
<OutputName>EchoClient</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>0</CreateHexFile>
|
||||
<DebugInformation>1</DebugInformation>
|
||||
<BrowseInformation>1</BrowseInformation>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<HexFormatSelection>1</HexFormatSelection>
|
||||
<Merge32K>0</Merge32K>
|
||||
<CreateBatchFile>0</CreateBatchFile>
|
||||
<BeforeCompile>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopU1X>0</nStopU1X>
|
||||
<nStopU2X>0</nStopU2X>
|
||||
</BeforeCompile>
|
||||
<BeforeMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopB1X>0</nStopB1X>
|
||||
<nStopB2X>0</nStopB2X>
|
||||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
</AfterMake>
|
||||
<SelectedForBatchBuild>0</SelectedForBatchBuild>
|
||||
<SVCSIdString></SVCSIdString>
|
||||
</TargetCommonOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>0</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>1</IncludeInBuild>
|
||||
<AlwaysBuild>0</AlwaysBuild>
|
||||
<GenerateAssemblyFile>0</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>0</AssembleAssemblyFile>
|
||||
<PublicsOnly>0</PublicsOnly>
|
||||
<StopOnExitCode>3</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
</CommonProperty>
|
||||
<DllOption>
|
||||
<SimDllName>SARMCM3.DLL</SimDllName>
|
||||
<SimDllArguments> -REMAP -MPU</SimDllArguments>
|
||||
<SimDlgDll>DCM.DLL</SimDlgDll>
|
||||
<SimDlgDllArguments>-pCM3</SimDlgDllArguments>
|
||||
<TargetDllName>SARMCM3.DLL</TargetDllName>
|
||||
<TargetDllArguments> -MPU</TargetDllArguments>
|
||||
<TargetDlgDll>TCM.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
|
||||
</DllOption>
|
||||
<DebugOption>
|
||||
<OPTHX>
|
||||
<HexSelection>1</HexSelection>
|
||||
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||
<HexOffset>0</HexOffset>
|
||||
<Oh166RecLen>16</Oh166RecLen>
|
||||
</OPTHX>
|
||||
<Simulator>
|
||||
<UseSimulator>0</UseSimulator>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>1</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>1</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Simulator>
|
||||
<Target>
|
||||
<UseTarget>1</UseTarget>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>1</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>0</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<RestoreTracepoints>1</RestoreTracepoints>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Target>
|
||||
<RunDebugAfterBuild>0</RunDebugAfterBuild>
|
||||
<TargetSelection>1</TargetSelection>
|
||||
<SimDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile></InitializationFile>
|
||||
</SimDlls>
|
||||
<TargetDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile>.\STM32_SWO.ini</InitializationFile>
|
||||
<Driver>BIN\UL2CM3.DLL</Driver>
|
||||
</TargetDlls>
|
||||
</DebugOption>
|
||||
<Utilities>
|
||||
<Flash1>
|
||||
<UseTargetDll>1</UseTargetDll>
|
||||
<UseExternalTool>0</UseExternalTool>
|
||||
<RunIndependent>0</RunIndependent>
|
||||
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
|
||||
<Capability>1</Capability>
|
||||
<DriverSelection>4100</DriverSelection>
|
||||
</Flash1>
|
||||
<bUseTDR>1</bUseTDR>
|
||||
<Flash2>BIN\UL2CM3.DLL</Flash2>
|
||||
<Flash3></Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
<pFcarmGrp></pFcarmGrp>
|
||||
<pFcArmRoot></pFcArmRoot>
|
||||
<FcArmLst>0</FcArmLst>
|
||||
</Utilities>
|
||||
<TargetArmAds>
|
||||
<ArmAdsMisc>
|
||||
<GenerateListings>0</GenerateListings>
|
||||
<asHll>1</asHll>
|
||||
<asAsm>1</asAsm>
|
||||
<asMacX>1</asMacX>
|
||||
<asSyms>1</asSyms>
|
||||
<asFals>1</asFals>
|
||||
<asDbgD>1</asDbgD>
|
||||
<asForm>1</asForm>
|
||||
<ldLst>0</ldLst>
|
||||
<ldmm>1</ldmm>
|
||||
<ldXref>1</ldXref>
|
||||
<BigEnd>0</BigEnd>
|
||||
<AdsALst>1</AdsALst>
|
||||
<AdsACrf>1</AdsACrf>
|
||||
<AdsANop>0</AdsANop>
|
||||
<AdsANot>0</AdsANot>
|
||||
<AdsLLst>1</AdsLLst>
|
||||
<AdsLmap>1</AdsLmap>
|
||||
<AdsLcgr>1</AdsLcgr>
|
||||
<AdsLsym>1</AdsLsym>
|
||||
<AdsLszi>1</AdsLszi>
|
||||
<AdsLtoi>1</AdsLtoi>
|
||||
<AdsLsun>1</AdsLsun>
|
||||
<AdsLven>1</AdsLven>
|
||||
<AdsLsxf>1</AdsLsxf>
|
||||
<RvctClst>0</RvctClst>
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M3"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
<hadIRAM>1</hadIRAM>
|
||||
<hadXRAM>0</hadXRAM>
|
||||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>0</RvdsVP>
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
<useUlib>0</useUlib>
|
||||
<EndSel>0</EndSel>
|
||||
<uLtcg>0</uLtcg>
|
||||
<RoSelD>3</RoSelD>
|
||||
<RwSelD>3</RwSelD>
|
||||
<CodeSel>0</CodeSel>
|
||||
<OptFeed>0</OptFeed>
|
||||
<NoZi1>0</NoZi1>
|
||||
<NoZi2>0</NoZi2>
|
||||
<NoZi3>0</NoZi3>
|
||||
<NoZi4>0</NoZi4>
|
||||
<NoZi5>0</NoZi5>
|
||||
<Ro1Chk>0</Ro1Chk>
|
||||
<Ro2Chk>0</Ro2Chk>
|
||||
<Ro3Chk>0</Ro3Chk>
|
||||
<Ir1Chk>1</Ir1Chk>
|
||||
<Ir2Chk>0</Ir2Chk>
|
||||
<Ra1Chk>0</Ra1Chk>
|
||||
<Ra2Chk>0</Ra2Chk>
|
||||
<Ra3Chk>0</Ra3Chk>
|
||||
<Im1Chk>1</Im1Chk>
|
||||
<Im2Chk>0</Im2Chk>
|
||||
<OnChipMemories>
|
||||
<Ocm1>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm1>
|
||||
<Ocm2>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm2>
|
||||
<Ocm3>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm3>
|
||||
<Ocm4>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm4>
|
||||
<Ocm5>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm5>
|
||||
<Ocm6>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm6>
|
||||
<IRAM>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x20000</Size>
|
||||
</IRAM>
|
||||
<IROM>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x8000000</StartAddress>
|
||||
<Size>0x100000</Size>
|
||||
</IROM>
|
||||
<XRAM>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</XRAM>
|
||||
<OCR_RVCT1>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT1>
|
||||
<OCR_RVCT2>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT2>
|
||||
<OCR_RVCT3>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT3>
|
||||
<OCR_RVCT4>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x8000000</StartAddress>
|
||||
<Size>0x100000</Size>
|
||||
</OCR_RVCT4>
|
||||
<OCR_RVCT5>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT5>
|
||||
<OCR_RVCT6>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT6>
|
||||
<OCR_RVCT7>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT7>
|
||||
<OCR_RVCT8>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT8>
|
||||
<OCR_RVCT9>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0x20000</Size>
|
||||
</OCR_RVCT9>
|
||||
<OCR_RVCT10>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT10>
|
||||
</OnChipMemories>
|
||||
<RvctStartVector></RvctStartVector>
|
||||
</ArmAdsMisc>
|
||||
<Cads>
|
||||
<interw>1</interw>
|
||||
<Optim>4</Optim>
|
||||
<oTime>0</oTime>
|
||||
<SplitLS>0</SplitLS>
|
||||
<OneElfS>0</OneElfS>
|
||||
<Strict>0</Strict>
|
||||
<EnumInt>0</EnumInt>
|
||||
<PlainCh>0</PlainCh>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<wLevel>2</wLevel>
|
||||
<uThumb>0</uThumb>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<uC99>1</uC99>
|
||||
<useXO>0</useXO>
|
||||
<VariousControls>
|
||||
<MiscControls>--diag_suppress=1293</MiscControls>
|
||||
<Define>HSE_VALUE=25000000 HAVE_CONFIG_H MDK_CONF_SimpleClient WOLFSSL_USER_SETTINGS</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
<interw>1</interw>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<thumb>0</thumb>
|
||||
<SplitLS>0</SplitLS>
|
||||
<SwStkChk>0</SwStkChk>
|
||||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
<LDads>
|
||||
<umfTarg>1</umfTarg>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<noStLib>0</noStLib>
|
||||
<RepFail>1</RepFail>
|
||||
<useFile>0</useFile>
|
||||
<TextAddressRange>0x08000000</TextAddressRange>
|
||||
<DataAddressRange>0x20000000</DataAddressRange>
|
||||
<pXoBase></pXoBase>
|
||||
<ScatterFile></ScatterFile>
|
||||
<IncludeLibs></IncludeLibs>
|
||||
<IncludeLibsPath></IncludeLibsPath>
|
||||
<Misc></Misc>
|
||||
<LinkerInputFile></LinkerInputFile>
|
||||
<DisabledWarnings></DisabledWarnings>
|
||||
</LDads>
|
||||
</TargetArmAds>
|
||||
</TargetOption>
|
||||
<Groups>
|
||||
<Group>
|
||||
<GroupName>Source</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>time-CortexM3-4.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\time-CortexM3-4.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>config-Crypt.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>config-wolfSSL.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfSSL\config-wolfSSL.h</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>user_settings.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>config-SimpleClient.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\config-SimpleClient.h</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Dcumentation</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>Abstract.txt</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\Abstract.txt</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS Driver</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Compiler</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Device</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::File System</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::Network</GroupName>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::wolfSSL</GroupName>
|
||||
</Group>
|
||||
</Groups>
|
||||
</Target>
|
||||
</Targets>
|
||||
|
||||
<RTE>
|
||||
<packages>
|
||||
<filter>
|
||||
<targetInfos/>
|
||||
</filter>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta">
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0">
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</package>
|
||||
</packages>
|
||||
<apis>
|
||||
<api Capiversion="2.01" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.00" Cclass="CMSIS Driver" Cgroup="Ethernet PHY" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" exclusive="0">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
|
||||
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
</apis>
|
||||
<components>
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0" condition="CMSIS Core">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="CORE" Cvariant="Release IPv4/IPv6" Cvendor="Keil" Cversion="7.0.0" condition="CMSIS Core with RTOS">
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.0.0" condition="Network Driver ETH" maxInstances="1">
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP">
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP/TCP">
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface">
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface">
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.01" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Cvendor="Keil" Cversion="2.01" condition="STM32F2 CMSIS_Driver ETH_MAC">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.00" Cclass="CMSIS Driver" Cgroup="Ethernet PHY" Csub="ST802RT1" Cvendor="Keil" Cversion="6.00" condition="CMSIS Core">
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="2.02" condition="STM32F2 CMSIS_Driver MCI">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with File System">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
|
||||
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL Common">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL GPIO">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL DMA">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL">
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="" condition="wolfSSL-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="SimpleClient" Cvendor="wolfSSL" Cversion="" condition="wolfSSL-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.2" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="K70F12" name="Device\Source\ARM\startup_MK70F12.s">
|
||||
<instance index="0" removed="1">RTE\Device\MK70FN1M0xxx12\startup_MK70F12.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="Kinetis K70 CMSIS Device"/>
|
||||
<package name="Kinetis_K70_DFP" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="K70F12" name="Device\Source\system_MK70F12.c">
|
||||
<instance index="0" removed="1">RTE\Device\MK70FN1M0xxx12\system_MK70F12.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="Kinetis K70 CMSIS Device"/>
|
||||
<package name="Kinetis_K70_DFP" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\RTE_Device.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\startup_stm32f207xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\stm32f2xx_hal_conf.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
|
||||
<instance index="0">RTE\Device\STM32F207IGHx\system_stm32f2xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\RTE_Device.h</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f207xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\stm32f2xx_hal_conf.h</instance>
|
||||
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
|
||||
<instance index="0" removed="1">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
|
||||
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="TM4C129x" name="Device\Source\ARM\startup_TM4C129.s">
|
||||
<instance index="0" removed="1">RTE\Device\TM4C129ENCPDT\startup_TM4C129.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="TM4C CMSIS Device"/>
|
||||
<package name="TM4C_DFP" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="TM4C129x" name="Device\Source\system_tm4c129.c">
|
||||
<instance index="0" removed="1">RTE\Device\TM4C129ENCPDT\system_tm4c129.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="TM4C CMSIS Device"/>
|
||||
<package name="TM4C_DFP" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="SFN" Cvendor="Keil" Cversion="6.4.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="6.4.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.4.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="6.4.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_DS\Config\Net_Config.c" version="7.0">
|
||||
<instance index="0">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="CORE" Cvariant="Release IPv4/IPv6" Cvendor="Keil" Cversion="7.0.0" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_DS\Config\Net_Config_BSD.h" version="7.0">
|
||||
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_DS\Config\Net_Config_DNS_Client.h" version="7.0">
|
||||
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP"/>
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_DS\Config\Net_Config_ETH.h" version="7.0">
|
||||
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.0.0" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_DS\Config\Net_Config_TCP.h" version="7.0">
|
||||
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface"/>
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_DS\Config\Net_Config_UDP.h" version="7.0">
|
||||
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface"/>
|
||||
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Debug.c" version="5.00">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Debug.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="Debug" Cvendor="Keil" Cversion="6.4.0" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="6.4.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config-Crypt.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-Crypt.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfCrypt-Core"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config-wolfSSL.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-wolfSSL.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfSSL-Core"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config-RTX-TCP-FS.h">
|
||||
<instance index="0" removed="1">RTE\Other\config-RTX-TCP-FS.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfSSL" Csub="RTX,TCP,FS" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfSSL-RTX,TCP,FS"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config.h">
|
||||
<instance index="0" removed="1">RTE\Other\config.h</instance>
|
||||
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfCrypt-Core"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
|
||||
<instance index="0">RTE\wolfSSL\config-Crypt.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config-wolfSSL.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config-wolfSSL.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfSSL-Core"/>
|
||||
<package license="cyassl\IDE\MDK5-ARM\Docs\wolfSSL-Licnese.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-wolfSSL.h">
|
||||
<instance index="0">RTE\wolfSSL\config-wolfSSL.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfSSL-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\wolfSSL\config.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package name="wolfSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\wolfssl\wolfcrypt\settings.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.9.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="STM32F207 Flash"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
</files>
|
||||
</RTE>
|
||||
|
||||
</Project>
|
||||
14
IDE/MDK5-ARM/Projects/SimpleClient/wolfssl-link.sct
Normal file
14
IDE/MDK5-ARM/Projects/SimpleClient/wolfssl-link.sct
Normal file
@@ -0,0 +1,14 @@
|
||||
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
|
||||
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
RW_IRAM1 0x20010000 0x00040000 { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
RW_RETARGET 0x2000FFF0 0x00000010 {
|
||||
retarget_io.o (+ZI +RW)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +1,12 @@
|
||||
This program is a simple server example with CyaSSL/wolfCrypt library.
|
||||
wolfSSL example: TLS Server
|
||||
|
||||
In order to run this program,
|
||||
Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
|
||||
Set the server IP address in Net_Config_ETH_0.h
|
||||
The default server listning port is 11111, defined in test.h
|
||||
Use Configuration Wizard tab
|
||||
main.c for server port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
For further configuration, refer config-Crypt.h and config-CyaSSL.h.
|
||||
config-SimpleServer.h is for configuring the server port number.
|
||||
|
||||
When testing this server, it is recommended to test against one of the standard
|
||||
CyaSSL example applications running on a desktop machine. The standard CyaSSL
|
||||
example applications are located in the CyaSSL root directory under the
|
||||
<cyassl_root>/examples directory.
|
||||
|
||||
For the hardware crypt on config-Crypt.h, download
|
||||
STSW-STM32062: STM32F2xx standard peripherals library at
|
||||
http://www.st.com/. Copy Libraries\STM32F2xx_StdPeriph_Driver\{inc,src} to
|
||||
{PACK}\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WOLFSSL_MDK_SHELL
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<Extensions>
|
||||
<cExt>*.c</cExt>
|
||||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj</oExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
@@ -22,16 +22,16 @@
|
||||
</DaveTm>
|
||||
|
||||
<Target>
|
||||
<TargetName>STM32F207 Flash</TargetName>
|
||||
<TargetName>SimpleServer</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>12000000</CLKADS>
|
||||
<CLKADS>25000000</CLKADS>
|
||||
<OPTTT>
|
||||
<gFlags>1</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>0</RunSim>
|
||||
<RunTarget>1</RunTarget>
|
||||
<RunSim>1</RunSim>
|
||||
<RunTarget>0</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
@@ -45,7 +45,7 @@
|
||||
<PageWidth>79</PageWidth>
|
||||
<PageLength>66</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath>.\Object\</ListingPath>
|
||||
<ListingPath>.\Output\</ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
@@ -78,23 +78,6 @@
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<Books>
|
||||
<Book>
|
||||
<Number>0</Number>
|
||||
<Title>Schematics (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>1</Number>
|
||||
<Title>User Manual (MCBSTM32F200)</Title>
|
||||
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>2</Number>
|
||||
<Title>MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200)</Title>
|
||||
<Path>http://www.keil.com/mcbstm32f200/</Path>
|
||||
</Book>
|
||||
</Books>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
@@ -117,7 +100,8 @@
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<nTsel>1</nTsel>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -127,10 +111,15 @@
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile>.\STM32_SWO.ini</tIfile>
|
||||
<pMon>BIN\UL2CM3.DLL</pMon>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U303030303030303030303031 -O8399 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO27 -TC216000000 -TP21 -TDS806B -TDT0 -TDC1F -TIEFFFFFFFF -TIP9 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
@@ -139,18 +128,13 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(6017=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMDBGFLAGS</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
@@ -159,32 +143,28 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>-UM1020ADE -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
|
||||
<Name>-UV0998FBE -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC216000000 -TP21 -TDS80B8 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>port</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>0x8004dc8</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<ItemText>eth_pins</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>0</periodic>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
@@ -203,13 +183,26 @@
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>1</aSer4>
|
||||
<StkLoc>1</StkLoc>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>2000000</DbgClock>
|
||||
</DebugDescription>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
@@ -224,7 +217,6 @@
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\main.c</PathWithFileName>
|
||||
@@ -234,6 +226,46 @@
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Documentation</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Linker Script</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\wolfssl-link.sct</PathWithFileName>
|
||||
<FilenameWithoutPath>wolfssl-link.sct</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Configuration</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
@@ -241,37 +273,10 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-Crypt.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\config-wolfSSL.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-wolfSSL.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
|
||||
@@ -279,40 +284,14 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\config-SimpleServer.h</PathWithFileName>
|
||||
<FilenameWithoutPath>config-SimpleServer.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Dcumentation</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Abstract.txt</PathWithFileName>
|
||||
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<RteFlg>1</RteFlg>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
@@ -325,7 +304,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS Driver</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -333,7 +312,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Compiler</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -349,7 +328,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::File System</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -357,7 +336,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Network</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,39 +23,81 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/visibility.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include "wolfssl/wolfcrypt/settings.h"
|
||||
|
||||
#include "cmsis_os.h" /* CMSIS RTOS definitions */
|
||||
#include "rl_net.h" /* Network definitions */
|
||||
#include <time.h>
|
||||
|
||||
#if defined(STM32F7xx)
|
||||
#include "stm32f7xx_hal.h"
|
||||
#elif defined(STM32F4xx)
|
||||
#include "stm32f4xx_hal.h"
|
||||
#elif defined(STM32F2xx)
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
//-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
|
||||
|
||||
// <h>Server parameter
|
||||
// ====================
|
||||
|
||||
// <s.6>Port
|
||||
// <i> Default: "11111"
|
||||
#define SERVER_PORT "11111"
|
||||
// </h>
|
||||
|
||||
// <h>Protocol
|
||||
// ====================
|
||||
|
||||
// <o>SSL/TLS Version<0=> SSL3 <1=> TLS1.0 <2=> TLS1.1 <3=> TLS1.2 <4=> TLS1.3
|
||||
#define TLS_VER 3
|
||||
|
||||
// <s.2>Other option
|
||||
#define OTHER_OPTIONS ""
|
||||
// </h>
|
||||
|
||||
// <h>RTC: for validate certificate date
|
||||
// <o>Year <1970-2099>
|
||||
#define RTC_YEAR 2018
|
||||
// <o>Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aut<9=>Sep<10=>Oct<11=>Nov<12=>Dec
|
||||
#define RTC_MONTH 1
|
||||
// <o>Day <1-31>
|
||||
#define RTC_DAY 1
|
||||
// </h>
|
||||
|
||||
//------------- <<< end of configuration section >>> -----------------------
|
||||
|
||||
#warning "write MPU specific Set ups\n"
|
||||
static void SystemClock_Config (void) {
|
||||
|
||||
}
|
||||
|
||||
static void MPU_Config (void) {
|
||||
|
||||
}
|
||||
|
||||
static void CPU_CACHE_Enable (void) {
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize Clock Configuration
|
||||
*----------------------------------------------------------------------------*/
|
||||
void SystemClock_Config(void) {
|
||||
#warning "write MPU specific System Clock Set up\n"
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
#include "rl_fs.h"
|
||||
#include "rl_fs.h" /* FileSystem definitions */
|
||||
|
||||
static void init_filesystem (void) {
|
||||
int32_t retv;
|
||||
|
||||
retv = finit ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
retv = fmount ("M0:");
|
||||
if (retv == 0) {
|
||||
if (retv == fsOK) {
|
||||
printf ("Drive M0 ready!\n");
|
||||
}
|
||||
else {
|
||||
printf ("Drive M0 mount failed!\n");
|
||||
printf ("Drive M0 mount failed(%d)!\n", retv);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -64,6 +106,68 @@ static void init_filesystem (void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void net_loop(void const *arg)
|
||||
{
|
||||
while(1) {
|
||||
net_main ();
|
||||
osThreadYield ();
|
||||
}
|
||||
}
|
||||
|
||||
osThreadDef(net_loop, osPriorityLow, 2, 0);
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
Main Thread 'main': Run Network
|
||||
*---------------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
@@ -71,34 +175,49 @@ typedef struct func_args {
|
||||
|
||||
extern void server_test(func_args * args) ;
|
||||
|
||||
#include "config-SimpleServer.h"
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
|
||||
int main()
|
||||
{
|
||||
static char *argv[] = { "server", "-p", WOLFSSL_LISTEN_PORT, "-d"} ;
|
||||
static func_args args = { 4, argv } ;
|
||||
int main (void) {
|
||||
static char *argv[] =
|
||||
{ "server", "-p", SERVER_PORT,
|
||||
"-v", " ", OTHER_OPTIONS } ;
|
||||
static func_args args =
|
||||
{ sizeof(argv)/sizeof(*argv[0]), argv } ;
|
||||
|
||||
char *verStr[] = { "SSL3", "TLS1.0", "TLS1.1", "TLS1.2", "TLS1.3"};
|
||||
#define VERSIZE 2
|
||||
char ver[VERSIZE];
|
||||
|
||||
MPU_Config(); /* Configure the MPU */
|
||||
CPU_CACHE_Enable(); /* Enable the CPU Cache */
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
|
||||
SystemClock_Config ();
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
net_initialize ();
|
||||
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
|
||||
printf("Simple Server: Started\n") ;
|
||||
while(1) {
|
||||
server_test(&args) ;
|
||||
printf("Enter any key to iterate.\n") ;
|
||||
getchar() ;
|
||||
}
|
||||
snprintf(ver, VERSIZE, "%d", TLS_VER);
|
||||
argv[4] = ver;
|
||||
|
||||
printf("SSL/TLS Server\n ") ;
|
||||
printf(" Server Port: %s\n Version: %s\n", argv[2], verStr[TLS_VER]) ;
|
||||
printf(" Other options: %s\n", OTHER_OPTIONS);
|
||||
setTime((RTC_YEAR-1970)*365*24*60*60 + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60);
|
||||
|
||||
osThreadCreate (osThread(net_loop), NULL);
|
||||
|
||||
server_test(&args) ;
|
||||
|
||||
while(1)
|
||||
osDelay(1000);
|
||||
|
||||
}
|
||||
|
||||
|
||||
14
IDE/MDK5-ARM/Projects/SimpleServer/wolfssl-link.sct
Normal file
14
IDE/MDK5-ARM/Projects/SimpleServer/wolfssl-link.sct
Normal file
@@ -0,0 +1,14 @@
|
||||
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
|
||||
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
RW_IRAM1 0x20010000 0x00040000 { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
RW_RETARGET 0x2000FFF0 0x00000010 {
|
||||
retarget_io.o (+ZI +RW)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WOLFSSL_MDK_SHELL
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
|
||||
/* #define SINGLE_THREADED or define RTOS option */
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
|
||||
/* #define NO_FILESYSTEM or define Filesystem option */
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
|
||||
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
|
||||
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
|
||||
|
||||
#define NO_DEV_RANDOM
|
||||
/* define your Rand gen for the operational use */
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
|
||||
#define XVALIDATEDATE(d, f,t) (0)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#define NO_WRITEV
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WOLFSSL_MDK_SHELL
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
## Setup
|
||||
|
||||
1. Using the STM32CubeMX tool, load the `<wolfssl-root>/IDE/OPENSTM32/wolfSTM32.ino` file.
|
||||
1. Using the STM32CubeMX tool, load the `<wolfssl-root>/IDE/OPENSTM32/wolfSTM32.ioc` file.
|
||||
2. Adjust the HAL options based on your specific micro-controller.
|
||||
3. Generate source code.
|
||||
4. Run `SystemWorkbench` and choose a new workspace location for this project.
|
||||
5. Import `wolfSTM32' project from `<wolfssl-root>/IDE/OPENSTM32/`.
|
||||
5. Import `wolfSTM32` project from `<wolfssl-root>/IDE/OPENSTM32/`.
|
||||
6. Adjust the micro-controller define in `Project Settings -> C/C++ General -> Paths and Symbols -> Symbols -> GNU C`. Example uses `STM32F437xx`, but should be changed to reflect your micro-controller type.
|
||||
7. Build and Run
|
||||
|
||||
@@ -24,4 +24,4 @@ The settings for the wolfSTM32 project are located in `<wolfssl-root>/IDE/OPENST
|
||||
|
||||
## Support
|
||||
|
||||
For questions please email [support@wolfssl.com](mailto:support@wolfssl.com)
|
||||
For questions please email [support@wolfssl.com](mailto:support@wolfssl.com)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
A47546261FD90492005176B9 /* tls-bench.c in Sources */ = {isa = PBXBuildFile; fileRef = A47546251FD90492005176B9 /* tls-bench.c */; };
|
||||
A47546261FD90492005176B9 /* tls_bench.c in Sources */ = {isa = PBXBuildFile; fileRef = A47546251FD90492005176B9 /* tls_bench.c */; };
|
||||
A4ADF82F1FCE0BD300A06E90 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A4ADF82E1FCE0BD300A06E90 /* AppDelegate.m */; };
|
||||
A4ADF8321FCE0BD300A06E90 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A4ADF8311FCE0BD300A06E90 /* ViewController.m */; };
|
||||
A4ADF8351FCE0BD300A06E90 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A4ADF8331FCE0BD300A06E90 /* Main.storyboard */; };
|
||||
@@ -87,7 +87,7 @@
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
A47546241FD9042D005176B9 /* user_settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = user_settings.h; path = ../user_settings.h; sourceTree = "<group>"; };
|
||||
A47546251FD90492005176B9 /* tls-bench.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "tls-bench.c"; path = "../../../examples/benchmark/tls-bench.c"; sourceTree = "<group>"; };
|
||||
A47546251FD90492005176B9 /* tls_bench.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tls_bench.c; path = ../../../examples/benchmark/tls_bench.c; sourceTree = "<group>"; };
|
||||
A4ADF82A1FCE0BD300A06E90 /* wolfBench.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = wolfBench.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A4ADF82D1FCE0BD300A06E90 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
A4ADF82E1FCE0BD300A06E90 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
@@ -183,7 +183,7 @@
|
||||
A4ADF8211FCE0BD300A06E90 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A47546251FD90492005176B9 /* tls-bench.c */,
|
||||
A47546251FD90492005176B9 /* tls_bench.c */,
|
||||
A47546241FD9042D005176B9 /* user_settings.h */,
|
||||
A4ADF85F1FCE0BE300A06E90 /* wolfSSL */,
|
||||
A4ADF82C1FCE0BD300A06E90 /* wolfBench */,
|
||||
@@ -450,7 +450,7 @@
|
||||
A4ADF86C1FCE0C1C00A06E90 /* internal.c in Sources */,
|
||||
A4ADF9011FCE0C5600A06E90 /* md2.c in Sources */,
|
||||
A4ADF8D61FCE0C5600A06E90 /* sha3.c in Sources */,
|
||||
A47546261FD90492005176B9 /* tls-bench.c in Sources */,
|
||||
A47546261FD90492005176B9 /* tls_bench.c in Sources */,
|
||||
A4ADF9161FCE0C5600A06E90 /* fe_operations.c in Sources */,
|
||||
A4ADF9001FCE0C5600A06E90 /* poly1305.c in Sources */,
|
||||
A4ADF8F81FCE0C5600A06E90 /* fe_low_mem.c in Sources */,
|
||||
|
||||
@@ -207,3 +207,4 @@ merge-clean:
|
||||
@find ./ | $(GREP) \.OTHER | xargs rm -f
|
||||
@find ./ | $(GREP) \.BASE | xargs rm -f
|
||||
@find ./ | $(GREP) \~$$ | xargs rm -f
|
||||
|
||||
|
||||
85
README
85
README
@@ -1,3 +1,43 @@
|
||||
*** 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
|
||||
|
||||
FIPS FAQ: https://www.wolfssl.com/wolfSSL/fips.html
|
||||
|
||||
wolfSSL API: https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-17-wolfssl-api-reference.html
|
||||
wolfCrypt API: https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-18-wolfcrypt-api-reference.html
|
||||
|
||||
TLS 1.3 https://www.wolfssl.com/docs/tls13/
|
||||
|
||||
*** Description ***
|
||||
|
||||
The wolfSSL embedded SSL library (formerly CyaSSL) is a lightweight SSL/TLS
|
||||
library written in ANSI C and targeted for embedded, RTOS, and
|
||||
resource-constrained environments - primarily because of its small size, speed,
|
||||
and feature set. It is commonly used in standard operating environments as well
|
||||
because of its royalty-free pricing and excellent cross platform support. wolfSSL
|
||||
supports industry standards up to the current TLS 1.3 and DTLS 1.3 levels, is up
|
||||
to 20 times smaller than OpenSSL, and offers progressive ciphers such as ChaCha20,
|
||||
Curve25519, NTRU, and Blake2b. User benchmarking and feedback reports
|
||||
dramatically better performance when using wolfSSL over OpenSSL.
|
||||
|
||||
wolfSSL is powered by the wolfCrypt library. A version of the wolfCrypt
|
||||
cryptography library has been FIPS 140-2 validated (Certificate #2425). For
|
||||
additional information, visit the wolfCrypt FIPS FAQ
|
||||
(https://www.wolfssl.com/license/fips/) or contact fips@wolfssl.com
|
||||
|
||||
*** Why choose wolfSSL? ***
|
||||
|
||||
There are many reasons to choose wolfSSL as your embedded SSL solution. Some of
|
||||
the top reasons include size (typical footprint sizes range from 20-100 kB),
|
||||
support for the newest standards (SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3,
|
||||
DTLS 1.0, and DTLS 1.2), current and progressive cipher support (including stream
|
||||
ciphers), multi-platform, royalty free, and an OpenSSL compatibility API to ease
|
||||
porting into existing applications which have previously used the OpenSSL package.
|
||||
For a complete feature list, see https://www.wolfssl.com/docs/wolfssl-manual/ch4/
|
||||
|
||||
*** Notes, Please read ***
|
||||
|
||||
Note 1)
|
||||
@@ -35,6 +75,49 @@ before calling wolfSSL_new(); Though it's not recommended.
|
||||
*** end Notes ***
|
||||
|
||||
|
||||
********* wolfSSL Release 3.14.0 (3/02/2018)
|
||||
|
||||
Release 3.14.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
- TLS 1.3 draft 22 and 23 support added
|
||||
- Additional unit tests for; SHA3, AES-CMAC, Ed25519, ECC, RSA-PSS, AES-GCM
|
||||
- Many additions to the OpenSSL compatibility layer were made in this release. Some of these being enhancements to PKCS12, WOLFSSL_X509 use, WOLFSSL_EVP_PKEY, and WOLFSSL_BIO operations
|
||||
- AVX1 and AVX2 performance improvements with ChaCha20 and Poly1305
|
||||
- Added i.MX CAAM driver support with Integrity OS support
|
||||
- Improvements to logging with debugging, including exposing more API calls and adding options to reduce debugging code size
|
||||
- Fix for signature type detection with PKCS7 RSA SignedData
|
||||
- Public key call back functions added for DH Agree
|
||||
- RSA-PSS API added for operating on non inline buffers (separate input and output buffers)
|
||||
- API added for importing and exporting raw DSA parameters
|
||||
- Updated DSA key generation to be FIPS 186-4 compliant
|
||||
- Fix for wolfSSL_check_private_key when comparing ECC keys
|
||||
- Support for AES Cipher Feedback(CFB) mode added
|
||||
- Updated RSA key generation to be FIPS 186-4 compliant
|
||||
- Update added for the ARM CMSIS software pack
|
||||
- WOLFSSL_IGNORE_FILE_WARN macro added for avoiding build warnings when not working with autotools
|
||||
- Performance improvements for AES-GCM with AVX1 and AVX2
|
||||
- Fix for possible memory leak on error case with wc_RsaKeyToDer function
|
||||
- Make wc_PKCS7_PadData function available
|
||||
- Updates made to building SGX on Linux
|
||||
- STM32 hashing algorithm improvements including clock/power optimizations and auto detection of if SHA2 is supported
|
||||
- Update static memory feature for FREERTOS use
|
||||
- Reverse the order that certificates are compared during PKCS12 parse to account for case where multiple certificates have the same matching private key
|
||||
- Update NGINX port to version 1.13.8
|
||||
- Support for HMAC-SHA3 added
|
||||
- Added stricter ASN checks to enforce RFC 5280 rules. Thanks to the report from Professor Zhenhua Duan, Professor Cong Tian, and Ph.D candidate Chu Chen from Institute of Computing Theory and Technology (ICTT) of Xidian University.
|
||||
- Option to have ecc_mul2add function public facing
|
||||
- Getter function wc_PKCS7_GetAttributeValue added for PKCS7 attributes
|
||||
- Macros NO_AES_128, NO_AES_192, NO_AES_256 added for AES key size selection at compile time
|
||||
- Support for writing multiple organizations units (OU) and domain components (DC) with CSR and certificate creation
|
||||
- Support for indefinite length BER encodings in PKCS7
|
||||
- Added API for additional validation of prime q in a public DH key
|
||||
- Added support for RSA encrypt and decrypt without padding
|
||||
|
||||
|
||||
See INSTALL file for build instructions.
|
||||
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html
|
||||
|
||||
|
||||
********* wolfSSL (Formerly CyaSSL) Release 3.13.0 (12/21/2017)
|
||||
|
||||
wolfSSL 3.13.0 includes bug fixes and new features, including support for
|
||||
@@ -43,7 +126,7 @@ updated examples and project files, and one vulnerability fix. The full list
|
||||
of changes and additions in this release include:
|
||||
|
||||
- Fixes for TLS 1.3, support for Draft 21
|
||||
- TLS 1.0 disabled by default, addition of “--enable-tls10” configure option
|
||||
- TLS 1.0 disabled by default, addition of “--enable-tlsv10” configure option
|
||||
- New option to reduce SHA-256 code size at expense of performance
|
||||
(USE_SLOW_SHA256)
|
||||
- New option for memory reduced build (--enable-lowresource)
|
||||
|
||||
73
README.md
73
README.md
@@ -1,3 +1,31 @@
|
||||
# Resources
|
||||
|
||||
[wolfSSL Website](https://www.wolfssl.com/)
|
||||
|
||||
[wolfSSL Wiki](https://github.com/wolfSSL/wolfssl/wiki)
|
||||
|
||||
[FIPS FAQ](https://www.wolfssl.com/wolfSSL/fips.html)
|
||||
|
||||
[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/)
|
||||
|
||||
|
||||
# Description
|
||||
|
||||
The wolfSSL embedded SSL library (formerly CyaSSL) is a lightweight SSL/TLS library written in ANSI C and targeted for embedded, RTOS, and resource-constrained environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating environments as well because of its royalty-free pricing and excellent cross platform support. wolfSSL supports industry standards up to the current TLS 1.3 and DTLS 1.3 levels, is up to 20 times smaller than OpenSSL, and offers progressive ciphers such as ChaCha20, Curve25519, NTRU, and Blake2b. User benchmarking and feedback reports dramatically better performance when using wolfSSL over OpenSSL.
|
||||
|
||||
wolfSSL is powered by the wolfCrypt library. A version of the wolfCrypt cryptography library has been FIPS 140-2 validated (Certificate #2425). For additional information, visit the [wolfCrypt FIPS FAQ](https://www.wolfssl.com/license/fips/) or contact fips@wolfssl.com
|
||||
|
||||
## Why Choose wolfSSL?
|
||||
There are many reasons to choose wolfSSL as your embedded SSL solution. Some of the top reasons include size (typical footprint sizes range from 20-100 kB), support for the newest standards (SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3, DTLS 1.0, and DTLS 1.2), current and progressive cipher support (including stream ciphers), multi-platform, royalty free, and an OpenSSL compatibility API to ease porting into existing applications which have previously used the OpenSSL package. For a complete feature list, see [Section 4.1.](https://www.wolfssl.com/docs/wolfssl-manual/ch4/)
|
||||
|
||||
***
|
||||
|
||||
# Notes - Please read
|
||||
|
||||
## Note 1
|
||||
@@ -38,6 +66,49 @@ wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
|
||||
before calling wolfSSL_new(); Though it's not recommended.
|
||||
```
|
||||
|
||||
# wolfSSL Release 3.14.0 (3/02/2018)
|
||||
|
||||
Release 3.14.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
* TLS 1.3 draft 22 and 23 support added
|
||||
* Additional unit tests for; SHA3, AES-CMAC, Ed25519, ECC, RSA-PSS, AES-GCM
|
||||
* Many additions to the OpenSSL compatibility layer were made in this release. Some of these being enhancements to PKCS12, WOLFSSL_X509 use, WOLFSSL_EVP_PKEY, and WOLFSSL_BIO operations
|
||||
* AVX1 and AVX2 performance improvements with ChaCha20 and Poly1305
|
||||
* Added i.MX CAAM driver support with Integrity OS support
|
||||
* Improvements to logging with debugging, including exposing more API calls and adding options to reduce debugging code size
|
||||
* Fix for signature type detection with PKCS7 RSA SignedData
|
||||
* Public key call back functions added for DH Agree
|
||||
* RSA-PSS API added for operating on non inline buffers (separate input and output buffers)
|
||||
* API added for importing and exporting raw DSA parameters
|
||||
* Updated DSA key generation to be FIPS 186-4 compliant
|
||||
* Fix for wolfSSL_check_private_key when comparing ECC keys
|
||||
* Support for AES Cipher Feedback(CFB) mode added
|
||||
* Updated RSA key generation to be FIPS 186-4 compliant
|
||||
* Update added for the ARM CMSIS software pack
|
||||
* WOLFSSL_IGNORE_FILE_WARN macro added for avoiding build warnings when not working with autotools
|
||||
* Performance improvements for AES-GCM with AVX1 and AVX2
|
||||
* Fix for possible memory leak on error case with wc_RsaKeyToDer function
|
||||
* Make wc_PKCS7_PadData function available
|
||||
* Updates made to building SGX on Linux
|
||||
* STM32 hashing algorithm improvements including clock/power optimizations and auto detection of if SHA2 is supported
|
||||
* Update static memory feature for FREERTOS use
|
||||
* Reverse the order that certificates are compared during PKCS12 parse to account for case where multiple certificates have the same matching private key
|
||||
* Update NGINX port to version 1.13.8
|
||||
* Support for HMAC-SHA3 added
|
||||
* Added stricter ASN checks to enforce RFC 5280 rules. Thanks to the report from Professor Zhenhua Duan, Professor Cong Tian, and Ph.D candidate Chu Chen from Institute of Computing Theory and Technology (ICTT) of Xidian University.
|
||||
* Option to have ecc_mul2add function public facing
|
||||
* Getter function wc_PKCS7_GetAttributeValue added for PKCS7 attributes
|
||||
* Macros NO_AES_128, NO_AES_192, NO_AES_256 added for AES key size selection at compile time
|
||||
* Support for writing multiple organizations units (OU) and domain components (DC) with CSR and certificate creation
|
||||
* Support for indefinite length BER encodings in PKCS7
|
||||
* Added API for additional validation of prime q in a public DH key
|
||||
* Added support for RSA encrypt and decrypt without padding
|
||||
|
||||
|
||||
See INSTALL file for build instructions.
|
||||
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html
|
||||
|
||||
|
||||
# wolfSSL (Formerly CyaSSL) Release 3.13.0 (12/21/2017)
|
||||
|
||||
wolfSSL 3.13.0 includes bug fixes and new features, including support for
|
||||
@@ -46,7 +117,7 @@ updated examples and project files, and one vulnerability fix. The full list
|
||||
of changes and additions in this release include:
|
||||
|
||||
* Fixes for TLS 1.3, support for Draft 21
|
||||
* TLS 1.0 disabled by default, addition of “--enable-tls10” configure option
|
||||
* TLS 1.0 disabled by default, addition of “--enable-tlsv10” configure option
|
||||
* New option to reduce SHA-256 code size at expense of performance
|
||||
(USE_SLOW_SHA256)
|
||||
* New option for memory reduced build (--enable-lowresource)
|
||||
|
||||
@@ -18,6 +18,11 @@ if test -e .git; then
|
||||
# touch fips files for non fips distribution
|
||||
touch ./ctaocrypt/src/fips.c
|
||||
touch ./ctaocrypt/src/fips_test.c
|
||||
touch ./wolfcrypt/src/fipsv2.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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,8 +1,44 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 11535733361370405423 (0xa017285f8c1b1a2f)
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
Issuer: O=WR, C=DE
|
||||
Validity
|
||||
Not Before: Mar 2 21:02:20 2018 GMT
|
||||
Not After : Mar 2 21:02:20 2019 GMT
|
||||
Subject: O=WR, C=DE
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:25:c0:fd:16:b8:2b:f2:b8:0a:1e:dd:ac:ce:62:
|
||||
52:7c:58:0a:60:7d:57:75:da:bd:11:c1:d5:2a:ea:
|
||||
54:6b:76:e6:3d:36:f7:dd:51:97:6b:a8:26:fe:7b:
|
||||
a6:bd:96:55:85:50:9d:9a:7e:69:01:d8:43:45:89:
|
||||
d9:fe:4a:2b:26
|
||||
ASN1 OID: prime256v1
|
||||
NIST CURVE: P-256
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
B2:B1:0D:05:AC:6A:0C:A1:AD:92:0A:7E:C7:E1:68:56:35:40:19:EA
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:B2:B1:0D:05:AC:6A:0C:A1:AD:92:0A:7E:C7:E1:68:56:35:40:19:EA
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
30:44:02:20:2f:5e:f3:52:0b:39:4c:1a:69:6d:52:cf:a5:7a:
|
||||
63:03:0b:ff:48:9a:32:fb:57:66:10:60:7d:6e:e2:e4:87:e2:
|
||||
02:20:24:21:fd:a9:88:74:07:79:5f:e5:15:89:41:39:51:32:
|
||||
a9:62:8d:ef:4b:8a:3c:81:ca:7f:2e:32:f1:fe:c2:f3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIBJDCByaADAgECAgEAMAwGCCqGSM49BAMCBQAwGjELMAkGA1UEChMCV1IxCzAJBgNVBAYTAkRF
|
||||
MB4XDTE3MDIwNjE0NTY0MVoXDTE4MDIwNjE0NTY0MVowGjELMAkGA1UEChMCV1IxCzAJBgNVBAYT
|
||||
AkRFMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJcD9Frgr8rgKHt2szmJSfFgKYH1Xddq9EcHV
|
||||
KupUa3bmPTb33VGXa6gm/numvZZVhVCdmn5pAdhDRYnZ/korJjAMBggqhkjOPQQDAgUAA0gAMEUC
|
||||
IDnBQOHgHIudh7nFB0wG/WFMoUutVFN0uQPbVJSWwbQHAiEAmw25n+eEMgMK4Gi7qH1lzxm11WX0
|
||||
jM1gxQSGZTaja8s=
|
||||
MIIBejCCASGgAwIBAgIJAKAXKF+MGxovMAoGCCqGSM49BAMCMBoxCzAJBgNVBAoT
|
||||
AldSMQswCQYDVQQGEwJERTAeFw0xODAzMDIyMTAyMjBaFw0xOTAzMDIyMTAyMjBa
|
||||
MBoxCzAJBgNVBAoTAldSMQswCQYDVQQGEwJERTBZMBMGByqGSM49AgEGCCqGSM49
|
||||
AwEHA0IABCXA/Ra4K/K4Ch7drM5iUnxYCmB9V3XavRHB1SrqVGt25j02991Rl2uo
|
||||
Jv57pr2WVYVQnZp+aQHYQ0WJ2f5KKyajUDBOMB0GA1UdDgQWBBSysQ0FrGoMoa2S
|
||||
Cn7H4WhWNUAZ6jAfBgNVHSMEGDAWgBSysQ0FrGoMoa2SCn7H4WhWNUAZ6jAMBgNV
|
||||
HRMEBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIC9e81ILOUwaaW1Sz6V6YwML/0ia
|
||||
MvtXZhBgfW7i5IfiAiAkIf2piHQHeV/lFYlBOVEyqWKN70uKPIHKfy4y8f7C8w==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
BIN
certs/ecc-rsa-server.p12
Normal file
BIN
certs/ecc-rsa-server.p12
Normal file
Binary file not shown.
@@ -35,6 +35,7 @@ EXTRA_DIST += \
|
||||
certs/server-revoked-key.pem \
|
||||
certs/wolfssl-website-ca.pem \
|
||||
certs/test-servercert.p12 \
|
||||
certs/ecc-rsa-server.p12 \
|
||||
certs/dsaparams.pem \
|
||||
certs/ecc-privOnlyKey.pem \
|
||||
certs/ecc-privOnlyCert.pem \
|
||||
|
||||
@@ -274,12 +274,23 @@ function run_renewcerts(){
|
||||
openssl x509 -inform PEM -in server-ecc.pem -outform DER -out server-ecc.der
|
||||
openssl x509 -inform PEM -in server-ecc-comp.pem -outform DER -out server-ecc-comp.der
|
||||
|
||||
############################################################
|
||||
###### update the ecc-rsa-server.p12 file ##################
|
||||
############################################################
|
||||
echo "Updating ecc-rsa-server.p12 (password is \"\")"
|
||||
echo ""
|
||||
echo "" | openssl pkcs12 -des3 -descert -export -in server-ecc-rsa.pem -inkey ecc-key.pem -certfile server-ecc.pem -out ecc-rsa-server.p12 -password stdin
|
||||
|
||||
############################################################
|
||||
########## store DER files as buffers ######################
|
||||
############################################################
|
||||
echo "Changing directory to wolfssl root..."
|
||||
echo ""
|
||||
cd ../
|
||||
echo "Execute ./gencertbuf.pl..."
|
||||
echo ""
|
||||
./gencertbuf.pl
|
||||
|
||||
############################################################
|
||||
########## generate the new crls ###########################
|
||||
############################################################
|
||||
|
||||
@@ -10,7 +10,7 @@ L = Brisbane
|
||||
O = wolfSSL Inc
|
||||
OU = Engineering
|
||||
CN = www.wolfssl.com
|
||||
emailAddress = support@www.wolfsssl.com
|
||||
emailAddress = support@wolfsssl.com
|
||||
|
||||
[ v3_ca ]
|
||||
inhibitAnyPolicy = critical,1
|
||||
|
||||
Binary file not shown.
@@ -10,9 +10,13 @@ L = Brisbane
|
||||
O = wolfSSL Inc
|
||||
OU = Engineering
|
||||
CN = www.wolfssl.com
|
||||
emailAddress = support@www.wolfsssl.com
|
||||
emailAddress = support@wolfsssl.com
|
||||
|
||||
[ v3_ca ]
|
||||
subjectKeyIdentifier = hash
|
||||
authorityKeyIdentifier = keyid:always,issuer
|
||||
basicConstraints = critical, CA:true, pathlen:0
|
||||
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
|
||||
nameConstraints = critical,permitted;email:.wolfssl.com
|
||||
nsComment = "Testing name constraints"
|
||||
|
||||
|
||||
Binary file not shown.
10
certs/test/gen-ext-certs.sh
Normal file → Executable file
10
certs/test/gen-ext-certs.sh
Normal file → Executable file
@@ -4,7 +4,7 @@ TMP="/tmp/`basename $0`"
|
||||
|
||||
gen_cert() {
|
||||
openssl req -x509 -keyform DER -key certs/server-key.der \
|
||||
-outform DER -out $OUT -config $CONFIG \
|
||||
-days 1000 -new -outform DER -out $OUT -config $CONFIG \
|
||||
>$TMP 2>&1
|
||||
|
||||
if [ "$?" = "0" -a -f $OUT ]; then
|
||||
@@ -33,9 +33,13 @@ L = Brisbane
|
||||
O = wolfSSL Inc
|
||||
OU = Engineering
|
||||
CN = www.wolfssl.com
|
||||
emailAddress = support@www.wolfsssl.com
|
||||
emailAddress = support@wolfsssl.com
|
||||
|
||||
[ v3_ca ]
|
||||
subjectKeyIdentifier = hash
|
||||
authorityKeyIdentifier = keyid:always,issuer
|
||||
basicConstraints = critical, CA:true, pathlen:0
|
||||
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
|
||||
nameConstraints = critical,permitted;email:.wolfssl.com
|
||||
nsComment = "Testing name constraints"
|
||||
|
||||
@@ -58,7 +62,7 @@ L = Brisbane
|
||||
O = wolfSSL Inc
|
||||
OU = Engineering
|
||||
CN = www.wolfssl.com
|
||||
emailAddress = support@www.wolfsssl.com
|
||||
emailAddress = support@wolfsssl.com
|
||||
|
||||
[ v3_ca ]
|
||||
inhibitAnyPolicy = critical,1
|
||||
|
||||
@@ -44,3 +44,27 @@ Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
|
||||
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
|
||||
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
|
||||
MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
|
||||
YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
|
||||
MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
|
||||
ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
|
||||
MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
|
||||
ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
|
||||
PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
|
||||
wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
|
||||
EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
|
||||
avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
|
||||
YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
|
||||
sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
|
||||
/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
|
||||
IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
|
||||
YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
|
||||
ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
|
||||
OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
|
||||
TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
|
||||
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
|
||||
dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
|
||||
ReYNnyicsbkqWletNw+vHX/bvZ8=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
299
configure.ac
299
configure.ac
@@ -6,7 +6,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
AC_INIT([wolfssl],[3.13.0],[https://github.com/wolfssl/wolfssl/issues],[wolfssl],[http://www.wolfssl.com])
|
||||
AC_INIT([wolfssl],[3.14.0],[https://github.com/wolfssl/wolfssl/issues],[wolfssl],[http://www.wolfssl.com])
|
||||
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
|
||||
@@ -35,7 +35,7 @@ AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_HEADERS([config.h:config.in])dnl Keep filename to 8.3 for MS-DOS.
|
||||
|
||||
#shared library versioning
|
||||
WOLFSSL_LIBRARY_VERSION=15:0:0
|
||||
WOLFSSL_LIBRARY_VERSION=16:0:0
|
||||
# | | |
|
||||
# +------+ | +---+
|
||||
# | | |
|
||||
@@ -164,6 +164,7 @@ then
|
||||
enable_aesgcm=yes
|
||||
enable_aesccm=yes
|
||||
enable_aesctr=yes
|
||||
enable_aescfb=yes
|
||||
enable_camellia=yes
|
||||
enable_ripemd=yes
|
||||
enable_sha512=yes
|
||||
@@ -216,8 +217,10 @@ then
|
||||
enable_aeskeywrap=yes
|
||||
enable_x963kdf=yes
|
||||
enable_scrypt=yes
|
||||
enable_indef=yes
|
||||
|
||||
AM_CFLAGS="-DHAVE_AES_DECRYPT $AM_CFLAGS"
|
||||
AM_CFLAGS="-DHAVE_AES_ECB $AM_CFLAGS"
|
||||
fi
|
||||
AM_CONDITIONAL([BUILD_ALL], [test "x$ENABLED_ALL" = "xyes"])
|
||||
|
||||
@@ -292,6 +295,18 @@ then
|
||||
fi
|
||||
|
||||
|
||||
# TLS v1.3 Draft 22
|
||||
AC_ARG_ENABLE([tls13-draft22],
|
||||
[AS_HELP_STRING([--enable-tls13-draft22],[Enable wolfSSL TLS v1.3 Draft 22 (default: disabled)])],
|
||||
[ ENABLED_TLS13_DRAFT22=$enableval ],
|
||||
[ ENABLED_TLS13_DRAFT22=no ]
|
||||
)
|
||||
if test "$ENABLED_TLS13_DRAFT22" = "yes"
|
||||
then
|
||||
AM_CFLAGS="-DWOLFSSL_TLS13_DRAFT_22 $AM_CFLAGS"
|
||||
fi
|
||||
|
||||
|
||||
# TLS v1.3
|
||||
AC_ARG_ENABLE([tls13],
|
||||
[AS_HELP_STRING([--enable-tls13],[Enable wolfSSL TLS v1.3 (default: disabled)])],
|
||||
@@ -299,7 +314,7 @@ AC_ARG_ENABLE([tls13],
|
||||
[ ENABLED_TLS13=no ]
|
||||
)
|
||||
|
||||
if test "$ENABLED_TLS13_DRAFT18" = "yes"
|
||||
if test "$ENABLED_TLS13_DRAFT18" = "yes" || test "$ENABLED_TLS13_DRAFT22" = "yes"
|
||||
then
|
||||
ENABLED_TLS13="yes"
|
||||
fi
|
||||
@@ -329,7 +344,7 @@ then
|
||||
fi
|
||||
|
||||
|
||||
# Post-handshake Authentication
|
||||
# Hello Retry Request Cookie
|
||||
AC_ARG_ENABLE([hrrcookie],
|
||||
[AS_HELP_STRING([--enable-hrrcookie],[Enable the server to send Cookie Extension in HRR with state (default: disabled)])],
|
||||
[ ENABLED_SEND_HRR_COOKIE=$enableval ],
|
||||
@@ -424,6 +439,39 @@ AC_ARG_ENABLE([haproxy],
|
||||
[ ENABLED_HAPROXY=no ]
|
||||
)
|
||||
|
||||
# wpa_supplicant support
|
||||
AC_ARG_ENABLE([wpas],
|
||||
[AS_HELP_STRING([--enable-wpas],[Enable wpa_supplicant support (default: disabled)])],
|
||||
[ ENABLED_WPAS=$enableval ],
|
||||
[ ENABLED_WPAS=no ]
|
||||
)
|
||||
|
||||
# Fortress build
|
||||
AC_ARG_ENABLE([fortress],
|
||||
[AS_HELP_STRING([--enable-fortress],[Enable SSL fortress build (default: disabled)])],
|
||||
[ ENABLED_FORTRESS=$enableval ],
|
||||
[ ENABLED_FORTRESS=no ]
|
||||
)
|
||||
|
||||
if test "$ENABLED_OPENSSH" = "yes"
|
||||
then
|
||||
ENABLED_FORTRESS="yes"
|
||||
fi
|
||||
|
||||
# ssl bump build
|
||||
AC_ARG_ENABLE([bump],
|
||||
[AS_HELP_STRING([--enable-bump],[Enable SSL Bump build (default: disabled)])],
|
||||
[ ENABLED_BUMP=$enableval ],
|
||||
[ ENABLED_BUMP=no ]
|
||||
)
|
||||
|
||||
# SNIFFER
|
||||
AC_ARG_ENABLE([sniffer],
|
||||
[AS_HELP_STRING([--enable-sniffer],[Enable wolfSSL sniffer support (default: disabled)])],
|
||||
[ ENABLED_SNIFFER=$enableval ],
|
||||
[ ENABLED_SNIFFER=no ]
|
||||
)
|
||||
|
||||
# signal compatibility build
|
||||
AC_ARG_ENABLE([signal],
|
||||
[AS_HELP_STRING([--enable-signal],[Enable signal (default: disabled)])],
|
||||
@@ -452,21 +500,28 @@ AC_ARG_ENABLE([opensslextra],
|
||||
[ ENABLED_OPENSSLEXTRA=$enableval ],
|
||||
[ ENABLED_OPENSSLEXTRA=no ]
|
||||
)
|
||||
if test "$ENABLED_OPENSSH" = "yes" || test "$ENABLED_NGINX" = "yes" || test "$ENABLED_SIGNAL" = "yes"
|
||||
if test "$ENABLED_OPENSSH" = "yes" || test "$ENABLED_NGINX" = "yes" || test "$ENABLED_SIGNAL" = "yes" || test "$ENABLED_WPAS" = "yes" || test "$ENABLED_FORTRESS" = "yes" || test "$ENABLED_BUMP" = "yes" || test "$ENABLED_SNIFFER" = "yes"
|
||||
then
|
||||
ENABLED_OPENSSLEXTRA="yes"
|
||||
fi
|
||||
|
||||
if test "$ENABLED_OPENSSLEXTRA" = "yes" && test "x$ENABLED_OPENSSLCOEXIST" = "xno"
|
||||
then
|
||||
AM_CFLAGS="-DOPENSSL_EXTRA $AM_CFLAGS"
|
||||
AM_CFLAGS="-DOPENSSL_EXTRA -DWOLFSSL_ALWAYS_VERIFY_CB $AM_CFLAGS"
|
||||
AM_CFLAGS="-DWOLFSSL_VERIFY_CB_ALL_CERTS $AM_CFLAGS"
|
||||
fi
|
||||
|
||||
if test "$ENABLED_OPENSSLEXTRA" = "yes" && test "$ENABLED_SMALL" = "yes"
|
||||
then
|
||||
AC_MSG_ERROR([cannot enable small and opensslextra, only one or the other.])
|
||||
AC_MSG_ERROR([cannot enable small and opensslextra, only one or the other.])
|
||||
fi
|
||||
|
||||
if test "$ENABLED_OPENSSLEXTRA" = "x509small"
|
||||
then
|
||||
AC_MSG_NOTICE([Enabling only a subset of X509 opensslextra])
|
||||
AM_CFLAGS="-DOPENSSL_EXTRA_X509_SMALL $AM_CFLAGS"
|
||||
AM_CFLAGS="-DWOLFSSL_EKU_OID -DWOLFSSL_MULTI_ATTRIB $AM_CFLAGS"
|
||||
fi
|
||||
|
||||
# High Strength Build
|
||||
AC_ARG_ENABLE([maxstrength],
|
||||
@@ -504,53 +559,28 @@ fi
|
||||
AM_CONDITIONAL([BUILD_IPV6], [test "x$ENABLED_IPV6" = "xyes"])
|
||||
|
||||
|
||||
# wpa_supplicant support
|
||||
AC_ARG_ENABLE([wpas],
|
||||
[AS_HELP_STRING([--enable-wpas],[Enable wpa_supplicant support (default: disabled)])],
|
||||
[ ENABLED_WPAS=$enableval ],
|
||||
[ ENABLED_WPAS=no ]
|
||||
)
|
||||
if test "$ENABLED_WPAS" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_SECRET_CALLBACK -DWOLFSSL_STATIC_RSA"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_PUBLIC_MP -DWOLFSSL_PUBLIC_ECC_ADD_DBL"
|
||||
AM_CFLAGS="$AM_CFLAGS -DATOMIC_USER -DHAVE_EX_DATA -DWOLFSSL_KEEP_PEER_CERT"
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_EXT_CACHE"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ALWAYS_VERIFY_CB -DOPENSSL_EXTRA"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ALWAYS_VERIFY_CB"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AES_DIRECT -DWOLFSSL_DER_LOAD"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_KEY_GEN"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WPAS"
|
||||
fi
|
||||
|
||||
|
||||
# Fortress build
|
||||
AC_ARG_ENABLE([fortress],
|
||||
[AS_HELP_STRING([--enable-fortress],[Enable SSL fortress build (default: disabled)])],
|
||||
[ ENABLED_FORTRESS=$enableval ],
|
||||
[ ENABLED_FORTRESS=no ]
|
||||
)
|
||||
|
||||
if test "$ENABLED_OPENSSH" = "yes"
|
||||
then
|
||||
ENABLED_FORTRESS="yes"
|
||||
fi
|
||||
|
||||
if test "$ENABLED_FORTRESS" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DFORTRESS -DWOLFSSL_ALWAYS_VERIFY_CB -DOPENSSL_EXTRA -DWOLFSSL_AES_COUNTER -DWOLFSSL_AES_DIRECT -DWOLFSSL_DER_LOAD -DWOLFSSL_KEY_GEN"
|
||||
AM_CFLAGS="$AM_CFLAGS -DFORTRESS -DWOLFSSL_ALWAYS_VERIFY_CB -DWOLFSSL_AES_COUNTER -DWOLFSSL_AES_DIRECT -DWOLFSSL_DER_LOAD -DWOLFSSL_KEY_GEN"
|
||||
fi
|
||||
|
||||
|
||||
# ssl bump build
|
||||
AC_ARG_ENABLE([bump],
|
||||
[AS_HELP_STRING([--enable-bump],[Enable SSL Bump build (default: disabled)])],
|
||||
[ ENABLED_BUMP=$enableval ],
|
||||
[ ENABLED_BUMP=no ]
|
||||
)
|
||||
|
||||
if test "$ENABLED_BUMP" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DLARGE_STATIC_BUFFERS -DWOLFSSL_CERT_GEN -DWOLFSSL_KEY_GEN -DHUGE_SESSION_CACHE -DOPENSSL_EXTRA -DFP_MAX_BITS=8192 -DWOLFSSL_DER_LOAD -DWOLFSSL_ALT_NAMES -DWOLFSSL_TEST_CERT"
|
||||
AM_CFLAGS="$AM_CFLAGS -DLARGE_STATIC_BUFFERS -DWOLFSSL_CERT_GEN -DWOLFSSL_KEY_GEN -DHUGE_SESSION_CACHE -DFP_MAX_BITS=8192 -DWOLFSSL_DER_LOAD -DWOLFSSL_ALT_NAMES -DWOLFSSL_TEST_CERT"
|
||||
fi
|
||||
|
||||
ENABLED_SLOWMATH="yes"
|
||||
@@ -714,13 +744,6 @@ fi
|
||||
AM_CONDITIONAL([BUILD_PKCALLBACKS], [ test "x$ENABLED_PKCALLBACKS" = "xyes" ])
|
||||
|
||||
|
||||
# SNIFFER
|
||||
AC_ARG_ENABLE([sniffer],
|
||||
[AS_HELP_STRING([--enable-sniffer],[Enable wolfSSL sniffer support (default: disabled)])],
|
||||
[ ENABLED_SNIFFER=$enableval ],
|
||||
[ ENABLED_SNIFFER=no ]
|
||||
)
|
||||
|
||||
# sniffer doesn't work in maxstrength mode
|
||||
if test "$ENABLED_SNIFFER" = "yes" && test "$ENABLED_MAXSTRENGTH" = "yes"
|
||||
then
|
||||
@@ -730,7 +753,7 @@ fi
|
||||
ENABLED_SNIFFTEST=no
|
||||
AS_IF([ test "x$ENABLED_SNIFFER" = "xyes" ],
|
||||
[
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SNIFFER -DOPENSSL_EXTRA"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SNIFFER"
|
||||
AC_CHECK_HEADERS([pcap/pcap.h],
|
||||
[ ENABLED_SNIFFTEST=yes ],
|
||||
[ AC_MSG_WARN([cannot enable sniffer test without having libpcap available.]) ]
|
||||
@@ -813,6 +836,19 @@ then
|
||||
fi
|
||||
|
||||
|
||||
# AES-CFB
|
||||
AC_ARG_ENABLE([aescfb],
|
||||
[AS_HELP_STRING([--enable-aescfb],[Enable wolfSSL AES-CFB support (default: disabled)])],
|
||||
[ ENABLED_AESCFB=$enableval ],
|
||||
[ ENABLED_AESCFB=no ]
|
||||
)
|
||||
|
||||
if test "$ENABLED_AESCFB" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AES_CFB"
|
||||
fi
|
||||
|
||||
|
||||
# AES-ARM
|
||||
AC_ARG_ENABLE([armasm],
|
||||
[AS_HELP_STRING([--enable-armasm],[Enable wolfSSL ARMv8 ASM support (default: disabled)])],
|
||||
@@ -1000,18 +1036,11 @@ fi
|
||||
AM_CONDITIONAL([BUILD_BLAKE2], [test "x$ENABLED_BLAKE2" = "xyes"])
|
||||
|
||||
|
||||
# set sha512 default
|
||||
SHA512_DEFAULT=no
|
||||
if test "$host_cpu" = "x86_64"
|
||||
then
|
||||
SHA512_DEFAULT=yes
|
||||
fi
|
||||
|
||||
# SHA512
|
||||
AC_ARG_ENABLE([sha512],
|
||||
[AS_HELP_STRING([--enable-sha512],[Enable wolfSSL SHA-512 support (default: enabled on x86_64)])],
|
||||
[AS_HELP_STRING([--enable-sha512],[Enable wolfSSL SHA-512 support (default: enabled)])],
|
||||
[ ENABLED_SHA512=$enableval ],
|
||||
[ ENABLED_SHA512=$SHA512_DEFAULT ]
|
||||
[ ENABLED_SHA512=yes ]
|
||||
)
|
||||
|
||||
# options that don't require sha512
|
||||
@@ -1176,27 +1205,20 @@ fi
|
||||
AM_CONDITIONAL([BUILD_DSA], [test "x$ENABLED_DSA" = "xyes"])
|
||||
|
||||
|
||||
# set ecc default
|
||||
ECC_DEFAULT=no
|
||||
|
||||
if test "$host_cpu" = "x86_64"
|
||||
then
|
||||
ECC_DEFAULT=yes
|
||||
fi
|
||||
|
||||
# ECC Shamir
|
||||
AC_ARG_ENABLE([eccshamir],
|
||||
[AS_HELP_STRING([--enable-eccshamir],[Enable ECC Shamir (default: enabled on x86_64)])],
|
||||
[AS_HELP_STRING([--enable-eccshamir],[Enable ECC Shamir (default: enabled)])],
|
||||
[ ENABLED_ECC_SHAMIR=$enableval ],
|
||||
[ ENABLED_ECC_SHAMIR=$ECC_DEFAULT ]
|
||||
[ ENABLED_ECC_SHAMIR=yes ]
|
||||
)
|
||||
|
||||
|
||||
# ECC
|
||||
AC_ARG_ENABLE([ecc],
|
||||
[AS_HELP_STRING([--enable-ecc],[Enable ECC (default: enabled on x86_64)])],
|
||||
[AS_HELP_STRING([--enable-ecc],[Enable ECC (default: enabled)])],
|
||||
[ ENABLED_ECC=$enableval ],
|
||||
[ ENABLED_ECC=$ECC_DEFAULT ]
|
||||
[ ENABLED_ECC=yes ]
|
||||
)
|
||||
|
||||
# lean psk doesn't need ecc
|
||||
@@ -1294,9 +1316,6 @@ then
|
||||
fi
|
||||
|
||||
|
||||
AM_CONDITIONAL([BUILD_CURVE25519], [test "x$ENABLED_CURVE25519" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_CURVE25519_SMALL], [test "x$ENABLED_CURVE25519_SMALL" = "xyes"])
|
||||
|
||||
# ED25519
|
||||
AC_ARG_ENABLE([ed25519],
|
||||
[AS_HELP_STRING([--enable-ed25519],[Enable ED25519 (default: disabled)])],
|
||||
@@ -1316,6 +1335,7 @@ then
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DED25519_SMALL"
|
||||
ENABLED_ED25519_SMALL=yes
|
||||
ENABLED_CURVE25519_SMALL=yes
|
||||
ENABLED_ED25519=yes
|
||||
fi
|
||||
|
||||
@@ -1332,6 +1352,9 @@ AM_CONDITIONAL([BUILD_ED25519], [test "x$ENABLED_ED25519" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_ED25519_SMALL], [test "x$ENABLED_ED25519_SMALL" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_FEMATH], [test "x$ENABLED_FEMATH" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_GEMATH], [test "x$ENABLED_GEMATH" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_CURVE25519], [test "x$ENABLED_CURVE25519" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_CURVE25519_SMALL], [test "x$ENABLED_CURVE25519_SMALL" = "xyes"])
|
||||
|
||||
|
||||
# FP ECC, Fixed Point cache ECC
|
||||
AC_ARG_ENABLE([fpecc],
|
||||
@@ -1903,8 +1926,10 @@ AC_ARG_ENABLE([fips],
|
||||
[ ENABLED_FIPS=no ]
|
||||
)
|
||||
|
||||
if test "x$ENABLED_FIPS" = "xyes"
|
||||
if test "x$ENABLED_FIPS" != "xno"
|
||||
then
|
||||
FIPS_VERSION=$ENABLED_FIPS
|
||||
ENABLED_FIPS=yes
|
||||
# requires thread local storage
|
||||
if test "$thread_ls_on" = "no"
|
||||
then
|
||||
@@ -1930,6 +1955,19 @@ then
|
||||
ENABLED_DES3="yes"
|
||||
fi
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_FIPS"
|
||||
# Add the FIPS flag.
|
||||
AS_IF([test "x$FIPS_VERSION" = "xv2"],
|
||||
[AM_CFLAGS="$AM_CFLAGS -DHAVE_FIPS_VERSION=2 -DWOLFSSL_KEY_GEN"
|
||||
ENABLED_KEYGEN="yes"
|
||||
AS_IF([test "x$ENABLED_RSAPSS" != "xyes"],
|
||||
[ENABLED_RSAPSS="yes"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWC_RSA_PSS"])
|
||||
AS_IF([test "x$ENABLED_ECC" != "xyes"],
|
||||
[ENABLED_ECC="yes"
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_ECC -DTFM_ECC256"
|
||||
AS_IF([test "x$ENABLED_ECC_SHAMIR" = "xyes"],
|
||||
[AM_CFLAGS="$AM_CFLAGS -DECC_SHAMIR"])])
|
||||
])
|
||||
else
|
||||
if test "x$ENABLED_FORTRESS" = "xyes"
|
||||
then
|
||||
@@ -1938,11 +1976,26 @@ else
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([BUILD_FIPS], [test "x$ENABLED_FIPS" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_FIPS_V2], [test "x$FIPS_VERSION" = "xv2"])
|
||||
|
||||
# SELFTEST
|
||||
AC_ARG_ENABLE([selftest],
|
||||
[AS_HELP_STRING([--enable-selftest],[Enable selftest, Will NOT work w/o CAVP selftest license (default: disabled)])],
|
||||
[ ENABLED_SELFTEST=$enableval ],
|
||||
[ ENABLED_SELFTEST=no ]
|
||||
)
|
||||
|
||||
if test "x$ENABLED_SELFTEST" == "xyes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_SELFTEST"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([BUILD_SELFTEST], [test "x$ENABLED_SELFTEST" = "xyes"])
|
||||
|
||||
|
||||
# set sha224 default
|
||||
SHA224_DEFAULT=no
|
||||
if test "$host_cpu" = "x86_64"
|
||||
if test "$host_cpu" = "x86_64" || test "$host_cpu" = "aarch64"
|
||||
then
|
||||
if test "x$ENABLED_FIPS" = "xno"
|
||||
then
|
||||
@@ -1952,7 +2005,7 @@ fi
|
||||
|
||||
# SHA224
|
||||
AC_ARG_ENABLE([sha224],
|
||||
[AS_HELP_STRING([--enable-sha224],[Enable wolfSSL SHA-224 support (default: enabled on x86_64)])],
|
||||
[AS_HELP_STRING([--enable-sha224],[Enable wolfSSL SHA-224 support (default: enabled on x86_64/aarch64)])],
|
||||
[ ENABLED_SHA224=$enableval ],
|
||||
[ ENABLED_SHA224=$SHA224_DEFAULT ]
|
||||
)
|
||||
@@ -1967,7 +2020,7 @@ AM_CONDITIONAL([BUILD_SHA224], [test "x$ENABLED_SHA224" = "xyes"])
|
||||
|
||||
# set sha3 default
|
||||
SHA3_DEFAULT=no
|
||||
if test "$host_cpu" = "x86_64"
|
||||
if test "$host_cpu" = "x86_64" || test "$host_cpu" = "aarch64"
|
||||
then
|
||||
if test "x$ENABLED_FIPS" = "xno"
|
||||
then
|
||||
@@ -1977,7 +2030,7 @@ fi
|
||||
|
||||
# SHA3
|
||||
AC_ARG_ENABLE([sha3],
|
||||
[AS_HELP_STRING([--enable-sha3],[Enable wolfSSL SHA-3 support (default: enabled on x86_64)])],
|
||||
[AS_HELP_STRING([--enable-sha3],[Enable wolfSSL SHA-3 support (default: enabled on x86_64/aarch64)])],
|
||||
[ ENABLED_SHA3=$enableval ],
|
||||
[ ENABLED_SHA3=$SHA3_DEFAULT ]
|
||||
)
|
||||
@@ -2159,7 +2212,6 @@ AC_ARG_ENABLE([ocspstapling],
|
||||
|
||||
if test "x$ENABLED_NGINX" = "xyes" || test "x$ENABLED_WPAS" = "xyes" || test "x$ENABLED_HAPROXY" = "xyes"
|
||||
then
|
||||
echo "ELLO"
|
||||
ENABLED_CERTIFICATE_STATUS_REQUEST="yes"
|
||||
fi
|
||||
|
||||
@@ -2492,7 +2544,7 @@ fi
|
||||
AC_ARG_ENABLE([supportedcurves],
|
||||
[AS_HELP_STRING([--enable-supportedcurves],[Enable Supported Elliptic Curves (default: enabled)])],
|
||||
[ENABLED_SUPPORTED_CURVES=$enableval],
|
||||
[ENABLED_SUPPORTED_CURVES=$ECC_DEFAULT])
|
||||
[ENABLED_SUPPORTED_CURVES=yes])
|
||||
|
||||
if test "x$ENABLED_SUPPORTED_CURVES" = "xyes"
|
||||
then
|
||||
@@ -2613,6 +2665,19 @@ fi
|
||||
AM_CONDITIONAL([BUILD_SRP], [test "x$ENABLED_SRP" = "xyes"])
|
||||
|
||||
|
||||
# Indefinite length encoded BER message support
|
||||
AC_ARG_ENABLE([indef],
|
||||
[AS_HELP_STRING([--enable-indef],[Enable parsing of indefinite length encoded msgs (default: disabled)])],
|
||||
[ ENABLED_BER_INDEF=$enableval ],
|
||||
[ ENABLED_BER_INDEF=no ]
|
||||
)
|
||||
|
||||
if test "x$ENABLED_BER_INDEF" = "xyes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DASN_BER_TO_DER"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Small Stack
|
||||
AC_ARG_ENABLE([smallstack],
|
||||
@@ -3036,14 +3101,14 @@ fi
|
||||
# set fastmath default
|
||||
FASTMATH_DEFAULT=no
|
||||
|
||||
if test "$host_cpu" = "x86_64"
|
||||
if test "$host_cpu" = "x86_64" || test "$host_cpu" = "aarch64"
|
||||
then
|
||||
FASTMATH_DEFAULT=yes
|
||||
fi
|
||||
|
||||
# fastmath
|
||||
AC_ARG_ENABLE([fastmath],
|
||||
[AS_HELP_STRING([--enable-fastmath],[Enable fast math ops (default: enabled on x86_64)])],
|
||||
[AS_HELP_STRING([--enable-fastmath],[Enable fast math ops (default: enabled on x86_64/aarch64)])],
|
||||
[ ENABLED_FASTMATH=$enableval ],
|
||||
[ ENABLED_FASTMATH=$FASTMATH_DEFAULT]
|
||||
)
|
||||
@@ -3108,6 +3173,7 @@ AS_IF([test "x$ENABLED_CRYPTONLY" = "xyes"], [ENABLED_EXAMPLES="no"])
|
||||
AM_CONDITIONAL([BUILD_EXAMPLE_SERVERS], [test "x$ENABLED_EXAMPLES" = "xyes" && test "x$ENABLED_LEANTLS" = "xno"])
|
||||
AM_CONDITIONAL([BUILD_EXAMPLE_CLIENTS], [test "x$ENABLED_EXAMPLES" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_TESTS], [test "x$ENABLED_EXAMPLES" = "xyes" && test "x$ENABLED_LEANTLS" = "xno"])
|
||||
AM_CONDITIONAL([BUILD_THREADED_EXAMPLES], [test "x$ENABLED_SINGLETHREADED" = "xno" && test "x$ENABLED_EXAMPLES" = "xyes" && test "x$ENABLED_LEANTLS" = "xno"])
|
||||
|
||||
# Enable wolfCrypt test and benchmark
|
||||
AC_ARG_ENABLE([crypttests],
|
||||
@@ -3281,6 +3347,9 @@ AC_ARG_ENABLE([sp],
|
||||
[ ENABLED_SP=no ],
|
||||
)
|
||||
|
||||
ENABLED_SP_RSA=no
|
||||
ENABLED_SP_DH=no
|
||||
ENABLED_SP_ECC=no
|
||||
for v in `echo $ENABLED_SP | tr "," " "`
|
||||
do
|
||||
case $v in
|
||||
@@ -3355,7 +3424,7 @@ do
|
||||
break;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
ENABLED_SP=no
|
||||
if test "$ENABLED_RSA" = "yes" && test "$ENABLED_SP_RSA" = "yes"; then
|
||||
ENABLED_SP=yes
|
||||
@@ -3369,7 +3438,79 @@ if test "$ENABLED_ECC" = "yes" && test "$ENABLED_SP_ECC" = "yes"; then
|
||||
ENABLED_SP=yes
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_SP_ECC"
|
||||
fi
|
||||
|
||||
|
||||
AC_ARG_ENABLE([sp-asm],
|
||||
[AS_HELP_STRING([--enable-sp-asm],[Enable Single Precision assembly implementation (default: disabled)])],
|
||||
[ ENABLED_SP_ASM=$enableval ],
|
||||
[ ENABLED_SP_ASM=no ],
|
||||
)
|
||||
if test "$ENABLED_SP_ASM" = "yes"; then
|
||||
if test "$ENABLED_SP" = "no"; then
|
||||
AC_MSG_ERROR([Must have SP enabled: --enable-sp])
|
||||
fi
|
||||
if test "$ENABLED_ASM" = "no"; then
|
||||
AC_MSG_ERROR([Assembly code turned off])
|
||||
fi
|
||||
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SP_ASM"
|
||||
case $host_cpu in
|
||||
*aarch64*)
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SP_ARM64_ASM"
|
||||
ENABLED_SP_ARM64_ASM=yes
|
||||
;;
|
||||
*arm*)
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SP_ARM32_ASM"
|
||||
ENABLED_SP_ARM32_ASM=yes
|
||||
;;
|
||||
*x86_64*)
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SP_X86_64_ASM"
|
||||
ENABLED_SP_X86_64_ASM=yes
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([ASM not available for CPU. Supported CPUs: x86_64, aarch64, arm])
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE([sp-math],
|
||||
[AS_HELP_STRING([--enable-sp-math],[Enable Single Precision math implementation only (default: disabled)])],
|
||||
[ ENABLED_SP_MATH=$enableval ],
|
||||
[ ENABLED_SP_MATH=no ],
|
||||
)
|
||||
if test "$ENABLED_SP_MATH" = "yes"; then
|
||||
if test "$ENABLED_SP" = "no"; then
|
||||
AC_MSG_ERROR([Must have SP enabled: --enable-sp])
|
||||
fi
|
||||
if test "$ENABLED_ECCCUSTCURVES" = "yes"; then
|
||||
AC_MSG_ERROR([Cannot use single precision math and custom curves])
|
||||
fi
|
||||
if test "$ENABLED_OPENSSLEXTRA" = "yes"; then
|
||||
AC_MSG_ERROR([Cannot use single precision math and OpenSSL extra])
|
||||
fi
|
||||
if test "$ENABLED_DSA" = "yes"; then
|
||||
AC_MSG_ERROR([Cannot use single precision math and DSA])
|
||||
fi
|
||||
if test "$ENABLED_SRP" = "yes"; then
|
||||
AC_MSG_ERROR([Cannot use single precision math and SRP])
|
||||
fi
|
||||
if test "$ENABLED_SP_RSA" = "no" && test "$ENABLED_RSA" = "yes"; then
|
||||
AC_MSG_ERROR([Cannot use P256 single precision only math and RSA])
|
||||
fi
|
||||
if test "$ENABLED_SP_DH" = "no" && test "$ENABLED_DH" = "yes"; then
|
||||
AC_MSG_ERROR([Cannot use P256 single precision only math and DH])
|
||||
fi
|
||||
fi
|
||||
if test "$ENABLED_SP_MATH" = "yes"; then
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SP_MATH"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([BUILD_SP], [test "x$ENABLED_SP" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_SP_C], [test "x$ENABLED_SP" = "xyes" && test "x$ENABLED_SP_ASM" = "xno" ])
|
||||
AM_CONDITIONAL([BUILD_SP_ARM64], [test "x$ENABLED_SP_ARM64_ASM" = "xyes" ])
|
||||
AM_CONDITIONAL([BUILD_SP_ARM32], [test "x$ENABLED_SP_ARM32_ASM" = "xyes" ])
|
||||
AM_CONDITIONAL([BUILD_SP_X86_64], [test "x$ENABLED_SP_X86_64_ASM" = "xyes" ])
|
||||
AM_CONDITIONAL([BUILD_SP_INT], [test "x$ENABLED_SP_MATH" = "xyes" ])
|
||||
|
||||
# Fast RSA using Intel IPP
|
||||
ippdir="${srcdir}/IPP"
|
||||
@@ -3672,6 +3813,7 @@ AC_ARG_ENABLE([oldnames],
|
||||
if test "x$ENABLED_OLDNAMES" = "xno" && test "x$ENABLED_OPENSSLCOEXIST" = "xno"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DNO_OLD_RNGNAME -DNO_OLD_WC_NAMES -DNO_OLD_SSL_NAMES"
|
||||
AM_CFLAGS="$AM_CFLAGS -DNO_OLD_SHA256_NAMES"
|
||||
fi
|
||||
|
||||
|
||||
@@ -3802,6 +3944,9 @@ then
|
||||
fi
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_WOLFSCEP"
|
||||
fi
|
||||
if test "$ENABLED_SP_MATH" = "yes" && test "$ENABLED_KEYGEN" = "yes"; then
|
||||
AC_MSG_ERROR([Cannot use single precision math and key generation])
|
||||
fi
|
||||
|
||||
if test "x$ENABLED_PKCS7" = "xyes"
|
||||
then
|
||||
@@ -4159,6 +4304,7 @@ echo " * SIGNAL: $ENABLED_SIGNAL"
|
||||
echo " * ERROR_STRINGS: $ENABLED_ERROR_STRINGS"
|
||||
echo " * DTLS: $ENABLED_DTLS"
|
||||
echo " * SCTP: $ENABLED_SCTP"
|
||||
echo " * Indefinite Length: $ENABLED_BER_INDEF"
|
||||
echo " * Multicast: $ENABLED_MCAST"
|
||||
echo " * Old TLS Versions: $ENABLED_OLD_TLS"
|
||||
echo " * SSL version 3.0: $ENABLED_SSLV3"
|
||||
@@ -4208,6 +4354,7 @@ echo " * AES Key Wrap: $ENABLED_AESKEYWRAP"
|
||||
echo " * Write duplicate: $ENABLED_WRITEDUP"
|
||||
echo " * Intel Quick Assist: $ENABLED_INTEL_QA"
|
||||
echo " * Xilinx Hardware Acc.: $ENABLED_XILINX"
|
||||
echo " * Inline Code: $ENABLED_INLINE"
|
||||
echo ""
|
||||
echo "---"
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#ifdef WOLFSSL_KEY_GEN
|
||||
#define MakeRsaKey wc_MakeRsaKey
|
||||
#define RsaKeyToDer wc_RsaKeyToDer
|
||||
#define CheckProbablePrime wc_CheckProbablePrime
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
||||
|
||||
178
doc/README_DOXYGEN
Normal file
178
doc/README_DOXYGEN
Normal file
@@ -0,0 +1,178 @@
|
||||
wolfSSL with Doxygen 1.8.13
|
||||
|
||||
---- Dependencies ----
|
||||
|
||||
cmake
|
||||
make
|
||||
git
|
||||
latex-see below (With pdflatex included. However the pdflatex dependency can be removed by
|
||||
setting USE_PDFLATEX to NO in the file "Doxyfile" located at
|
||||
doc/formats/pdf/Doxyfile )
|
||||
|
||||
The following texlive packages were installed when creating this
|
||||
documentation on Linux Mint:
|
||||
sudo apt install texlive
|
||||
sudo apt install texlive-latex-extra
|
||||
|
||||
For Mac users Basic Tex from TUG is recommended. After installing BasicTex
|
||||
additional dependencies will need to be met:
|
||||
% sudo tlmgr update --self
|
||||
% sudo tlmgr install tabu varwidth multirow adjustbox collectbox sectsty tocloft collection-fontsextra
|
||||
|
||||
---- Generating the Documentation ----
|
||||
|
||||
If you are looking to just generate the html documentation and not interested in
|
||||
how to add your own just run one of the following commands from the main wolfssl
|
||||
directory:
|
||||
|
||||
make dox (this option will make both html and pdf documentation)
|
||||
make dox-html (only html documentation)
|
||||
make dox-pdf (only pdf documentation)
|
||||
|
||||
If it is the first time running one of the above commands the command will take
|
||||
some time to run. This is because the doxygen repository must be clones and then
|
||||
built along with the time taken to make the documentation.
|
||||
|
||||
Once documentation generation has completed to open the html use a browser to
|
||||
open doc/html/index.html. To open the generated pdf looking for
|
||||
refman.pdf located and doc/refman.pdf.
|
||||
|
||||
---- Configure ----
|
||||
|
||||
Doxygen uses a file called "Doxyfile" to hold all its values for configuration.
|
||||
If needed, to generate a fresh Doxfile run the command
|
||||
|
||||
doxygen -g
|
||||
|
||||
Once a Doxyfile is generate there are a few options to keep in mind.
|
||||
Below are some the the settings that are currently used:
|
||||
|
||||
EXTRACT_ALL
|
||||
|
||||
- this option determines if all API are extracted or just API that is documented.
|
||||
|
||||
OPTIMIZE_OUTPUT_FOR_C
|
||||
|
||||
- changes the look and naming schemes used in generated documentation.
|
||||
|
||||
RECURSIVE
|
||||
|
||||
- allows doxygen to search subdirectories in a library for documenting.
|
||||
|
||||
GENERATE_LATEX
|
||||
|
||||
- tells doxygen whether or not to generate LATEX documentation. The Latex
|
||||
that is generated is used to generate a PDF as well.
|
||||
|
||||
ENABLE_PREPROCESSING
|
||||
|
||||
- tells doxygen whether or not to ignore C/C++ preprocessors directives i.e #ifdef, #ifndef
|
||||
|
||||
EXCLUDE
|
||||
|
||||
- allows the user to specify files or directories to ignore when documenting.
|
||||
|
||||
HTML_EXTRA_STYLESHEET
|
||||
|
||||
-allows the user to specify their own css style sheet to use for the doxygen html.
|
||||
|
||||
SHOW_USED_FILES and SHOW_FILES
|
||||
|
||||
- when using groups it is important to keep these options set to yes otherwise
|
||||
functions with documentation that are not part of a group may fail to be included
|
||||
in the generated documentation.
|
||||
|
||||
---- Embedding Documentation ----
|
||||
|
||||
Doxygen API documentation should be placed in the doc/dox_comments/
|
||||
directory. The documentation should be stored in a file in this directory with the
|
||||
same name of the file in which the API resides in the wolfssl repository. C code
|
||||
header files (*.h) should be used when writing the API documentation. If API in a
|
||||
file is being documented for the first time be sure to add the to the top of the
|
||||
original file:
|
||||
|
||||
/*!
|
||||
\file wolfssl/PATH_TO_FILE/FILE_NAME
|
||||
*/
|
||||
|
||||
This ensures that the file will be linked to in the doxygen generated html.
|
||||
When specifying a specific file with the \file command be sure to include part of
|
||||
the file's path so that it is a unique name. This allows for linking to files even
|
||||
when multiple files share the same name.
|
||||
|
||||
To ensure that doxygen documents a specific API in to a desired module be sure
|
||||
to include that module's name in the \ingroup. The current modules to choose from
|
||||
are as follows but new group can be made:
|
||||
|
||||
\ingroup 3DES
|
||||
\ingroup AES
|
||||
\ingroup ARC4
|
||||
\ingroup BLAKE2
|
||||
\ingroup Camellia
|
||||
\ingroup ChaCha
|
||||
\ingroup ChaCha20Poly1305
|
||||
\ingroup Curve25519
|
||||
\ingroup DSA Algorithms
|
||||
\ingroup Diffie-Hellman
|
||||
\ingroup ECC
|
||||
\ingroup ED25519
|
||||
\ingroup HC128
|
||||
\ingroup HMAC
|
||||
\ingroup IDEA
|
||||
\ingroup MD2
|
||||
\ingroup MD4
|
||||
\ingroup MD5
|
||||
\ingroup PKCS7
|
||||
\ingroup Password
|
||||
\ingroup Poly1305
|
||||
\ingroup RIPEMD
|
||||
\ingroup RSA
|
||||
\ingroup Rabbit
|
||||
\ingroup SHA
|
||||
\ingroup SRP
|
||||
\ingroup wolfCrypt
|
||||
\ingroup openSSL
|
||||
\ingroup CertManager
|
||||
\ingroup TLS
|
||||
\ingroup CertsKeys
|
||||
\ingroup Setup
|
||||
\ingroup IO
|
||||
\ingroup Debug
|
||||
|
||||
If one of the above modules/ groups does not fit a desired function then a new
|
||||
group will need to be created. To do this include add a new group definition
|
||||
to the doxygen_groups.h file located at documentation/formats/pdf/doxygen_groups.h
|
||||
|
||||
/*!
|
||||
\defgroup <group name> <description>
|
||||
*/
|
||||
|
||||
The general outline when documenting within the wolfssl library in doxygen should
|
||||
look like as follows:
|
||||
|
||||
/*!
|
||||
\ingroup //if API should be in a separate module
|
||||
|
||||
\brief <description of API>
|
||||
|
||||
\return <name of return> <description> // each return will need \return.
|
||||
|
||||
\param <name of param> <description> // stands for parameter, each parameter will need \param.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
// any example code here
|
||||
\endcode
|
||||
|
||||
\sa // stands for see also. Each API reference here should begin with \sa
|
||||
\sa <Function>
|
||||
\sa <Function>
|
||||
*/
|
||||
|
||||
When adding new documentation be sure to keep the sections, \ingroup, \brief,
|
||||
\param, \return, Etc. separated with at least 1 newline. This insures that when
|
||||
doxygen attempts to generate documentation the sections do not overlap each other
|
||||
and produce errors (this is especially important when the latex is being generated).
|
||||
Once finished creating new documentation it is highly recommended to generate new
|
||||
html and pdf to ensure no errors were introduced that prevent documentation
|
||||
generation and that the documentation shows up correctly.
|
||||
43
doc/check_api.sh
Executable file
43
doc/check_api.sh
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
|
||||
ls ./dox_comments/header_files/ |
|
||||
while read h_file; do
|
||||
grep -P -h -z -o 'WOLFSSL_API(\n|\s|[^;])*;' ./dox_comments/header_files/$h_file |
|
||||
tr '\n' ' ' |
|
||||
sed 's/\\n//g' |
|
||||
sed 's/ \+/ /g' |
|
||||
sed 's/\x00/\n/g' > dox_api.txt
|
||||
|
||||
find ../ -not -path '../doc/*' -name $h_file |
|
||||
while read -r h_file_path; do
|
||||
echo "Checking: $h_file_path"
|
||||
grep -P -h -z -o 'WOLFSSL_API(\n|\s|[^;])*;' "$h_file_path" |
|
||||
sed 's/#.*/ /g' |
|
||||
tr '\n' ' ' |
|
||||
sed 's/\\n//g' |
|
||||
sed 's/ \+/ /g' |
|
||||
sed 's/\x00/\n/g' > wolf_api.txt
|
||||
|
||||
api_count="$(wc -l < dox_api.txt)"
|
||||
match_count="$(grep -Ff dox_api.txt wolf_api.txt | wc -l)"
|
||||
if [ "$api_count" != "$match_count" ]; then
|
||||
echo "Mistmatch"
|
||||
echo "Dox_api: $api_count"
|
||||
echo "Matched_api: $match_count"
|
||||
echo "Header file: $h_file"
|
||||
echo "Check API: "
|
||||
sort dox_api.txt -o dox_api.txt
|
||||
sort wolf_api.txt -o wolf_api.txt
|
||||
comm -23 dox_api.txt wolf_api.txt
|
||||
exit 1
|
||||
else
|
||||
echo "$h_file is all good"
|
||||
break
|
||||
fi
|
||||
done || exit 1
|
||||
echo 'Next...\n'
|
||||
|
||||
done || exit 1
|
||||
|
||||
rm dox_api.txt
|
||||
rm wolf_api.txt
|
||||
811
doc/dox_comments/header_files/aes.h
Normal file
811
doc/dox_comments/header_files/aes.h
Normal file
@@ -0,0 +1,811 @@
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function initializes an AES structure by setting the key and
|
||||
then setting the initialization vector.
|
||||
|
||||
\return 0 On successfully setting key and initialization vector.
|
||||
\return BAD_FUNC_ARG Returned if key length is invalid.
|
||||
|
||||
\param aes pointer to the AES structure to modify
|
||||
\param key 16, 24, or 32 byte secret key for encryption and decryption
|
||||
\param len length of the key passed in
|
||||
\param iv pointer to the initialization vector used to initialize the key
|
||||
\param dir Cipher direction. Set AES_ENCRYPTION to encrypt, or
|
||||
AES_DECRYPTION to decrypt.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
int ret = 0;
|
||||
byte key[] = { some 16, 24 or 32 byte key };
|
||||
byte iv[] = { some 16 byte iv };
|
||||
if (ret = wc_AesSetKey(&enc, key, AES_BLOCK_SIZE, iv,
|
||||
AES_ENCRYPTION) != 0) {
|
||||
// failed to set aes key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_AesSetKeyDirect
|
||||
\sa wc_AesSetIV
|
||||
*/
|
||||
WOLFSSL_API int wc_AesSetKey(Aes* aes, const byte* key, word32 len,
|
||||
const byte* iv, int dir);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function sets the initialization vector for a
|
||||
particular AES object. The AES object should be initialized before
|
||||
calling this function.
|
||||
|
||||
\return 0 On successfully setting initialization vector.
|
||||
\return BAD_FUNC_ARG Returned if AES pointer is NULL.
|
||||
|
||||
\param aes pointer to the AES structure on which to set the
|
||||
initialization vector
|
||||
\param iv initialization vector used to initialize the AES structure.
|
||||
If the value is NULL, the default action initializes the iv to 0.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
// set enc key
|
||||
byte iv[] = { some 16 byte iv };
|
||||
if (ret = wc_AesSetIV(&enc, iv) != 0) {
|
||||
// failed to set aes iv
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_AesSetKeyDirect
|
||||
\sa wc_AesSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_AesSetIV(Aes* aes, const byte* iv);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief Encrypts a plaintext message from the input buffer in, and places
|
||||
the resulting cipher text in the output buffer out using cipher block
|
||||
chaining with AES. This function requires that the AES object has been
|
||||
initialized by calling AesSetKey before a message is able to be encrypted.
|
||||
This function assumes that the input message is AES block length aligned.
|
||||
PKCS#7 style padding should be added beforehand. This differs from the
|
||||
OpenSSL AES-CBC methods which add the padding for you. To make the wolfSSL
|
||||
function and equivalent OpenSSL functions interoperate, one should specify
|
||||
the -nopad option in the OpenSSL command line function so that it behaves
|
||||
like the wolfSSL AesCbcEncrypt method and does not add extra padding
|
||||
during encryption.
|
||||
|
||||
\return 0 On successfully encrypting message.
|
||||
\return BAD_ALIGN_E: Returned on block align error
|
||||
|
||||
\param aes pointer to the AES object used to encrypt data
|
||||
\param out pointer to the output buffer in which to store the ciphertext
|
||||
of the encrypted message
|
||||
\param in pointer to the input buffer containing message to be encrypted
|
||||
\param sz size of input message
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
int ret = 0;
|
||||
// initialize enc with AesSetKey, using direction AES_ENCRYPTION
|
||||
byte msg[AES_BLOCK_SIZE * n]; // multiple of 16 bytes
|
||||
// fill msg with data
|
||||
byte cipher[AES_BLOCK_SIZE * n]; // Some multiple of 16 bytes
|
||||
if ((ret = wc_AesCbcEncrypt(&enc, cipher, message, sizeof(msg))) != 0 ) {
|
||||
// block align error
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_AesSetKey
|
||||
\sa wc_AesSetIV
|
||||
\sa wc_AesCbcDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_AesCbcEncrypt(Aes* aes, byte* out,
|
||||
const byte* in, word32 sz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief Decrypts a cipher from the input buffer in, and places the
|
||||
resulting plain text in the output buffer out using cipher block chaining
|
||||
with AES. This function requires that the AES structure has been
|
||||
initialized by calling AesSetKey before a message is able to be decrypted.
|
||||
This function assumes that the original message was AES block length
|
||||
aligned. This differs from the OpenSSL AES-CBC methods which do not
|
||||
require alignment as it adds PKCS#7 padding automatically. To make the
|
||||
wolfSSL function and equivalent OpenSSL functions interoperate, one
|
||||
should specify the -nopad option in the OpenSSL command line function
|
||||
so that it behaves like the wolfSSL AesCbcEncrypt method and does not
|
||||
create errors during decryption.
|
||||
|
||||
\return 0 On successfully decrypting message.
|
||||
\return BAD_ALIGN_E Returned on block align error.
|
||||
|
||||
\param aes pointer to the AES object used to decrypt data.
|
||||
\param out pointer to the output buffer in which to store the plain text
|
||||
of the decrypted message.
|
||||
\param in pointer to the input buffer containing cipher text to be
|
||||
decrypted.
|
||||
\param sz size of input message.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes dec;
|
||||
int ret = 0;
|
||||
// initialize dec with AesSetKey, using direction AES_DECRYPTION
|
||||
byte cipher[AES_BLOCK_SIZE * n]; // some multiple of 16 bytes
|
||||
// fill cipher with cipher text
|
||||
byte plain [AES_BLOCK_SIZE * n];
|
||||
if ((ret = wc_AesCbcDecrypt(&dec, plain, cipher, sizeof(cipher))) != 0 ) {
|
||||
// block align error
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_AesSetKey
|
||||
\sa wc_AesCbcEncrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out,
|
||||
const byte* in, word32 sz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief Encrypts/Decrypts a message from the input buffer in, and places
|
||||
the resulting cipher text in the output buffer out using CTR mode with
|
||||
AES. This function is only enabled if WOLFSSL_AES_COUNTER is enabled at
|
||||
compile time. The AES structure should be initialized through AesSetKey
|
||||
before calling this function. Note that this function is used for both
|
||||
decryption and encryption. _NOTE:_ Regarding using same API for encryption
|
||||
and decryption. User should differentiate between Aes structures
|
||||
for encrypt/decrypt.
|
||||
|
||||
\return int integer values corresponding to wolfSSL error or success
|
||||
status
|
||||
|
||||
\param aes pointer to the AES object used to decrypt data
|
||||
\param out pointer to the output buffer in which to store the cipher
|
||||
text of the encrypted message
|
||||
\param in pointer to the input buffer containing plain text to be encrypted
|
||||
\param sz size of the input plain text
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
Aes dec;
|
||||
// initialize enc and dec with AesSetKeyDirect, using direction
|
||||
AES_ENCRYPTION
|
||||
// since the underlying API only calls Encrypt and by default calling
|
||||
encrypt on
|
||||
// a cipher results in a decryption of the cipher
|
||||
|
||||
byte msg[AES_BLOCK_SIZE * n]; //n being a positive integer making msg
|
||||
some multiple of 16 bytes
|
||||
// fill plain with message text
|
||||
byte cipher[AES_BLOCK_SIZE * n];
|
||||
byte decrypted[AES_BLOCK_SIZE * n];
|
||||
wc_AesCtrEncrypt(&enc, cipher, msg, sizeof(msg)); // encrypt plain
|
||||
wc_AesCtrEncrypt(&dec, decrypted, cipher, sizeof(cipher));
|
||||
// decrypt cipher text
|
||||
\endcode
|
||||
|
||||
\sa wc_AesSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_AesCtrEncrypt(Aes* aes, byte* out,
|
||||
const byte* in, word32 sz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function is a one-block encrypt of the input block, in, into
|
||||
the output block, out. It uses the key and iv (initialization vector)
|
||||
of the provided AES structure, which should be initialized with
|
||||
wc_AesSetKey before calling this function. It is only enabled if the
|
||||
configure option WOLFSSL_AES_DIRECT is enabled. __Warning:__ In nearly all
|
||||
use cases ECB mode is considered to be less secure. Please avoid using ECB
|
||||
API’s directly whenever possible
|
||||
|
||||
\param aes pointer to the AES object used to encrypt data
|
||||
\param out pointer to the output buffer in which to store the cipher
|
||||
text of the encrypted message
|
||||
\param in pointer to the input buffer containing plain text to be encrypted
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
// initialize enc with AesSetKey, using direction AES_ENCRYPTION
|
||||
byte msg [AES_BLOCK_SIZE]; // 16 bytes
|
||||
// initialize msg with plain text to encrypt
|
||||
byte cipher[AES_BLOCK_SIZE];
|
||||
wc_AesEncryptDirect(&enc, cipher, msg);
|
||||
\endcode
|
||||
|
||||
\sa wc_AesDecryptDirect
|
||||
\sa wc_AesSetKeyDirect
|
||||
*/
|
||||
WOLFSSL_API void wc_AesEncryptDirect(Aes* aes, byte* out, const byte* in);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function is a one-block decrypt of the input block, in, into
|
||||
the output block, out. It uses the key and iv (initialization vector) of
|
||||
the provided AES structure, which should be initialized with wc_AesSetKey
|
||||
before calling this function. It is only enabled if the configure option
|
||||
WOLFSSL_AES_DIRECT is enabled, and there is support for direct AES
|
||||
encryption on the system in question. __Warning:__ In nearly all use cases
|
||||
ECB mode is considered to be less secure. Please avoid using ECB API’s
|
||||
directly whenever possible
|
||||
|
||||
\return none
|
||||
|
||||
\param aes pointer to the AES object used to encrypt data
|
||||
\param out pointer to the output buffer in which to store the plain
|
||||
text of the decrypted cipher text
|
||||
\param in pointer to the input buffer containing cipher text to be
|
||||
decrypted
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes dec;
|
||||
// initialize enc with AesSetKey, using direction AES_DECRYPTION
|
||||
byte cipher [AES_BLOCK_SIZE]; // 16 bytes
|
||||
// initialize cipher with cipher text to decrypt
|
||||
byte msg[AES_BLOCK_SIZE];
|
||||
wc_AesDecryptDirect(&dec, msg, cipher);
|
||||
\endcode
|
||||
|
||||
\sa wc_AesEncryptDirect
|
||||
\sa wc_AesSetKeyDirect
|
||||
*/
|
||||
WOLFSSL_API void wc_AesDecryptDirect(Aes* aes, byte* out, const byte* in);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function is used to set the AES keys for CTR mode with AES.
|
||||
It initializes an AES object with the given key, iv
|
||||
(initialization vector), and encryption dir (direction). It is only
|
||||
enabled if the configure option WOLFSSL_AES_DIRECT is enabled.
|
||||
Currently wc_AesSetKeyDirect uses wc_AesSetKey internally. __Warning:__ In
|
||||
nearly all use cases ECB mode is considered to be less secure. Please avoid
|
||||
using ECB API’s directly whenever possible
|
||||
|
||||
\return 0 On successfully setting the key.
|
||||
\return BAD_FUNC_ARG Returned if the given key is an invalid length.
|
||||
|
||||
\param aes pointer to the AES object used to encrypt data
|
||||
\param key 16, 24, or 32 byte secret key for encryption and decryption
|
||||
\param len length of the key passed in
|
||||
\param iv initialization vector used to initialize the key
|
||||
\param dir Cipher direction. Set AES_ENCRYPTION to encrypt, or
|
||||
AES_DECRYPTION to decrypt. (See enum in wolfssl/wolfcrypt/aes.h)
|
||||
(NOTE: If using wc_AesSetKeyDirect with Aes Counter mode (Stream cipher)
|
||||
only use AES_ENCRYPTION for both encrypting and decrypting)
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
int ret = 0;
|
||||
byte key[] = { some 16, 24, or 32 byte key };
|
||||
byte iv[] = { some 16 byte iv };
|
||||
if (ret = wc_AesSetKeyDirect(&enc, key, sizeof(key), iv,
|
||||
AES_ENCRYPTION) != 0) {
|
||||
// failed to set aes key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_AesEncryptDirect
|
||||
\sa wc_AesDecryptDirect
|
||||
\sa wc_AesSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_AesSetKeyDirect(Aes* aes, const byte* key, word32 len,
|
||||
const byte* iv, int dir);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function is used to set the key for AES GCM
|
||||
(Galois/Counter Mode). It initializes an AES object with the
|
||||
given key. It is only enabled if the configure option
|
||||
HAVE_AESGCM is enabled at compile time.
|
||||
|
||||
\return 0 On successfully setting the key.
|
||||
\return BAD_FUNC_ARG Returned if the given key is an invalid length.
|
||||
|
||||
\param aes pointer to the AES object used to encrypt data
|
||||
\param key 16, 24, or 32 byte secret key for encryption and decryption
|
||||
\param len length of the key passed in
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
int ret = 0;
|
||||
byte key[] = { some 16, 24,32 byte key };
|
||||
if (ret = wc_AesGcmSetKey(&enc, key, sizeof(key)) != 0) {
|
||||
// failed to set aes key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_AesGcmEncrypt
|
||||
\sa wc_AesGcmDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_AesGcmSetKey(Aes* aes, const byte* key, word32 len);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function encrypts the input message, held in the buffer in,
|
||||
and stores the resulting cipher text in the output buffer out. It
|
||||
requires a new iv (initialization vector) for each call to encrypt.
|
||||
It also encodes the input authentication vector, authIn, into the
|
||||
authentication tag, authTag.
|
||||
|
||||
\return 0 On successfully encrypting the input message
|
||||
|
||||
\param aes - pointer to the AES object used to encrypt data
|
||||
\param out pointer to the output buffer in which to store the cipher text
|
||||
\param in pointer to the input buffer holding the message to encrypt
|
||||
\param sz length of the input message to encrypt
|
||||
\param iv pointer to the buffer containing the initialization vector
|
||||
\param ivSz length of the initialization vector
|
||||
\param authTag pointer to the buffer in which to store the
|
||||
authentication tag
|
||||
\param authTagSz length of the desired authentication tag
|
||||
\param authIn pointer to the buffer containing the input
|
||||
authentication vector
|
||||
\param authInSz length of the input authentication vector
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
// initialize aes structure by calling wc_AesGcmSetKey
|
||||
|
||||
byte plain[AES_BLOCK_LENGTH * n]; //n being a positive integer
|
||||
making plain some multiple of 16 bytes
|
||||
// initialize plain with msg to encrypt
|
||||
byte cipher[sizeof(plain)];
|
||||
byte iv[] = // some 16 byte iv
|
||||
byte authTag[AUTH_TAG_LENGTH];
|
||||
byte authIn[] = // Authentication Vector
|
||||
|
||||
wc_AesGcmEncrypt(&enc, cipher, plain, sizeof(cipher), iv, sizeof(iv),
|
||||
authTag, sizeof(authTag), authIn, sizeof(authIn));
|
||||
\endcode
|
||||
|
||||
\sa wc_AesGcmSetKey
|
||||
\sa wc_AesGcmDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_AesGcmEncrypt(Aes* aes, byte* out,
|
||||
const byte* in, word32 sz,
|
||||
const byte* iv, word32 ivSz,
|
||||
byte* authTag, word32 authTagSz,
|
||||
const byte* authIn, word32 authInSz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function decrypts the input cipher text, held in the buffer
|
||||
in, and stores the resulting message text in the output buffer out.
|
||||
It also checks the input authentication vector, authIn, against the
|
||||
supplied authentication tag, authTag.
|
||||
|
||||
\return 0 On successfully decrypting the input message
|
||||
\return AES_GCM_AUTH_E If the authentication tag does not match the
|
||||
supplied authentication code vector, authTag.
|
||||
|
||||
\param aes pointer to the AES object used to encrypt data
|
||||
\param out pointer to the output buffer in which to store the message text
|
||||
\param in pointer to the input buffer holding the cipher text to decrypt
|
||||
\param sz length of the cipher text to decrypt
|
||||
\param iv pointer to the buffer containing the initialization vector
|
||||
\param ivSz length of the initialization vector
|
||||
\param authTag pointer to the buffer containing the authentication tag
|
||||
\param authTagSz length of the desired authentication tag
|
||||
\param authIn pointer to the buffer containing the input
|
||||
authentication vector
|
||||
\param authInSz length of the input authentication vector
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc; //can use the same struct as was passed to wc_AesGcmEncrypt
|
||||
// initialize aes structure by calling wc_AesGcmSetKey if not already done
|
||||
|
||||
byte cipher[AES_BLOCK_LENGTH * n]; //n being a positive integer
|
||||
making cipher some multiple of 16 bytes
|
||||
// initialize cipher with cipher text to decrypt
|
||||
byte output[sizeof(cipher)];
|
||||
byte iv[] = // some 16 byte iv
|
||||
byte authTag[AUTH_TAG_LENGTH];
|
||||
byte authIn[] = // Authentication Vector
|
||||
|
||||
wc_AesGcmDecrypt(&enc, output, cipher, sizeof(cipher), iv, sizeof(iv),
|
||||
authTag, sizeof(authTag), authIn, sizeof(authIn));
|
||||
\endcode
|
||||
|
||||
\sa wc_AesGcmSetKey
|
||||
\sa wc_AesGcmEncrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_AesGcmDecrypt(Aes* aes, byte* out,
|
||||
const byte* in, word32 sz,
|
||||
const byte* iv, word32 ivSz,
|
||||
const byte* authTag, word32 authTagSz,
|
||||
const byte* authIn, word32 authInSz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function initializes and sets the key for a GMAC object
|
||||
to be used for Galois Message Authentication.
|
||||
|
||||
\return 0 On successfully setting the key
|
||||
\return BAD_FUNC_ARG Returned if key length is invalid.
|
||||
|
||||
\param gmac pointer to the gmac object used for authentication
|
||||
\param key 16, 24, or 32 byte secret key for authentication
|
||||
\param len length of the key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Gmac gmac;
|
||||
key[] = { some 16, 24, or 32 byte length key };
|
||||
wc_GmacSetKey(&gmac, key, sizeof(key));
|
||||
\endcode
|
||||
|
||||
\sa wc_GmacUpdate
|
||||
*/
|
||||
WOLFSSL_API int wc_GmacSetKey(Gmac* gmac, const byte* key, word32 len);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function generates the Gmac hash of the authIn input and
|
||||
stores the result in the authTag buffer. After running wc_GmacUpdate,
|
||||
one should compare the generated authTag to a known authentication tag
|
||||
to verify the authenticity of a message.
|
||||
|
||||
\return 0 On successfully computing the Gmac hash.
|
||||
|
||||
\param gmac pointer to the gmac object used for authentication
|
||||
\param iv initialization vector used for the hash
|
||||
\param ivSz size of the initialization vector used
|
||||
\param authIn pointer to the buffer containing the authentication
|
||||
vector to verify
|
||||
\param authInSz size of the authentication vector
|
||||
\param authTag pointer to the output buffer in which to store the Gmac hash
|
||||
\param authTagSz the size of the output buffer used to store the Gmac hash
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Gmac gmac;
|
||||
key[] = { some 16, 24, or 32 byte length key };
|
||||
iv[] = { some 16 byte length iv };
|
||||
|
||||
wc_GmacSetKey(&gmac, key, sizeof(key));
|
||||
authIn[] = { some 16 byte authentication input };
|
||||
tag[AES_BLOCK_SIZE]; // will store authentication code
|
||||
|
||||
wc_GmacUpdate(&gmac, iv, sizeof(iv), authIn, sizeof(authIn), tag,
|
||||
sizeof(tag));
|
||||
\endcode
|
||||
|
||||
\sa wc_GmacSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_GmacUpdate(Gmac* gmac, const byte* iv, word32 ivSz,
|
||||
const byte* authIn, word32 authInSz,
|
||||
byte* authTag, word32 authTagSz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
\brief This function sets the key for an AES object using CCM
|
||||
(Counter with CBC-MAC). It takes a pointer to an AES structure and
|
||||
initializes it with supplied key.
|
||||
|
||||
\return none
|
||||
|
||||
\param aes aes structure in which to store the supplied key
|
||||
\param key 16, 24, or 32 byte secret key for encryption and decryption
|
||||
\param keySz size of the supplied key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
key[] = { some 16, 24, or 32 byte length key };
|
||||
|
||||
wc_AesCcmSetKey(&aes, key, sizeof(key));
|
||||
\endcode
|
||||
|
||||
\sa wc_AesCcmEncrypt
|
||||
\sa wc_AesCcmDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_AesCcmSetKey(Aes* aes, const byte* key, word32 keySz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
|
||||
\brief This function encrypts the input message, in, into the output
|
||||
buffer, out, using CCM (Counter with CBC-MAC). It subsequently
|
||||
calculates and stores the authorization tag, authTag, from the
|
||||
authIn input.
|
||||
|
||||
\return none
|
||||
|
||||
\param aes pointer to the AES object used to encrypt data
|
||||
\param out pointer to the output buffer in which to store the cipher text
|
||||
\param in pointer to the input buffer holding the message to encrypt
|
||||
\param sz length of the input message to encrypt
|
||||
\param nonce pointer to the buffer containing the nonce
|
||||
(number only used once)
|
||||
\param nonceSz length of the nonce
|
||||
\param authTag pointer to the buffer in which to store the
|
||||
authentication tag
|
||||
\param authTagSz length of the desired authentication tag
|
||||
\param authIn pointer to the buffer containing the input
|
||||
authentication vector
|
||||
\param authInSz length of the input authentication vector
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes enc;
|
||||
// initialize enc with wc_AesCcmSetKey
|
||||
|
||||
nonce[] = { initialize nonce };
|
||||
plain[] = { some plain text message };
|
||||
cipher[sizeof(plain)];
|
||||
|
||||
authIn[] = { some 16 byte authentication input };
|
||||
tag[AES_BLOCK_SIZE]; // will store authentication code
|
||||
|
||||
wc_AesCcmEncrypt(&enc, cipher, plain, sizeof(plain), nonce, sizeof(nonce),
|
||||
tag, sizeof(tag), authIn, sizeof(authIn));
|
||||
\endcode
|
||||
|
||||
\sa wc_AesCcmSetKey
|
||||
\sa wc_AesCcmDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_AesCcmEncrypt(Aes* aes, byte* out,
|
||||
const byte* in, word32 inSz,
|
||||
const byte* nonce, word32 nonceSz,
|
||||
byte* authTag, word32 authTagSz,
|
||||
const byte* authIn, word32 authInSz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
|
||||
\brief This function decrypts the input cipher text, in, into
|
||||
the output buffer, out, using CCM (Counter with CBC-MAC). It
|
||||
subsequently calculates the authorization tag, authTag, from the
|
||||
authIn input. If the authorization tag is invalid, it sets the
|
||||
output buffer to zero and returns the error: AES_CCM_AUTH_E.
|
||||
|
||||
\return 0 On successfully decrypting the input message
|
||||
\return AES_CCM_AUTH_E If the authentication tag does not match the
|
||||
supplied authentication code vector, authTag.
|
||||
|
||||
\param aes pointer to the AES object used to encrypt data
|
||||
\param out pointer to the output buffer in which to store the cipher text
|
||||
\param in pointer to the input buffer holding the message to encrypt
|
||||
\param sz length of the input cipher text to decrypt
|
||||
\param nonce pointer to the buffer containing the nonce
|
||||
(number only used once)
|
||||
\param nonceSz length of the nonce
|
||||
\param authTag pointer to the buffer in which to store the
|
||||
authentication tag
|
||||
\param authTagSz length of the desired authentication tag
|
||||
\param authIn pointer to the buffer containing the input
|
||||
authentication vector
|
||||
\param authInSz length of the input authentication vector
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Aes dec;
|
||||
// initialize dec with wc_AesCcmSetKey
|
||||
|
||||
nonce[] = { initialize nonce };
|
||||
cipher[] = { encrypted message };
|
||||
plain[sizeof(cipher)];
|
||||
|
||||
authIn[] = { some 16 byte authentication input };
|
||||
tag[AES_BLOCK_SIZE] = { authentication tag received for verification };
|
||||
|
||||
int return = wc_AesCcmDecrypt(&dec, plain, cipher, sizeof(cipher),
|
||||
nonce, sizeof(nonce),tag, sizeof(tag), authIn, sizeof(authIn));
|
||||
if(return != 0) {
|
||||
// decrypt error, invalid authentication code
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_AesCcmSetKey
|
||||
\sa wc_AesCcmEncrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_AesCcmDecrypt(Aes* aes, byte* out,
|
||||
const byte* in, word32 inSz,
|
||||
const byte* nonce, word32 nonceSz,
|
||||
const byte* authTag, word32 authTagSz,
|
||||
const byte* authIn, word32 authInSz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
|
||||
\brief This is to help with setting keys to correct encrypt or
|
||||
decrypt type. It is up to user to call wc_AesXtsFree on aes key when done.
|
||||
|
||||
\return 0 Success
|
||||
|
||||
\param aes AES keys for encrypt/decrypt process
|
||||
\param key buffer holding aes key | tweak key
|
||||
\param len length of key buffer in bytes. Should be twice that of
|
||||
key size.
|
||||
i.e. 32 for a 16 byte key.
|
||||
\param dir direction, either AES_ENCRYPTION or AES_DECRYPTION
|
||||
\param heap heap hint to use for memory. Can be NULL
|
||||
\param devId id to use with async crypto. Can be 0
|
||||
|
||||
_Example_
|
||||
\code
|
||||
XtsAes aes;
|
||||
|
||||
if(wc_AesXtsSetKey(&aes, key, sizeof(key), AES_ENCRYPTION, NULL, 0) != 0)
|
||||
{
|
||||
// Handle error
|
||||
}
|
||||
wc_AesXtsFree(&aes);
|
||||
\endcode
|
||||
|
||||
\sa wc_AesXtsEncrypt
|
||||
\sa wc_AesXtsDecrypt
|
||||
\sa wc_AesXtsFree
|
||||
*/
|
||||
WOLFSSL_API int wc_AesXtsSetKey(XtsAes* aes, const byte* key,
|
||||
word32 len, int dir, void* heap, int devId);
|
||||
/*!
|
||||
\ingroup AES
|
||||
|
||||
\brief Same process as wc_AesXtsEncrypt but uses a word64 type as the tweak
|
||||
value instead of a byte array. This just converts the word64 to a
|
||||
byte array and calls wc_AesXtsEncrypt.
|
||||
|
||||
\return 0 Success
|
||||
|
||||
\param aes AES keys to use for block encrypt/decrypt
|
||||
\param out output buffer to hold cipher text
|
||||
\param in input plain text buffer to encrypt
|
||||
\param sz size of both out and in buffers
|
||||
\param sector value to use for tweak
|
||||
|
||||
_Example_
|
||||
\code
|
||||
XtsAes aes;
|
||||
unsigned char plain[SIZE];
|
||||
unsigned char cipher[SIZE];
|
||||
word64 s = VALUE;
|
||||
|
||||
//set up keys with AES_ENCRYPTION as dir
|
||||
|
||||
if(wc_AesXtsEncryptSector(&aes, cipher, plain, SIZE, s) != 0)
|
||||
{
|
||||
// Handle error
|
||||
}
|
||||
wc_AesXtsFree(&aes);
|
||||
\endcode
|
||||
|
||||
\sa wc_AesXtsEncrypt
|
||||
\sa wc_AesXtsDecrypt
|
||||
\sa wc_AesXtsSetKey
|
||||
\sa wc_AesXtsFree
|
||||
*/
|
||||
WOLFSSL_API int wc_AesXtsEncryptSector(XtsAes* aes, byte* out,
|
||||
const byte* in, word32 sz, word64 sector);
|
||||
/*!
|
||||
\ingroup AES
|
||||
|
||||
\brief Same process as wc_AesXtsDecrypt but uses a word64 type as the tweak
|
||||
value instead of a byte array. This just converts the word64 to a
|
||||
byte array.
|
||||
|
||||
\return 0 Success
|
||||
|
||||
\param aes AES keys to use for block encrypt/decrypt
|
||||
\param out output buffer to hold plain text
|
||||
\param in input cipher text buffer to decrypt
|
||||
\param sz size of both out and in buffers
|
||||
\param sector value to use for tweak
|
||||
|
||||
_Example_
|
||||
\code
|
||||
XtsAes aes;
|
||||
unsigned char plain[SIZE];
|
||||
unsigned char cipher[SIZE];
|
||||
word64 s = VALUE;
|
||||
|
||||
//set up aes key with AES_DECRYPTION as dir and tweak with AES_ENCRYPTION
|
||||
|
||||
if(wc_AesXtsDecryptSector(&aes, plain, cipher, SIZE, s) != 0)
|
||||
{
|
||||
// Handle error
|
||||
}
|
||||
wc_AesXtsFree(&aes);
|
||||
\endcode
|
||||
|
||||
\sa wc_AesXtsEncrypt
|
||||
\sa wc_AesXtsDecrypt
|
||||
\sa wc_AesXtsSetKey
|
||||
\sa wc_AesXtsFree
|
||||
*/
|
||||
WOLFSSL_API int wc_AesXtsDecryptSector(XtsAes* aes, byte* out,
|
||||
const byte* in, word32 sz, word64 sector);
|
||||
/*!
|
||||
\ingroup AES
|
||||
|
||||
\brief AES with XTS mode. (XTS) XEX encryption with Tweak and cipher text
|
||||
Stealing.
|
||||
|
||||
\return 0 Success
|
||||
|
||||
\param aes AES keys to use for block encrypt/decrypt
|
||||
\param out output buffer to hold cipher text
|
||||
\param in input plain text buffer to encrypt
|
||||
\param sz size of both out and in buffers
|
||||
\param i value to use for tweak
|
||||
\param iSz size of i buffer, should always be AES_BLOCK_SIZE but having
|
||||
this input adds a sanity check on how the user calls the
|
||||
function.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
XtsAes aes;
|
||||
unsigned char plain[SIZE];
|
||||
unsigned char cipher[SIZE];
|
||||
unsigned char i[AES_BLOCK_SIZE];
|
||||
|
||||
//set up key with AES_ENCRYPTION as dir
|
||||
|
||||
if(wc_AesXtsEncrypt(&aes, cipher, plain, SIZE, i, sizeof(i)) != 0)
|
||||
{
|
||||
// Handle error
|
||||
}
|
||||
wc_AesXtsFree(&aes);
|
||||
\endcode
|
||||
|
||||
\sa wc_AesXtsDecrypt
|
||||
\sa wc_AesXtsSetKey
|
||||
\sa wc_AesXtsFree
|
||||
*/
|
||||
WOLFSSL_API int wc_AesXtsEncrypt(XtsAes* aes, byte* out,
|
||||
const byte* in, word32 sz, const byte* i, word32 iSz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
|
||||
\brief Same process as encryption but Aes key is AES_DECRYPTION type.
|
||||
|
||||
\return 0 Success
|
||||
|
||||
\param aes AES keys to use for block encrypt/decrypt
|
||||
\param out output buffer to hold plain text
|
||||
\param in input cipher text buffer to decrypt
|
||||
\param sz size of both out and in buffers
|
||||
\param i value to use for tweak
|
||||
\param iSz size of i buffer, should always be AES_BLOCK_SIZE but having
|
||||
this input adds a sanity check on how the user calls the
|
||||
function.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
XtsAes aes;
|
||||
unsigned char plain[SIZE];
|
||||
unsigned char cipher[SIZE];
|
||||
unsigned char i[AES_BLOCK_SIZE];
|
||||
|
||||
//set up key with AES_DECRYPTION as dir and tweak with AES_ENCRYPTION
|
||||
|
||||
if(wc_AesXtsDecrypt(&aes, plain, cipher, SIZE, i, sizeof(i)) != 0)
|
||||
{
|
||||
// Handle error
|
||||
}
|
||||
wc_AesXtsFree(&aes);
|
||||
\endcode
|
||||
|
||||
\sa wc_AesXtsEncrypt
|
||||
\sa wc_AesXtsSetKey
|
||||
\sa wc_AesXtsFree
|
||||
*/
|
||||
WOLFSSL_API int wc_AesXtsDecrypt(XtsAes* aes, byte* out,
|
||||
const byte* in, word32 sz, const byte* i, word32 iSz);
|
||||
/*!
|
||||
\ingroup AES
|
||||
|
||||
\brief This is to free up any resources used by the XtsAes structure
|
||||
|
||||
\return 0 Success
|
||||
|
||||
\param aes AES keys to free
|
||||
|
||||
_Example_
|
||||
\code
|
||||
XtsAes aes;
|
||||
|
||||
if(wc_AesXtsSetKey(&aes, key, sizeof(key), AES_ENCRYPTION, NULL, 0) != 0)
|
||||
{
|
||||
// Handle error
|
||||
}
|
||||
wc_AesXtsFree(&aes);
|
||||
\endcode
|
||||
|
||||
\sa wc_AesXtsEncrypt
|
||||
\sa wc_AesXtsDecrypt
|
||||
\sa wc_AesXtsSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_AesXtsFree(XtsAes* aes);
|
||||
58
doc/dox_comments/header_files/arc4.h
Normal file
58
doc/dox_comments/header_files/arc4.h
Normal file
@@ -0,0 +1,58 @@
|
||||
/*!
|
||||
\ingroup ARC4
|
||||
\brief This function encrypts an input message from the buffer in, placing
|
||||
the ciphertext in the output buffer out, or decrypts a ciphertext from the
|
||||
buffer in, placing the plaintext in the output buffer out, using ARC4
|
||||
encryption. This function is used for both encryption and decryption.
|
||||
Before this method may be called, one must first initialize the ARC4
|
||||
structure using wc_Arc4SetKey.
|
||||
|
||||
\return none
|
||||
|
||||
\param arc4 pointer to the ARC4 structure used to process the message
|
||||
\param out pointer to the output buffer in which to store the
|
||||
processed message
|
||||
\param in pointer to the input buffer containing the message to process
|
||||
\param length length of the message to process
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Arc4 enc;
|
||||
byte key[] = { key to use for encryption };
|
||||
wc_Arc4SetKey(&enc, key, sizeof(key));
|
||||
|
||||
byte plain[] = { plain text to encode };
|
||||
byte cipher[sizeof(plain)];
|
||||
byte decrypted[sizeof(plain)];
|
||||
// encrypt the plain into cipher
|
||||
wc_Arc4Process(&enc, cipher, plain, sizeof(plain));
|
||||
// decrypt the cipher
|
||||
wc_Arc4Process(&enc, decrypted, cipher, sizeof(cipher));
|
||||
\endcode
|
||||
|
||||
\sa wc_Arc4SetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_Arc4Process(Arc4*, byte*, const byte*, word32);
|
||||
/*!
|
||||
\ingroup ARC4
|
||||
|
||||
\brief This function sets the key for a ARC4 object, initializing it for
|
||||
use as a cipher. It should be called before using it for encryption
|
||||
with wc_Arc4Process.
|
||||
|
||||
\return none
|
||||
|
||||
\param arc4 pointer to an arc4 structure to be used for encryption
|
||||
\param key key with which to initialize the arc4 structure
|
||||
\param length length of the key used to initialize the arc4 structure
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Arc4 enc;
|
||||
byte key[] = { initialize with key to use for encryption };
|
||||
wc_Arc4SetKey(&enc, key, sizeof(key));
|
||||
\endcode
|
||||
|
||||
\sa wc_Arc4Process
|
||||
*/
|
||||
WOLFSSL_API int wc_Arc4SetKey(Arc4*, const byte*, word32);
|
||||
34
doc/dox_comments/header_files/asn.h
Normal file
34
doc/dox_comments/header_files/asn.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*!
|
||||
\ingroup ASN
|
||||
|
||||
\brief This function converts a pem certificate to a der certificate,
|
||||
and places the resulting certificate in the derBuf buffer provided.
|
||||
|
||||
\return Success On success returns the size of the derBuf generated
|
||||
\return BUFFER_E Returned if the size of derBuf is too small to hold
|
||||
the certificate generated
|
||||
\return MEMORY_E Returned if the call to XMALLOC fails
|
||||
|
||||
\param fileName path to the file containing a pem certificate to
|
||||
convert to a der certificate
|
||||
\param derBuf pointer to a char buffer in which to store the
|
||||
converted certificate
|
||||
\param derSz size of the char buffer in which to store the
|
||||
converted certificate
|
||||
|
||||
_Example_
|
||||
\code
|
||||
char * file = “./certs/client-cert.pem”;
|
||||
int derSz;
|
||||
byte * der = (byte*)XMALLOC(EIGHTK_BUF, NULL, DYNAMIC_TYPE_CERT);
|
||||
|
||||
derSz = wolfsSSL_PemCertToDer(file, der, EIGHTK_BUF);
|
||||
if(derSz <= 0) {
|
||||
//PemCertToDer error
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa none
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PemCertToDer(const char* fileName,unsigned char* derBuf,int derSz);
|
||||
1304
doc/dox_comments/header_files/asn_public.h
Normal file
1304
doc/dox_comments/header_files/asn_public.h
Normal file
File diff suppressed because it is too large
Load Diff
93
doc/dox_comments/header_files/blake2.h
Normal file
93
doc/dox_comments/header_files/blake2.h
Normal file
@@ -0,0 +1,93 @@
|
||||
/*!
|
||||
\ingroup BLAKE2
|
||||
|
||||
\brief This function initializes a Blake2b structure for use with the
|
||||
Blake2 hash function.
|
||||
|
||||
\return 0 Returned upon successfully initializing the Blake2b structure and
|
||||
setting the digest size.
|
||||
|
||||
\param b2b pointer to the Blake2b structure to initialize
|
||||
\param digestSz length of the blake 2 digest to implement
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Blake2b b2b;
|
||||
// initialize Blake2b structure with 64 byte digest
|
||||
wc_InitBlake2b(&b2b, 64);
|
||||
\endcode
|
||||
|
||||
\sa wc_Blake2bUpdate
|
||||
*/
|
||||
WOLFSSL_API int wc_InitBlake2b(Blake2b*, word32);
|
||||
/*!
|
||||
\ingroup BLAKE2
|
||||
|
||||
\brief This function updates the Blake2b hash with the given input data.
|
||||
This function should be called after wc_InitBlake2b, and repeated until
|
||||
one is ready for the final hash: wc_Blake2bFinal.
|
||||
|
||||
\return 0 Returned upon successfully update the Blake2b structure with
|
||||
the given data
|
||||
\return -1 Returned if there is a failure while compressing the input data
|
||||
|
||||
\param b2b pointer to the Blake2b structure to update
|
||||
\param data pointer to a buffer containing the data to append
|
||||
\param sz length of the input data to append
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
Blake2b b2b;
|
||||
// initialize Blake2b structure with 64 byte digest
|
||||
wc_InitBlake2b(&b2b, 64);
|
||||
|
||||
byte plain[] = { // initialize input };
|
||||
|
||||
ret = wc_Blake2bUpdate(&b2b, plain, sizeof(plain));
|
||||
if( ret != 0) {
|
||||
// error updating blake2b
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_InitBlake2b
|
||||
\sa wc_Blake2bFinal
|
||||
*/
|
||||
WOLFSSL_API int wc_Blake2bUpdate(Blake2b*, const byte*, word32);
|
||||
/*!
|
||||
\ingroup BLAKE2
|
||||
|
||||
\brief This function computes the Blake2b hash of the previously supplied
|
||||
input data. The output hash will be of length requestSz, or, if
|
||||
requestSz==0, the digestSz of the b2b structure. This function should be
|
||||
called after wc_InitBlake2b and wc_Blake2bUpdate has been processed for
|
||||
each piece of input data desired.
|
||||
|
||||
\return 0 Returned upon successfully computing the Blake2b hash
|
||||
\return -1 Returned if there is a failure while parsing the Blake2b hash
|
||||
|
||||
\param b2b pointer to the Blake2b structure to update
|
||||
\param final pointer to a buffer in which to store the blake2b hash.
|
||||
Should be of length requestSz
|
||||
\param requestSz length of the digest to compute. When this is zero,
|
||||
b2b->digestSz will be used instead
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
Blake2b b2b;
|
||||
byte hash[64];
|
||||
// initialize Blake2b structure with 64 byte digest
|
||||
wc_InitBlake2b(&b2b, 64);
|
||||
... // call wc_Blake2bUpdate to add data to hash
|
||||
|
||||
ret = 2c_Blake2bFinal(&b2b, hash, 64);
|
||||
if( ret != 0) {
|
||||
// error generating blake2b hash
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_InitBlake2b
|
||||
\sa wc_Blake2bUpdate
|
||||
*/
|
||||
WOLFSSL_API int wc_Blake2bFinal(Blake2b*, byte*, word32);
|
||||
28
doc/dox_comments/header_files/bn.h
Normal file
28
doc/dox_comments/header_files/bn.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief This function performs the following math “r = (a^p) % m”.
|
||||
|
||||
\return SSL_SUCCESS On successfully performing math operation.
|
||||
\return SSL_FAILURE If an error case was encountered.
|
||||
|
||||
\param r structure to hold result.
|
||||
\param a value to be raised by a power.
|
||||
\param p power to raise a by.
|
||||
\param m modulus to use.
|
||||
\param ctx currently not used with wolfSSL can be NULL.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_BIGNUM r,a,p,m;
|
||||
int ret;
|
||||
// set big number values
|
||||
ret = wolfSSL_BN_mod_exp(r, a, p, m, NULL);
|
||||
// check ret value
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_BN_new
|
||||
\sa wolfSSL_BN_free
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_BN_mod_exp(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a,
|
||||
const WOLFSSL_BIGNUM *p, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx);
|
||||
179
doc/dox_comments/header_files/camellia.h
Normal file
179
doc/dox_comments/header_files/camellia.h
Normal file
@@ -0,0 +1,179 @@
|
||||
/*!
|
||||
\ingroup Camellia
|
||||
|
||||
\brief This function sets the key and initialization vector for a
|
||||
camellia object, initializing it for use as a cipher.
|
||||
|
||||
\return 0 Returned upon successfully setting the key and initialization
|
||||
vector
|
||||
\return BAD_FUNC_ARG returned if there is an error processing one of
|
||||
the input arguments
|
||||
\return MEMORY_E returned if there is an error allocating memory with
|
||||
XMALLOC
|
||||
|
||||
\param cam pointer to the camellia structure on which to set the key and iv
|
||||
\param key pointer to the buffer containing the 16, 24, or 32 byte key
|
||||
to use for encryption and decryption
|
||||
\param len length of the key passed in
|
||||
\param iv pointer to the buffer containing the 16 byte initialization
|
||||
vector for use with this camellia structure
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Camellia cam;
|
||||
byte key[32];
|
||||
// initialize key
|
||||
byte iv[16];
|
||||
// initialize iv
|
||||
if( wc_CamelliaSetKey(&cam, key, sizeof(key), iv) != 0) {
|
||||
// error initializing camellia structure
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_CamelliaEncryptDirect
|
||||
\sa wc_CamelliaDecryptDirect
|
||||
\sa wc_CamelliaCbcEncrypt
|
||||
\sa wc_CamelliaCbcDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_CamelliaSetKey(Camellia* cam,
|
||||
const byte* key, word32 len, const byte* iv);
|
||||
/*!
|
||||
\ingroup Camellia
|
||||
|
||||
\brief This function sets the initialization vector for a camellia object.
|
||||
|
||||
\return 0 Returned upon successfully setting the key and initialization
|
||||
vector
|
||||
\return BAD_FUNC_ARG returned if there is an error processing one of the
|
||||
input arguments
|
||||
|
||||
\param cam pointer to the camellia structure on which to set the iv
|
||||
\param iv pointer to the buffer containing the 16 byte initialization
|
||||
vector for use with this camellia structure
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Camellia cam;
|
||||
byte iv[16];
|
||||
// initialize iv
|
||||
if( wc_CamelliaSetIV(&cam, iv) != 0) {
|
||||
// error initializing camellia structure
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_CamelliaSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_CamelliaSetIV(Camellia* cam, const byte* iv);
|
||||
/*!
|
||||
\ingroup Camellia
|
||||
|
||||
\brief This function does a one-block encrypt using the provided camellia
|
||||
object. It parses the first 16 byte block from the buffer in and stores
|
||||
the encrypted result in the buffer out. Before using this function, one
|
||||
should initialize the camellia object using wc_CamelliaSetKey.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param cam pointer to the camellia structure to use for encryption
|
||||
\param out pointer to the buffer in which to store the encrypted block
|
||||
\param in pointer to the buffer containing the plaintext block to encrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Camellia cam;
|
||||
// initialize cam structure with key and iv
|
||||
byte plain[] = { // initialize with message to encrypt };
|
||||
byte cipher[16];
|
||||
|
||||
wc_CamelliaEncrypt(&ca, cipher, plain);
|
||||
\endcode
|
||||
|
||||
\sa wc_CamelliaDecryptDirect
|
||||
*/
|
||||
WOLFSSL_API int wc_CamelliaEncryptDirect(Camellia* cam, byte* out,
|
||||
const byte* in);
|
||||
/*!
|
||||
\ingroup Camellia
|
||||
|
||||
\brief This function does a one-block decrypt using the provided camellia
|
||||
object. It parses the first 16 byte block from the buffer in, decrypts it,
|
||||
and stores the result in the buffer out. Before using this function, one
|
||||
should initialize the camellia object using wc_CamelliaSetKey.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param cam pointer to the camellia structure to use for encryption
|
||||
\param out pointer to the buffer in which to store the decrypted
|
||||
plaintext block
|
||||
\param in pointer to the buffer containing the ciphertext block to decrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Camellia cam;
|
||||
// initialize cam structure with key and iv
|
||||
byte cipher[] = { // initialize with encrypted message to decrypt };
|
||||
byte decrypted[16];
|
||||
|
||||
wc_CamelliaDecryptDirect(&cam, decrypted, cipher);
|
||||
\endcode
|
||||
|
||||
\sa wc_CamelliaEncryptDirect
|
||||
*/
|
||||
WOLFSSL_API int wc_CamelliaDecryptDirect(Camellia* cam, byte* out,
|
||||
const byte* in);
|
||||
/*!
|
||||
\ingroup Camellia
|
||||
|
||||
\brief This function encrypts the plaintext from the buffer in and
|
||||
stores the output in the buffer out. It performs this encryption
|
||||
using Camellia with Cipher Block Chaining (CBC).
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param cam pointer to the camellia structure to use for encryption
|
||||
\param out pointer to the buffer in which to store the encrypted ciphertext
|
||||
\param in pointer to the buffer containing the plaintext to encrypt
|
||||
\param sz the size of the message to encrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Camellia cam;
|
||||
// initialize cam structure with key and iv
|
||||
byte plain[] = { // initialize with encrypted message to decrypt };
|
||||
byte cipher[sizeof(plain)];
|
||||
|
||||
wc_CamelliaCbcEncrypt(&cam, cipher, plain, sizeof(plain));
|
||||
\endcode
|
||||
|
||||
\sa wc_CamelliaCbcDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_CamelliaCbcEncrypt(Camellia* cam,
|
||||
byte* out, const byte* in, word32 sz);
|
||||
/*!
|
||||
\ingroup Camellia
|
||||
|
||||
\brief This function decrypts the ciphertext from the buffer in and
|
||||
stores the output in the buffer out. It performs this decryption using
|
||||
Camellia with Cipher Block Chaining (CBC).
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param cam pointer to the camellia structure to use for encryption
|
||||
\param out pointer to the buffer in which to store the decrypted message
|
||||
\param in pointer to the buffer containing the encrypted ciphertext
|
||||
\param sz the size of the message to encrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Camellia cam;
|
||||
// initialize cam structure with key and iv
|
||||
byte cipher[] = { // initialize with encrypted message to decrypt };
|
||||
byte decrypted[sizeof(cipher)];
|
||||
|
||||
wc_CamelliaCbcDecrypt(&cam, decrypted, cipher, sizeof(cipher));
|
||||
\endcode
|
||||
|
||||
\sa wc_CamelliaCbcEncrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_CamelliaCbcDecrypt(Camellia* cam,
|
||||
byte* out, const byte* in, word32 sz);
|
||||
97
doc/dox_comments/header_files/chacha.h
Normal file
97
doc/dox_comments/header_files/chacha.h
Normal file
@@ -0,0 +1,97 @@
|
||||
/*!
|
||||
\ingroup ChaCha
|
||||
|
||||
\brief This function sets the initialization vector (nonce) for a ChaCha
|
||||
object, initializing it for use as a cipher. It should be called after the
|
||||
key has been set, using wc_Chacha_SetKey. A difference nonce should be
|
||||
used for each round of encryption.
|
||||
|
||||
\return 0 Returned upon successfully setting the initialization vector
|
||||
\return BAD_FUNC_ARG returned if there is an error processing the ctx
|
||||
input argument
|
||||
|
||||
\param ctx pointer to the ChaCha structure on which to set the iv
|
||||
\param inIv pointer to a buffer containing the 12 byte initialization
|
||||
vector with which to initialize the ChaCha structure
|
||||
\param counter the value at which the block counter should start--usually
|
||||
zero.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ChaCha enc;
|
||||
// initialize enc with wc_Chacha_SetKey
|
||||
byte iv[12];
|
||||
// initialize iv
|
||||
if( wc_Chacha_SetIV(&enc, iv, 0) != 0) {
|
||||
// error initializing ChaCha structure
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Chacha_SetKey
|
||||
\sa wc_Chacha_Process
|
||||
*/
|
||||
WOLFSSL_API int wc_Chacha_SetIV(ChaCha* ctx, const byte* inIv, word32 counter);
|
||||
/*!
|
||||
\ingroup ChaCha
|
||||
|
||||
\brief This function processes the text from the buffer input, encrypts
|
||||
or decrypts it, and stores the result in the buffer output.
|
||||
|
||||
\return 0 Returned upon successfully encrypting or decrypting the input
|
||||
\return BAD_FUNC_ARG returned if there is an error processing the ctx
|
||||
input argument
|
||||
|
||||
\param ctx pointer to the ChaCha structure on which to set the iv
|
||||
\param output pointer to a buffer in which to store the output ciphertext
|
||||
or decrypted plaintext
|
||||
\param input pointer to the buffer containing the input plaintext to
|
||||
encrypt or the input ciphertext to decrypt
|
||||
\param msglen length of the message to encrypt or the ciphertext to decrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ChaCha enc;
|
||||
// initialize enc with wc_Chacha_SetKey and wc_Chacha_SetIV
|
||||
|
||||
byte plain[] = { // initialize plaintext };
|
||||
byte cipher[sizeof(plain)];
|
||||
if( wc_Chacha_Process(&enc, cipher, plain, sizeof(plain)) != 0) {
|
||||
// error processing ChaCha cipher
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Chacha_SetKey
|
||||
\sa wc_Chacha_Process
|
||||
*/
|
||||
WOLFSSL_API int wc_Chacha_Process(ChaCha* ctx, byte* cipher, const byte* plain,
|
||||
word32 msglen);
|
||||
/*!
|
||||
\ingroup ChaCha
|
||||
|
||||
\brief This function sets the key for a ChaCha object, initializing it for
|
||||
use as a cipher. It should be called before setting the nonce with
|
||||
wc_Chacha_SetIV, and before using it for encryption with wc_Chacha_Process.
|
||||
|
||||
\return 0 Returned upon successfully setting the key
|
||||
\return BAD_FUNC_ARG returned if there is an error processing the ctx
|
||||
input argument or if the key is not 16 or 32 bytes long
|
||||
|
||||
\param ctx pointer to the ChaCha structure in which to set the key
|
||||
\param key pointer to a buffer containing the 16 or 32 byte key with
|
||||
which to initialize the ChaCha structure
|
||||
\param keySz the length of the key passed in
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ChaCha enc;
|
||||
byte key[] = { // initialize key };
|
||||
|
||||
if( wc_Chacha_SetKey(&enc, key, sizeof(key)) != 0) {
|
||||
// error initializing ChaCha structure
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Chacha_SetIV
|
||||
\sa wc_Chacha_Process
|
||||
*/
|
||||
WOLFSSL_API int wc_Chacha_SetKey(ChaCha* ctx, const byte* key, word32 keySz);
|
||||
119
doc/dox_comments/header_files/chacha20_poly1305.h
Normal file
119
doc/dox_comments/header_files/chacha20_poly1305.h
Normal file
@@ -0,0 +1,119 @@
|
||||
/*!
|
||||
\ingroup ChaCha20Poly1305
|
||||
|
||||
\brief This function encrypts an input message, inPlaintext, using the
|
||||
ChaCha20 stream cipher, into the output buffer, outCiphertext. It
|
||||
also performs Poly-1305 authentication (on the cipher text), and
|
||||
stores the generated authentication tag in the output buffer, outAuthTag.
|
||||
|
||||
\return 0 Returned upon successfully encrypting the message
|
||||
\return BAD_FUNC_ARG returned if there is an error during the encryption
|
||||
process
|
||||
|
||||
\param inKey pointer to a buffer containing the 32 byte key to use
|
||||
for encryption
|
||||
\param inIv pointer to a buffer containing the 12 byte iv to use for
|
||||
encryption
|
||||
\param inAAD pointer to the buffer containing arbitrary length additional
|
||||
authenticated data (AAD)
|
||||
\param inAADLen length of the input AAD
|
||||
\param inPlaintext pointer to the buffer containing the plaintext to
|
||||
encrypt
|
||||
\param inPlaintextLen the length of the plain text to encrypt
|
||||
\param outCiphertext pointer to the buffer in which to store the ciphertext
|
||||
\param outAuthTag pointer to a 16 byte wide buffer in which to store the
|
||||
authentication tag
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte key[] = { // initialize 32 byte key };
|
||||
byte iv[] = { // initialize 12 byte key };
|
||||
byte inAAD[] = { // initialize AAD };
|
||||
|
||||
byte plain[] = { // initialize message to encrypt };
|
||||
byte cipher[sizeof(plain)];
|
||||
byte authTag[16];
|
||||
|
||||
int ret = wc_ChaCha20Poly1305_Encrypt(key, iv, inAAD, sizeof(inAAD),
|
||||
plain, sizeof(plain), cipher, authTag);
|
||||
|
||||
if(ret != 0) {
|
||||
// error running encrypt
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ChaCha20Poly1305_Decrypt
|
||||
\sa wc_ChaCha_*
|
||||
\sa wc_Poly1305*
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ChaCha20Poly1305_Encrypt(
|
||||
const byte inKey[CHACHA20_POLY1305_AEAD_KEYSIZE],
|
||||
const byte inIV[CHACHA20_POLY1305_AEAD_IV_SIZE],
|
||||
const byte* inAAD, const word32 inAADLen,
|
||||
const byte* inPlaintext, const word32 inPlaintextLen,
|
||||
byte* outCiphertext,
|
||||
byte outAuthTag[CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE]);
|
||||
/*!
|
||||
\ingroup ChaCha20Poly1305
|
||||
|
||||
\brief This function decrypts input ciphertext, inCiphertext, using the
|
||||
ChaCha20 stream cipher, into the output buffer, outPlaintext. It also
|
||||
performs Poly-1305 authentication, comparing the given inAuthTag to an
|
||||
authentication generated with the inAAD (arbitrary length additional
|
||||
authentication data). Note: If the generated authentication tag does
|
||||
not match the supplied authentication tag, the text is not decrypted.
|
||||
|
||||
\return 0 Returned upon successfully decrypting the message
|
||||
\return BAD_FUNC_ARG Returned if any of the function arguments do not
|
||||
match what is expected
|
||||
\return MAC_CMP_FAILED_E Returned if the generated authentication tag
|
||||
does not match the supplied inAuthTag.
|
||||
|
||||
\param inKey pointer to a buffer containing the 32 byte key to use for
|
||||
decryption
|
||||
\param inIv pointer to a buffer containing the 12 byte iv to use for
|
||||
decryption
|
||||
\param inAAD pointer to the buffer containing arbitrary length additional
|
||||
authenticated data (AAD)
|
||||
\param inAADLen length of the input AAD
|
||||
\param inCiphertext pointer to the buffer containing the ciphertext to
|
||||
decrypt
|
||||
\param outCiphertextLen the length of the ciphertext to decrypt
|
||||
\param inAuthTag pointer to the buffer containing the 16 byte digest
|
||||
for authentication
|
||||
\param outPlaintext pointer to the buffer in which to store the plaintext
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte key[] = { // initialize 32 byte key };
|
||||
byte iv[] = { // initialize 12 byte key };
|
||||
byte inAAD[] = { // initialize AAD };
|
||||
|
||||
byte cipher[] = { // initialize with received ciphertext };
|
||||
byte authTag[16] = { // initialize with received authentication tag };
|
||||
|
||||
byte plain[sizeof(cipher)];
|
||||
|
||||
int ret = wc_ChaCha20Poly1305_Decrypt(key, iv, inAAD, sizeof(inAAD),
|
||||
cipher, sizeof(cipher), plain, authTag);
|
||||
|
||||
if(ret == MAC_CMP_FAILED_E) {
|
||||
// error during authentication
|
||||
} else if( ret != 0) {
|
||||
// error with function arguments
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ChaCha20Poly1305_Encrypt
|
||||
\sa wc_ChaCha_*
|
||||
\sa wc_Poly1305*
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ChaCha20Poly1305_Decrypt(
|
||||
const byte inKey[CHACHA20_POLY1305_AEAD_KEYSIZE],
|
||||
const byte inIV[CHACHA20_POLY1305_AEAD_IV_SIZE],
|
||||
const byte* inAAD, const word32 inAADLen,
|
||||
const byte* inCiphertext, const word32 inCiphertextLen,
|
||||
const byte inAuthTag[CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE],
|
||||
byte* outPlaintext);
|
||||
228
doc/dox_comments/header_files/coding.h
Normal file
228
doc/dox_comments/header_files/coding.h
Normal file
@@ -0,0 +1,228 @@
|
||||
/*!
|
||||
\ingroup Base_Encoding
|
||||
|
||||
\brief This function decodes the given Base64 encoded input, in, and
|
||||
stores the result in the output buffer out. It also sets the size
|
||||
written to the output buffer in the variable outLen.
|
||||
|
||||
\return 0 Returned upon successfully decoding the Base64 encoded input
|
||||
\return BAD_FUNC_ARG Returned if the output buffer is too small to
|
||||
store the decoded input
|
||||
\return ASN_INPUT_E Returned if a character in the input buffer falls
|
||||
outside of the Base64 range ([A-Za-z0-9+/=]) or if there is an invalid
|
||||
line ending in the Base64 encoded input
|
||||
|
||||
\param in pointer to the input buffer to decode
|
||||
\param inLen length of the input buffer to decode
|
||||
\param out pointer to the output buffer in which to store the decoded
|
||||
message
|
||||
\param outLen pointer to the length of the output buffer. Updated with
|
||||
the bytes written at the end of the function call
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte encoded[] = { // initialize text to decode };
|
||||
byte decoded[sizeof(encoded)];
|
||||
// requires at least (sizeof(encoded) * 3 + 3) / 4 room
|
||||
|
||||
int outLen = sizeof(decoded);
|
||||
|
||||
if( Base64_Decode(encoded,sizeof(encoded), decoded, &outLen) != 0 ) {
|
||||
// error decoding input buffer
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa Base64_Encode
|
||||
\sa Base16_Decode
|
||||
*/
|
||||
WOLFSSL_API int Base64_Decode(const byte* in, word32 inLen, byte* out,
|
||||
word32* outLen);
|
||||
/*!
|
||||
\ingroup Base_Encoding
|
||||
|
||||
\brief This function encodes the given input, in, and stores the Base64
|
||||
encoded result in the output buffer out. It writes the data with the
|
||||
traditional ‘\n’ line endings, instead of escaped %0A line endings. Upon
|
||||
successfully completing, this function also sets outLen to the number
|
||||
of bytes written to the output buffer.
|
||||
|
||||
\return 0 Returned upon successfully decoding the Base64 encoded input
|
||||
\return BAD_FUNC_ARG Returned if the output buffer is too small to
|
||||
store the encoded input
|
||||
\return BUFFER_E Returned if the output buffer runs out of room
|
||||
while encoding
|
||||
|
||||
\param in pointer to the input buffer to encode
|
||||
\param inLen length of the input buffer to encode
|
||||
\param out pointer to the output buffer in which to store the
|
||||
encoded message
|
||||
\param outLen pointer to the length of the output buffer in
|
||||
which to store the encoded message
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte plain[] = { // initialize text to encode };
|
||||
byte encoded[MAX_BUFFER_SIZE];
|
||||
|
||||
int outLen = sizeof(encoded);
|
||||
|
||||
if( Base64_Encode(plain, sizeof(plain), encoded, &outLen) != 0 ) {
|
||||
// error encoding input buffer
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa Base64_EncodeEsc
|
||||
\sa Base64_Decode
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int Base64_Encode(const byte* in, word32 inLen, byte* out,
|
||||
word32* outLen);
|
||||
/*!
|
||||
\ingroup Base_Encoding
|
||||
|
||||
\brief This function encodes the given input, in, and stores the
|
||||
Base64 encoded result in the output buffer out. It writes the data
|
||||
with %0A escaped line endings instead of ‘\n’ line endings.
|
||||
Upon successfully completing, this function also sets outLen
|
||||
to the number of bytes written to the output buffer.
|
||||
|
||||
\return 0 Returned upon successfully decoding the Base64 encoded input
|
||||
\return BAD_FUNC_ARG Returned if the output buffer is too small
|
||||
to store the encoded input
|
||||
\return BUFFER_E Returned if the output buffer runs out of
|
||||
room while encoding
|
||||
\return ASN_INPUT_E Returned if there is an error processing
|
||||
the decode on the input message
|
||||
|
||||
\param in pointer to the input buffer to encode
|
||||
\param inLen length of the input buffer to encode
|
||||
\param out pointer to the output buffer in which to store
|
||||
the encoded message
|
||||
\param outLen pointer to the length of the output buffer in
|
||||
which to store the encoded message
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte plain[] = { // initialize text to encode };
|
||||
byte encoded[MAX_BUFFER_SIZE];
|
||||
|
||||
int outLen = sizeof(encoded);
|
||||
|
||||
if( Base64_EncodeEsc(plain, sizeof(plain), encoded, &outLen) != 0 ) {
|
||||
// error encoding input buffer
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa Base64_Encode
|
||||
\sa Base64_Decode
|
||||
*/
|
||||
int Base64_EncodeEsc(const byte* in, word32 inLen, byte* out,
|
||||
word32* outLen);
|
||||
/*!
|
||||
\ingroup Base_Encoding
|
||||
|
||||
\brief This function encodes the given input, in, and stores the
|
||||
Base64 encoded result in the output buffer out. It writes the data
|
||||
with no new lines. Upon successfully completing, this function
|
||||
also sets outLen to the number of bytes written to the output buffer
|
||||
|
||||
\return 0 Returned upon successfully decoding the Base64 encoded input
|
||||
\return BAD_FUNC_ARG Returned if the output buffer is too small
|
||||
to store the encoded input
|
||||
\return BUFFER_E Returned if the output buffer runs out of room
|
||||
while encoding
|
||||
\return ASN_INPUT_E Returned if there is an error processing the
|
||||
decode on the input message
|
||||
|
||||
\param in pointer to the input buffer to encode
|
||||
\param inLen length of the input buffer to encode
|
||||
\param out pointer to the output buffer in which to store the
|
||||
encoded message
|
||||
\param outLen pointer to the length of the output buffer in which to
|
||||
store the encoded message
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte plain[] = { // initialize text to encode };
|
||||
byte encoded[MAX_BUFFER_SIZE];
|
||||
int outLen = sizeof(encoded);
|
||||
if( Base64_Encode_NoNl(plain, sizeof(plain), encoded, &outLen) != 0 ) {
|
||||
// error encoding input buffer
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa Base64_Encode
|
||||
\sa Base64_Decode
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int Base64_Encode_NoNl(const byte* in, word32 inLen, byte* out,
|
||||
word32* outLen);
|
||||
/*!
|
||||
\ingroup Base_Encoding
|
||||
|
||||
\brief This function decodes the given Base16 encoded input, in, and
|
||||
stores the result in the output buffer out. It also sets the size written
|
||||
to the output buffer in the variable outLen.
|
||||
|
||||
\return 0 Returned upon successfully decoding the Base16 encoded input
|
||||
\return BAD_FUNC_ARG Returned if the output buffer is too small to store
|
||||
the decoded input or if the input length is not a multiple of two
|
||||
\return ASN_INPUT_E Returned if a character in the input buffer falls
|
||||
outside of the Base16 range ([0-9A-F])
|
||||
|
||||
\param in pointer to the input buffer to decode
|
||||
\param inLen length of the input buffer to decode
|
||||
\param out pointer to the output buffer in which to store the decoded
|
||||
message
|
||||
\param outLen pointer to the length of the output buffer. Updated with the
|
||||
bytes written at the end of the function call
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte encoded[] = { // initialize text to decode };
|
||||
byte decoded[sizeof(encoded)];
|
||||
int outLen = sizeof(decoded);
|
||||
|
||||
if( Base16_Decode(encoded,sizeof(encoded), decoded, &outLen) != 0 ) {
|
||||
// error decoding input buffer
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa Base64_Encode
|
||||
\sa Base64_Decode
|
||||
\sa Base16_Encode
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int Base16_Decode(const byte* in, word32 inLen, byte* out, word32* outLen);
|
||||
/*!
|
||||
\ingroup Base_Encoding
|
||||
|
||||
\brief Encode input to base16 output.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if in, out, or outLen is null or if outLen is
|
||||
less than 2 times inLen plus 1.
|
||||
|
||||
\param in Pointer to input buffer to be encoded.
|
||||
\param inLen Length of input buffer.
|
||||
\param out Pointer to output buffer.
|
||||
\param outLen Length of output buffer. Is set to len of encoded output.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte in[] = { // Contents of something to be encoded };
|
||||
byte out[NECESSARY_OUTPUT_SIZE];
|
||||
word32 outSz = sizeof(out);
|
||||
|
||||
if(Base16_Encode(in, sizeof(in), out, &outSz) != 0)
|
||||
{
|
||||
// Handle encode error
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa Base64_Encode
|
||||
\sa Base64_Decode
|
||||
\sa Base16_Decode
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int Base16_Encode(const byte* in, word32 inLen, byte* out, word32* outLen);
|
||||
71
doc/dox_comments/header_files/compress.h
Normal file
71
doc/dox_comments/header_files/compress.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/*!
|
||||
\ingroup Compression
|
||||
|
||||
\brief This function compresses the given input data using Huffman coding
|
||||
and stores the output in out. Note that the output buffer should still be
|
||||
larger than the input buffer because there exists a certain input for
|
||||
which there will be no compression possible, which will still require a
|
||||
lookup table. It is recommended that one allocate srcSz + 0.1% + 12 for
|
||||
the output buffer.
|
||||
|
||||
\return On successfully compressing the input data, returns the number
|
||||
of bytes stored in the output buffer
|
||||
\return COMPRESS_INIT_E Returned if there is an error initializing the
|
||||
stream for compression
|
||||
\return COMPRESS_E Returned if an error occurs during compression
|
||||
|
||||
\param out pointer to the output buffer in which to store the compressed
|
||||
data
|
||||
\param outSz size available in the output buffer for storage
|
||||
\param in pointer to the buffer containing the message to compress
|
||||
\param inSz size of the input message to compress
|
||||
\param flags flags to control how compression operates. Use 0 for normal
|
||||
decompression
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte message[] = { // initialize text to compress };
|
||||
byte compressed[(sizeof(message) + sizeof(message) * .001 + 12 )];
|
||||
// Recommends at least srcSz + .1% + 12
|
||||
|
||||
if( wc_Compress(compressed, sizeof(compressed), message, sizeof(message),
|
||||
0) != 0){
|
||||
// error compressing data
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_DeCompress
|
||||
*/
|
||||
WOLFSSL_API int wc_Compress(byte*, word32, const byte*, word32, word32);
|
||||
/*!
|
||||
\ingroup Compression
|
||||
|
||||
\brief This function decompresses the given compressed data using Huffman
|
||||
coding and stores the output in out.
|
||||
|
||||
\return Succes On successfully decompressing the input data, returns the
|
||||
number of bytes stored in the output buffer
|
||||
\return COMPRESS_INIT_E: Returned if there is an error initializing the
|
||||
stream for compression
|
||||
\return COMPRESS_E: Returned if an error occurs during compression
|
||||
|
||||
\param out pointer to the output buffer in which to store the decompressed
|
||||
data
|
||||
\param outSz size available in the output buffer for storage
|
||||
\param in pointer to the buffer containing the message to decompress
|
||||
\param inSz size of the input message to decompress
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte compressed[] = { // initialize compressed message };
|
||||
byte decompressed[MAX_MESSAGE_SIZE];
|
||||
|
||||
if( wc_DeCompress(decompressed, sizeof(decompressed),
|
||||
compressed, sizeof(compressed)) != 0 ) {
|
||||
// error decompressing data
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Compress
|
||||
*/
|
||||
WOLFSSL_API int wc_DeCompress(byte*, word32, const byte*, word32);
|
||||
678
doc/dox_comments/header_files/curve25519.h
Normal file
678
doc/dox_comments/header_files/curve25519.h
Normal file
@@ -0,0 +1,678 @@
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function generates a curve25519 key using the given random
|
||||
number generator, rng, of the size given (keysize), and stores it in
|
||||
the given curve25519_key structure. It should be called after the key
|
||||
structure has been initialized through wc_curve25519_init.
|
||||
|
||||
\return 0 Returned on successfully generating the key and and storing
|
||||
it in the given curve25519_key structure
|
||||
\return ECC_BAD_ARG_E Returned if rng or key evaluate to NULL, or
|
||||
the input keysize does not correspond to the keysize for a
|
||||
curve25519 key ( 32 bytes)
|
||||
\return RNG_FAILURE_E Returned if the rng internal status is not
|
||||
DRBG_OK or if there is in generating the next random block with rng
|
||||
|
||||
\param rng pointer to the RNG object used to generate the ecc key
|
||||
\param keysize size of the key to generate. Must be 32 bytes for curve25519
|
||||
\param key pointer to the curve25519_key structure in which to
|
||||
store the generated key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
curve25519_key key;
|
||||
wc_curve25519_init(&key); // initialize key
|
||||
RNG rng;
|
||||
wc_InitRng(&rng); // initialize random number generator
|
||||
|
||||
if( wc_curve25519_make_key(&rng, 32, &key) != 0) {
|
||||
// making 25519 key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_make_key(WC_RNG* rng, int keysize, curve25519_key* key);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function computes a shared secret key given a secret private
|
||||
key and a received public key. It stores the generated secret key in the
|
||||
buffer out and assigns the variable of the secret key to outlen. Only
|
||||
supports big endian.
|
||||
|
||||
\return 0 Returned on successfully computing a shared secret key
|
||||
\return BAD_FUNC_ARG Returned if any of the input parameters passed in
|
||||
are NULL
|
||||
\return ECC_BAD_ARG_E Returned if the first bit of the public key is
|
||||
set, to avoid implementation fingerprinting
|
||||
|
||||
\param private_key pointer to the curve25519_key structure initialized
|
||||
with the user’s private key
|
||||
\param public_key pointer to the curve25519_key structure containing
|
||||
the received public key
|
||||
\param out pointer to a buffer in which to store the 32 byte computed
|
||||
secret key
|
||||
\param outlen pointer in which to store the length written to the
|
||||
output buffer
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte sharedKey[32];
|
||||
word32 keySz;
|
||||
curve25519_key privKey, pubKey;
|
||||
// initialize both keys
|
||||
|
||||
if ( wc_curve25519_shared_secret(&privKey, &pubKey, sharedKey,
|
||||
&keySz) != 0 ) {
|
||||
// error generating shared key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_make_key
|
||||
\sa wc_curve25519_shared_secret_ex
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_shared_secret(curve25519_key* private_key,
|
||||
curve25519_key* public_key,
|
||||
byte* out, word32* outlen);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function computes a shared secret key given a secret private
|
||||
key and a received public key. It stores the generated secret key in the
|
||||
buffer out and assigns the variable of the secret key to outlen. Supports
|
||||
both big and little endian.
|
||||
|
||||
\return 0 Returned on successfully computing a shared secret key
|
||||
\return BAD_FUNC_ARG Returned if any of the input parameters passed in
|
||||
are NULL
|
||||
\return ECC_BAD_ARG_E Returned if the first bit of the public key is set,
|
||||
to avoid implementation fingerprinting
|
||||
|
||||
\param private_key pointer to the curve25519_key structure initialized
|
||||
with the user’s private key
|
||||
\param public_key pointer to the curve25519_key structure containing
|
||||
the received public key
|
||||
\param out pointer to a buffer in which to store the 32 byte computed
|
||||
secret key
|
||||
\param outlen pointer in which to store the length written to the output
|
||||
buffer
|
||||
\param endian EC25519_BIG_ENDIAN or EC25519_LITTLE_ENDIAN to set which
|
||||
form to use.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte sharedKey[32];
|
||||
word32 keySz;
|
||||
|
||||
curve25519_key privKey, pubKey;
|
||||
// initialize both keys
|
||||
|
||||
if ( wc_curve25519_shared_secret_ex(&privKey, &pubKey, sharedKey, &keySz,
|
||||
EC25519_BIG_ENDIAN) != 0 ) {
|
||||
// error generating shared key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_make_key
|
||||
\sa wc_curve25519_shared_secret
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_shared_secret_ex(curve25519_key* private_key,
|
||||
curve25519_key* public_key,
|
||||
byte* out, word32* outlen, int endian);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function initializes a curve25519 key. It should be called
|
||||
before generating a key for the structure with wc_curve25519_init and
|
||||
before using the key to encrypt data.
|
||||
|
||||
\return 0 Returned on successfully initializing the curve25519_key
|
||||
structure
|
||||
|
||||
\param key pointer to the curve25519_key structure to initialize
|
||||
|
||||
_Example_
|
||||
\code
|
||||
curve25519_key key;
|
||||
wc_curve25519_init(&key); // initialize key
|
||||
// make key and proceed to encryption
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_make_key
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_init(curve25519_key* key);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function frees a curve 25519 object.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param key pointer to the key object to free
|
||||
|
||||
_Example_
|
||||
\code
|
||||
curve25519_key privKey;
|
||||
// initialize key, use it to generate shared secret key
|
||||
wc_curve25519_free(&privKey);
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_make_key
|
||||
*/
|
||||
WOLFSSL_API
|
||||
void wc_curve25519_free(curve25519_key* key);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function imports a curve25519 private key only. (Big endian).
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if key or priv is null.
|
||||
\return ECC_BAD_ARG_E Returns if privSz is not equal to
|
||||
wc_curve25519_size(key).
|
||||
|
||||
\param priv Private key buffer
|
||||
\param privSz Size of private key buffer.
|
||||
\param key The curve25519_key structure to store the private key.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte priv[] = { Contents of private key };
|
||||
curve25519_key key;
|
||||
wc_curve25519_init(&key);
|
||||
|
||||
if(wc_curve25519_import_private(priv, sizeof(priv), &key) != 0)
|
||||
{
|
||||
// Some error was thrown
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_import_private_ex
|
||||
\sa wc_curve25519_size
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_import_private(const byte* priv, word32 privSz,
|
||||
curve25519_key* key);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief curve25519 private key import only. (Big or Little endian).
|
||||
|
||||
\return 0 Success
|
||||
\return Returns if key or priv is null.
|
||||
\return ECC_BAD_ARG_E Returns if privSz is not equal to
|
||||
wc_curve25519_size(key).
|
||||
|
||||
\param priv Buffer for private key.
|
||||
\param privSz Size of private key buffer.
|
||||
\param key The curve25519_key structure to store the private key.
|
||||
\param endian EC25519_BIG_ENDIAN or EC25519_LITTLE_ENDIAN to
|
||||
set which form to use.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte priv[] = { // Contents of private key };
|
||||
curve25519_key key;
|
||||
wc_curve25519_init(&key);
|
||||
|
||||
if(wc_curve25519_import_private_ex(priv, sizeof(priv), &key,
|
||||
EC25519_BIG_ENDIAN) != 0)
|
||||
{
|
||||
// Some error was thrown
|
||||
}
|
||||
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_import_private
|
||||
\sa wc_curbe25519_size
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_import_private_ex(const byte* priv, word32 privSz,
|
||||
curve25519_key* key, int endian);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function imports a public-private key pair into a
|
||||
curve25519_key structure. Big endian only.
|
||||
|
||||
\return 0 Returned on importing into the curve25519_key structure
|
||||
\return ECC_BAD_ARG_E Returned if any of the input parameters
|
||||
are NULL, or the input key’s key size does not match the public
|
||||
or private key sizes
|
||||
|
||||
\param priv pointer to a buffer containing the private key to import
|
||||
\param privSz length of the private key to import
|
||||
\param pub pointer to a buffer containing the public key to import
|
||||
\param pubSz length of the public key to import
|
||||
\param key pointer to the structure in which to store the imported keys
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
|
||||
byte priv[32];
|
||||
byte pub[32];
|
||||
// initialize with public and private keys
|
||||
curve25519_key key;
|
||||
|
||||
wc_curve25519_init(&key);
|
||||
// initialize key
|
||||
|
||||
ret = wc_curve25519_import_private_raw(&priv, sizeof(priv), pub,
|
||||
sizeof(pub),&key);
|
||||
if (ret != 0) {
|
||||
// error importing keys
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_make_key
|
||||
\sa wc_curve25519_import_public
|
||||
\sa wc_curve25519_export_private_raw
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_import_private_raw(const byte* priv, word32 privSz,
|
||||
const byte* pub, word32 pubSz, curve25519_key* key);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function imports a public-private key pair into a curve25519_key structure. Supports both big and little endian.
|
||||
|
||||
\return 0 Returned on importing into the curve25519_key structure
|
||||
\return ECC_BAD_ARG_E Returned if any of the input parameters are NULL,
|
||||
or the input key’s key size does not match the public or private key sizes
|
||||
|
||||
\param priv pointer to a buffer containing the private key to import
|
||||
\param privSz length of the private key to import
|
||||
\param pub pointer to a buffer containing the public key to import
|
||||
\param pubSz length of the public key to import
|
||||
\param key pointer to the structure in which to store the imported keys
|
||||
\param endian EC25519_BIG_ENDIAN or EC25519_LITTLE_ENDIAN to set
|
||||
which form to use.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
byte priv[32];
|
||||
byte pub[32];
|
||||
// initialize with public and private keys
|
||||
curve25519_key key;
|
||||
|
||||
wc_curve25519_init(&key);
|
||||
// initialize key
|
||||
|
||||
ret = wc_curve25519_import_private_raw_ex(&priv, sizeof(priv), pub,
|
||||
sizeof(pub),&key, EC25519_BIG_ENDIAN);
|
||||
if (ret != 0) {
|
||||
// error importing keys
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_make_key
|
||||
\sa wc_curve25519_import_public
|
||||
\sa wc_curve25519_export_private_rawm
|
||||
\sa wc_curve25519_import_private_raw
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_import_private_raw_ex(const byte* priv, word32 privSz,
|
||||
const byte* pub, word32 pubSz,
|
||||
curve25519_key* key, int endian);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function exports a private key from a curve25519_key structure
|
||||
and stores it in the given out buffer. It also sets outLen to be the size
|
||||
of the exported key. Big Endian only.
|
||||
|
||||
\return 0 Returned on successfully exporting the private key from the
|
||||
curve25519_key structure
|
||||
\return BAD_FUNC_ARG Returned if any input parameters are NULL.
|
||||
\return ECC_BAD_ARG_E Returned if wc_curve25519_size() is not equal to key.
|
||||
|
||||
\param key pointer to the structure from which to export the key
|
||||
\param out pointer to the buffer in which to store the exported key
|
||||
\param outLen will store the bytes written to the output buffer
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
byte priv[32];
|
||||
int privSz;
|
||||
|
||||
curve25519_key key;
|
||||
// initialize and make key
|
||||
|
||||
ret = wc_curve25519_export_private_raw(&key, priv, &privSz);
|
||||
if (ret != 0) {
|
||||
// error exporting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_make_key
|
||||
\sa wc_curve25519_import_private_raw
|
||||
\sa wc_curve25519_export_private_raw_ex
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_export_private_raw(curve25519_key* key, byte* out,
|
||||
word32* outLen);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function exports a private key from a curve25519_key structure
|
||||
and stores it in the given out buffer. It also sets outLen to be the size
|
||||
of the exported key. Can specify whether it's big or little endian.
|
||||
|
||||
\return 0 Returned on successfully exporting the private key from the
|
||||
curve25519_key structure
|
||||
\return BAD_FUNC_ARG Returned if any input parameters are NULL.
|
||||
\return ECC_BAD_ARG_E Returned if wc_curve25519_size() is not equal to key.
|
||||
|
||||
\param key pointer to the structure from which to export the key
|
||||
\param out pointer to the buffer in which to store the exported key
|
||||
\param outLen will store the bytes written to the output buffer
|
||||
\param endian EC25519_BIG_ENDIAN or EC25519_LITTLE_ENDIAN to set which
|
||||
form to use.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
|
||||
byte priv[32];
|
||||
int privSz;
|
||||
curve25519_key key;
|
||||
// initialize and make key
|
||||
ret = wc_curve25519_export_private_raw_ex(&key, priv, &privSz,
|
||||
EC25519_BIG_ENDIAN);
|
||||
if (ret != 0) {
|
||||
// error exporting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_make_key
|
||||
\sa wc_curve25519_import_private_raw
|
||||
\sa wc_curve25519_export_private_raw
|
||||
\sa wc_curve25519_size
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_export_private_raw_ex(curve25519_key* key, byte* out,
|
||||
word32* outLen, int endian);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function imports a public key from the given in buffer and
|
||||
stores it in the curve25519_key structure.
|
||||
|
||||
\return 0 Returned on successfully importing the public key into the
|
||||
curve25519_key structure
|
||||
\return ECC_BAD_ARG_E Returned if any of the input parameters are NULL,
|
||||
or if the inLen
|
||||
parameter does not match the key size of the key structure.
|
||||
\return BAD_FUNC_ARG Returned if any of the input parameters are NULL.
|
||||
|
||||
\param in pointer to the buffer containing the public key to import
|
||||
\param inLen length of the public key to import
|
||||
\param key pointer to the curve25519_key structure in which to store
|
||||
the key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
|
||||
byte pub[32];
|
||||
// initialize pub with public key
|
||||
|
||||
curve25519_key key;
|
||||
// initialize key
|
||||
|
||||
ret = wc_curve25519_import_public(pub,sizeof(pub), &key);
|
||||
if (ret != 0) {
|
||||
// error exporting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_export_public
|
||||
\sa wc_curve25519_import_private_raw
|
||||
\sa wc_curve25519_public_ex
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_import_public(const byte* in, word32 inLen,
|
||||
curve25519_key* key);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function imports a public key from the given in buffer and
|
||||
stores it in the curve25519_key structure.
|
||||
|
||||
\brief 0 Returned on successfully importing the public key into the
|
||||
curve25519_key structure
|
||||
\brief ECC_BAD_ARG_E Returned if the inLen parameter does not match the
|
||||
key size of the key structure
|
||||
\brief BAD_FUNC_ARG Returned if any of the input parameters are NULL.
|
||||
|
||||
\param in pointer to the buffer containing the public key to import
|
||||
\param inLen length of the public key to import
|
||||
\param key pointer to the curve25519_key structure in which to store
|
||||
the key
|
||||
\param endian EC25519_BIG_ENDIAN or EC25519_LITTLE_ENDIAN to set which
|
||||
form to use.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
byte pub[32];
|
||||
// initialize pub with public key
|
||||
curve25519_key key;
|
||||
// initialize key
|
||||
|
||||
ret = wc_curve25519_import_public_ex(pub,sizeof(pub), &key,
|
||||
EC25519_BIG_ENDIAN);
|
||||
if (ret != 0) {
|
||||
// error exporting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_export_public
|
||||
\sa wc_curve25519_import_private_raw
|
||||
\sa wc_curve25519_import_public
|
||||
\sa wc_25519_size
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_import_public_ex(const byte* in, word32 inLen,
|
||||
curve25519_key* key, int endian);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function exports a public key from the given key structure and
|
||||
stores the result in the out buffer. Big endian only.
|
||||
|
||||
\return 0 Returned on successfully exporting the public key from the
|
||||
curve25519_key structure
|
||||
\return ECC_BAD_ARG_E Returned if any of the input parameters are NULL
|
||||
|
||||
\param key pointer to the curve25519_key structure in from which to
|
||||
export the key
|
||||
\param out pointer to the buffer in which to store the public key
|
||||
\param outLen will store the bytes written to the output buffer
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
byte pub[32];
|
||||
int pubSz;
|
||||
curve25519_key key;
|
||||
// initialize and make key
|
||||
ret = wc_curve25519_export_public(&key,pub, &pubSz);
|
||||
if (ret != 0) {
|
||||
// error exporting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_export_private_raw
|
||||
\sa wc_curve25519_import_public
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_export_public(curve25519_key* key, byte* out, word32* outLen);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function exports a public key from the given key structure and
|
||||
stores the result in the out buffer. Supports both big and little endian.
|
||||
|
||||
\return 0 Returned on successfully exporting the public key from the
|
||||
curve25519_key structure
|
||||
\return ECC_BAD_ARG_E Returned if any of the input parameters are NULL
|
||||
|
||||
\param key pointer to the curve25519_key structure in from which to
|
||||
export the key
|
||||
\param out pointer to the buffer in which to store the public key
|
||||
\param outLen will store the bytes written to the output buffer
|
||||
\param endian EC25519_BIG_ENDIAN or EC25519_LITTLE_ENDIAN to set which
|
||||
form to use.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
|
||||
byte pub[32];
|
||||
int pubSz;
|
||||
curve25519_key key;
|
||||
// initialize and make key
|
||||
|
||||
ret = wc_curve25519_export_public_ex(&key,pub, &pubSz, EC25519_BIG_ENDIAN);
|
||||
if (ret != 0) {
|
||||
// error exporting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_export_private_raw
|
||||
\sa wc_curve25519_import_public
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_export_public_ex(curve25519_key* key, byte* out,
|
||||
word32* outLen, int endian);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief Export curve25519 key pair. Big endian only.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returned if any input parameters are NULL.
|
||||
\return ECC_BAD_ARG_E Returned if wc_curve25519_size() is not equal to key.
|
||||
|
||||
\param key Description
|
||||
\param priv Private key buffer.
|
||||
\param privSz Size of private key buffer.
|
||||
\param pub Public key buffer.
|
||||
\param pubSz Size of public key buffer.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
byte pub[32];
|
||||
byte priv[32];
|
||||
int pubSz;
|
||||
int privSz;
|
||||
|
||||
curve25519_key key;
|
||||
// initialize and make key
|
||||
|
||||
ret = wc_curve25519_export_key_raw(&key, priv, &privSz, pub, &pubSz);
|
||||
if (ret != 0) {
|
||||
// error exporting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_export_key_raw_ex
|
||||
\sa wc_curve25519_export_private_raw
|
||||
\sa wc_curve25519_export_public_raw
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_export_key_raw(curve25519_key* key,
|
||||
byte* priv, word32 *privSz,
|
||||
byte* pub, word32 *pubSz);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief Export curve25519 key pair. Big or little endian.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returned if any input parameters are NULL.
|
||||
\return ECC_BAD_ARG_E Returned if wc_curve25519_size() is not equal to key.
|
||||
|
||||
\param key Description
|
||||
\param priv Private key buffer.
|
||||
\param privSz Size of private key buffer.
|
||||
\param pub Public key buffer.
|
||||
\param pubSz Size of public key buffer.
|
||||
\param endian EC25519_BIG_ENDIAN or EC25519_LITTLE_ENDIAN to set which
|
||||
form to use.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
|
||||
byte pub[32];
|
||||
byte priv[32];
|
||||
int pubSz;
|
||||
int privSz;
|
||||
|
||||
curve25519_key key;
|
||||
// initialize and make key
|
||||
|
||||
ret = wc_curve25519_export_key_raw_ex(&key,priv, &privSz, pub, &pubSz,
|
||||
EC25519_BIG_ENDIAN);
|
||||
if (ret != 0) {
|
||||
// error exporting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_export_key_raw
|
||||
\sa wc_curve25519_export_private_raw_ex
|
||||
\sa wc_curve25519_export_public_ex
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_export_key_raw_ex(curve25519_key* key,
|
||||
byte* priv, word32 *privSz,
|
||||
byte* pub, word32 *pubSz,
|
||||
int endian);
|
||||
/*!
|
||||
\ingroup Curve25519
|
||||
|
||||
\brief This function returns the key size of the given key structure.
|
||||
|
||||
\return Success Given a valid, initialized curve25519_key structure,
|
||||
returns the size of the key.
|
||||
\return 0 Returned if key is NULL
|
||||
|
||||
\param key pointer to the curve25519_key structure in for which to
|
||||
determine the key size
|
||||
|
||||
_Example_
|
||||
\code
|
||||
curve25519_key key;
|
||||
// initialize and make key
|
||||
int keySz;
|
||||
keySz = wc_curve25519_size(&key);
|
||||
\endcode
|
||||
|
||||
\sa wc_curve25519_init
|
||||
\sa wc_curve25519_make_key
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_curve25519_size(curve25519_key* key);
|
||||
323
doc/dox_comments/header_files/des3.h
Normal file
323
doc/dox_comments/header_files/des3.h
Normal file
@@ -0,0 +1,323 @@
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function sets the key and initialization vector (iv) for the
|
||||
Des structure given as argument. It also initializes and allocates space
|
||||
for the buffers needed for encryption and decryption, if these have not
|
||||
yet been initialized. Note: If no iv is provided (i.e. iv == NULL)
|
||||
the initialization vector defaults to an iv of 0.
|
||||
|
||||
\return 0 On successfully setting the key and initialization vector for
|
||||
the Des structure
|
||||
|
||||
\param des pointer to the Des structure to initialize
|
||||
\param key pointer to the buffer containing the 8 byte key with which to
|
||||
initialize the Des structure
|
||||
\param iv pointer to the buffer containing the 8 byte iv with which to
|
||||
initialize the Des structure. If this is not provided, the iv defaults to 0
|
||||
\param dir direction of encryption. Valid options are: DES_ENCRYPTION,
|
||||
and DES_DECRYPTION
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des enc; // Des structure used for encryption
|
||||
int ret;
|
||||
byte key[] = { // initialize with 8 byte key };
|
||||
byte iv[] = { // initialize with 8 byte iv };
|
||||
|
||||
ret = wc_Des_SetKey(&des, key, iv, DES_ENCRYPTION);
|
||||
if (ret != 0) {
|
||||
// error initializing des structure
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des_SetIV
|
||||
\sa wc_Des3_SetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_Des_SetKey(Des* des, const byte* key,
|
||||
const byte* iv, int dir);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function sets the initialization vector (iv) for the Des
|
||||
structure given as argument. When passed a NULL iv, it sets the
|
||||
initialization vector to 0.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param des pointer to the Des structure for which to set the iv
|
||||
\param iv pointer to the buffer containing the 8 byte iv with which to
|
||||
initialize the Des structure. If this is not provided, the iv defaults to 0
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des enc; // Des structure used for encryption
|
||||
// initialize enc with wc_Des_SetKey
|
||||
byte iv[] = { // initialize with 8 byte iv };
|
||||
wc_Des_SetIV(&enc, iv);
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des_SetKey
|
||||
*/
|
||||
WOLFSSL_API void wc_Des_SetIV(Des* des, const byte* iv);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function encrypts the input message, in, and stores the result
|
||||
in the output buffer, out. It uses DES encryption with cipher block
|
||||
chaining (CBC) mode.
|
||||
|
||||
\return 0 Returned upon successfully encrypting the given input message
|
||||
|
||||
\param des pointer to the Des structure to use for encryption
|
||||
\param out pointer to the buffer in which to store the encrypted ciphertext
|
||||
\param in pointer to the input buffer containing the message to encrypt
|
||||
\param sz length of the message to encrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des enc; // Des structure used for encryption
|
||||
// initialize enc with wc_Des_SetKey, use mode DES_ENCRYPTION
|
||||
|
||||
byte plain[] = { // initialize with message };
|
||||
byte cipher[sizeof(plain)];
|
||||
|
||||
if ( wc_Des_CbcEncrypt(&enc, cipher, plain, sizeof(plain)) != 0) {
|
||||
// error encrypting message
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des_SetKey
|
||||
\sa wc_Des_CbcDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_Des_CbcEncrypt(Des* des, byte* out,
|
||||
const byte* in, word32 sz);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function decrypts the input ciphertext, in, and stores the
|
||||
resulting plaintext in the output buffer, out. It uses DES encryption
|
||||
with cipher block chaining (CBC) mode.
|
||||
|
||||
\return 0 Returned upon successfully decrypting the given ciphertext
|
||||
|
||||
\param des pointer to the Des structure to use for decryption
|
||||
\param out pointer to the buffer in which to store the decrypted plaintext
|
||||
\param in pointer to the input buffer containing the encrypted ciphertext
|
||||
\param sz length of the ciphertext to decrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des dec; // Des structure used for decryption
|
||||
// initialize dec with wc_Des_SetKey, use mode DES_DECRYPTION
|
||||
|
||||
byte cipher[] = { // initialize with ciphertext };
|
||||
byte decoded[sizeof(cipher)];
|
||||
|
||||
if ( wc_Des_CbcDecrypt(&dec, decoded, cipher, sizeof(cipher)) != 0) {
|
||||
// error decrypting message
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des_SetKey
|
||||
\sa wc_Des_CbcEncrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_Des_CbcDecrypt(Des* des, byte* out,
|
||||
const byte* in, word32 sz);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function encrypts the input message, in, and stores the result
|
||||
in the output buffer, out. It uses Des encryption with Electronic
|
||||
Codebook (ECB) mode.
|
||||
|
||||
\return 0: Returned upon successfully encrypting the given plaintext.
|
||||
|
||||
\param des pointer to the Des structure to use for encryption
|
||||
\param out pointer to the buffer in which to store the encrypted message
|
||||
\param in pointer to the input buffer containing the plaintext to encrypt
|
||||
\param sz length of the plaintext to encrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des enc; // Des structure used for encryption
|
||||
// initialize enc with wc_Des_SetKey, use mode DES_ENCRYPTION
|
||||
|
||||
byte plain[] = { // initialize with message to encrypt };
|
||||
byte cipher[sizeof(plain)];
|
||||
|
||||
if ( wc_Des_EcbEncrypt(&enc,cipher, plain, sizeof(plain)) != 0) {
|
||||
// error encrypting message
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des_SetKe
|
||||
*/
|
||||
WOLFSSL_API int wc_Des_EcbEncrypt(Des* des, byte* out,
|
||||
const byte* in, word32 sz);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function encrypts the input message, in, and stores the
|
||||
result in the output buffer, out. It uses Des3 encryption with
|
||||
Electronic Codebook (ECB) mode. Warning: In nearly all use cases ECB
|
||||
mode is considered to be less secure. Please avoid using ECB API’s
|
||||
directly whenever possible.
|
||||
|
||||
\return 0 Returned upon successfully encrypting the given plaintext
|
||||
|
||||
\param des3 pointer to the Des3 structure to use for encryption
|
||||
\param out pointer to the buffer in which to store the encrypted message
|
||||
\param in pointer to the input buffer containing the plaintext to encrypt
|
||||
\param sz length of the plaintext to encrypt
|
||||
|
||||
_Example_
|
||||
/code
|
||||
Des3 enc; // Des3 structure used for encryption
|
||||
// initialize enc with wc_Des3_SetKey, use mode DES_ENCRYPTION
|
||||
|
||||
byte plain[] = { // initialize with message to encrypt };
|
||||
byte cipher[sizeof(plain)];
|
||||
|
||||
if ( wc_Des3_EcbEncrypt(&enc,cipher, plain, sizeof(plain)) != 0) {
|
||||
// error encrypting message
|
||||
}
|
||||
/endcode
|
||||
|
||||
\sa wc_Des3_SetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_Des3_EcbEncrypt(Des3* des, byte* out,
|
||||
const byte* in, word32 sz);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function sets the key and initialization vector (iv) for
|
||||
the Des3 structure given as argument. It also initializes and allocates
|
||||
space for the buffers needed for encryption and decryption, if these
|
||||
have not yet been initialized. Note: If no iv is provided (i.e. iv ==
|
||||
NULL) the initialization vector defaults to an iv of 0.
|
||||
|
||||
\return 0 On successfully setting the key and initialization vector
|
||||
for the Des structure
|
||||
|
||||
\param des3 pointer to the Des3 structure to initialize
|
||||
\param key pointer to the buffer containing the 24 byte key with which
|
||||
to initialize the Des3 structure
|
||||
\param iv pointer to the buffer containing the 8 byte iv with which to
|
||||
initialize the Des3 structure. If this is not provided, the iv defaults
|
||||
to 0
|
||||
\param dir direction of encryption. Valid options are: DES_ENCRYPTION,
|
||||
and DES_DECRYPTION
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des3 enc; // Des3 structure used for encryption
|
||||
int ret;
|
||||
byte key[] = { // initialize with 24 byte key };
|
||||
byte iv[] = { // initialize with 8 byte iv };
|
||||
|
||||
ret = wc_Des3_SetKey(&des, key, iv, DES_ENCRYPTION);
|
||||
if (ret != 0) {
|
||||
// error initializing des structure
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des3_SetIV
|
||||
\sa wc_Des3_CbcEncrypt
|
||||
\sa wc_Des3_CbcDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_Des3_SetKey(Des3* des, const byte* key,
|
||||
const byte* iv,int dir);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function sets the initialization vector (iv) for the Des3
|
||||
structure given as argument. When passed a NULL iv, it sets the
|
||||
initialization vector to 0.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param des pointer to the Des3 structure for which to set the iv
|
||||
\param iv pointer to the buffer containing the 8 byte iv with which to
|
||||
initialize the Des3 structure. If this is not provided, the iv
|
||||
defaults to 0
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des3 enc; // Des3 structure used for encryption
|
||||
// initialize enc with wc_Des3_SetKey
|
||||
|
||||
byte iv[] = { // initialize with 8 byte iv };
|
||||
|
||||
wc_Des3_SetIV(&enc, iv);
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des3_SetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_Des3_SetIV(Des3* des, const byte* iv);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function encrypts the input message, in, and stores the
|
||||
result in the output buffer, out. It uses Triple Des (3DES) encryption
|
||||
with cipher block chaining (CBC) mode.
|
||||
|
||||
\return 0 Returned upon successfully encrypting the given input message
|
||||
|
||||
\param des pointer to the Des3 structure to use for encryption
|
||||
\param out pointer to the buffer in which to store the encrypted ciphertext
|
||||
\param in pointer to the input buffer containing the message to encrypt
|
||||
\param sz length of the message to encrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des3 enc; // Des3 structure used for encryption
|
||||
// initialize enc with wc_Des3_SetKey, use mode DES_ENCRYPTION
|
||||
|
||||
byte plain[] = { // initialize with message };
|
||||
byte cipher[sizeof(plain)];
|
||||
|
||||
if ( wc_Des3_CbcEncrypt(&enc, cipher, plain, sizeof(plain)) != 0) {
|
||||
// error encrypting message
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des3_SetKey
|
||||
\sa wc_Des3_CbcDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_Des3_CbcEncrypt(Des3* des, byte* out,
|
||||
const byte* in,word32 sz);
|
||||
/*!
|
||||
\ingroup 3DES
|
||||
|
||||
\brief This function decrypts the input ciphertext, in, and stores the
|
||||
resulting plaintext in the output buffer, out. It uses Triple Des (3DES)
|
||||
encryption with cipher block chaining (CBC) mode.
|
||||
|
||||
\return 0 Returned upon successfully decrypting the given ciphertext
|
||||
|
||||
\param des pointer to the Des3 structure to use for decryption
|
||||
\param out pointer to the buffer in which to store the decrypted plaintext
|
||||
\param in pointer to the input buffer containing the encrypted ciphertext
|
||||
\param sz length of the ciphertext to decrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Des3 dec; // Des structure used for decryption
|
||||
// initialize dec with wc_Des3_SetKey, use mode DES_DECRYPTION
|
||||
|
||||
byte cipher[] = { // initialize with ciphertext };
|
||||
byte decoded[sizeof(cipher)];
|
||||
|
||||
if ( wc_Des3_CbcDecrypt(&dec, decoded, cipher, sizeof(cipher)) != 0) {
|
||||
// error decrypting message
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Des3_SetKey
|
||||
\sa wc_Des3_CbcEncrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_Des3_CbcDecrypt(Des3* des, byte* out,
|
||||
const byte* in,word32 sz);
|
||||
267
doc/dox_comments/header_files/dh.h
Normal file
267
doc/dox_comments/header_files/dh.h
Normal file
@@ -0,0 +1,267 @@
|
||||
/*!
|
||||
\ingroup Diffie-Hellman
|
||||
|
||||
\brief This function initializes a Diffie-Hellman key for use in
|
||||
negotiating a secure secret key with the Diffie-Hellman exchange protocol.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param key pointer to the DhKey structure to initialize for use with
|
||||
secure key exchanges
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DhKey key;
|
||||
wc_InitDhKey(&key); // initialize DH key
|
||||
\endcode
|
||||
|
||||
\sa wc_FreeDhKey
|
||||
\sa wc_DhGenerateKeyPair
|
||||
*/
|
||||
WOLFSSL_API int wc_InitDhKey(DhKey* key);
|
||||
/*!
|
||||
\ingroup Diffie-Hellman
|
||||
|
||||
\brief This function frees a Diffie-Hellman key after it has been used to
|
||||
negotiate a secure secret key with the Diffie-Hellman exchange protocol.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param key pointer to the DhKey structure to free
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DhKey key;
|
||||
// initialize key, perform key exchange
|
||||
|
||||
wc_FreeDhKey(&key); // free DH key to avoid memory leaks
|
||||
\endcode
|
||||
|
||||
\sa wc_InitDhKey
|
||||
*/
|
||||
WOLFSSL_API void wc_FreeDhKey(DhKey* key);
|
||||
/*!
|
||||
\ingroup Diffie-Hellman
|
||||
|
||||
\brief This function generates a public/private key pair based on the
|
||||
Diffie-Hellman public parameters, storing the private key in priv and the
|
||||
public key in pub. It takes an initialized Diffie-Hellman key and an
|
||||
initialized rng structure.
|
||||
|
||||
\return BAD_FUNC_ARG Returned if there is an error parsing one of the
|
||||
inputs to this function
|
||||
\return RNG_FAILURE_E Returned if there is an error generating a random
|
||||
number using rng
|
||||
\return MP_INIT_E May be returned if there is an error in the math library
|
||||
while generating the public key
|
||||
\return MP_READ_E May be returned if there is an error in the math library
|
||||
while generating the public key
|
||||
\return MP_EXPTMOD_E May be returned if there is an error in the math
|
||||
library while generating the public key
|
||||
\return MP_TO_E May be returned if there is an error in the math library
|
||||
while generating the public key
|
||||
|
||||
\param key pointer to the DhKey structure from which to generate
|
||||
the key pair
|
||||
\param rng pointer to an initialized random number generator (rng) with
|
||||
which to generate the keys
|
||||
\param priv pointer to a buffer in which to store the private key
|
||||
\param privSz will store the size of the private key written to priv
|
||||
\param pub pointer to a buffer in which to store the public key
|
||||
\param pubSz will store the size of the private key written to pub
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DhKey key;
|
||||
int ret;
|
||||
byte priv[256];
|
||||
byte pub[256];
|
||||
word32 privSz, pubSz;
|
||||
|
||||
wc_InitDhKey(&key); // initialize key
|
||||
// Set DH parameters using wc_DhSetKey or wc_DhKeyDecode
|
||||
RNG rng;
|
||||
wc_InitRng(&rng); // initialize rng
|
||||
ret = wc_DhGenerateKeyPair(&key, &rng, priv, &privSz, pub, &pubSz);
|
||||
\endcode
|
||||
|
||||
\sa wc_InitDhKey
|
||||
\sa wc_DhSetKey
|
||||
\sa wc_DhKeyDecode
|
||||
*/
|
||||
WOLFSSL_API int wc_DhGenerateKeyPair(DhKey* key, WC_RNG* rng, byte* priv,
|
||||
word32* privSz, byte* pub, word32* pubSz);
|
||||
/*!
|
||||
\ingroup Diffie-Hellman
|
||||
|
||||
\brief This function generates an agreed upon secret key based on a local
|
||||
private key and a received public key. If completed on both sides of an
|
||||
exchange, this function generates an agreed upon secret key for symmetric
|
||||
communication. On successfully generating a shared secret key, the size of
|
||||
the secret key written will be stored in agreeSz.
|
||||
|
||||
\return 0 Returned on successfully generating an agreed upon secret key
|
||||
\return MP_INIT_E May be returned if there is an error while generating
|
||||
the shared secret key
|
||||
\return MP_READ_E May be returned if there is an error while generating
|
||||
the shared secret key
|
||||
\return MP_EXPTMOD_E May be returned if there is an error while generating
|
||||
the shared secret key
|
||||
\return MP_TO_E May be returned if there is an error while generating the
|
||||
shared secret key
|
||||
|
||||
\param key pointer to the DhKey structure to use to compute the shared key
|
||||
\param agree pointer to the buffer in which to store the secret key
|
||||
\param agreeSz will hold the size of the secret key after
|
||||
successful generation
|
||||
\param priv pointer to the buffer containing the local secret key
|
||||
\param privSz size of the local secret key
|
||||
\param otherPub pointer to a buffer containing the received public key
|
||||
\param pubSz size of the received public key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DhKey key;
|
||||
int ret;
|
||||
byte priv[256];
|
||||
byte agree[256];
|
||||
word32 agreeSz;
|
||||
|
||||
// initialize key, set key prime and base
|
||||
// wc_DhGenerateKeyPair -- store private key in priv
|
||||
byte pub[] = { // initialized with the received public key };
|
||||
ret = wc_DhAgree(&key, agree, &agreeSz, priv, sizeof(priv), pub,
|
||||
sizeof(pub));
|
||||
if ( ret != 0 ) {
|
||||
// error generating shared key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_DhGenerateKeyPair
|
||||
*/
|
||||
WOLFSSL_API int wc_DhAgree(DhKey* key, byte* agree, word32* agreeSz,
|
||||
const byte* priv, word32 privSz, const byte* otherPub,
|
||||
word32 pubSz);
|
||||
/*!
|
||||
\ingroup Diffie-Hellman
|
||||
|
||||
\brief This function decodes a Diffie-Hellman key from the given input
|
||||
buffer containing the key in DER format. It stores the result in the
|
||||
DhKey structure.
|
||||
|
||||
\return 0 Returned on successfully decoding the input key
|
||||
\return ASN_PARSE_E Returned if there is an error parsing the sequence
|
||||
of the input
|
||||
\return ASN_DH_KEY_E Returned if there is an error reading the private
|
||||
key parameters from the parsed input
|
||||
|
||||
\param input pointer to the buffer containing the DER formatted
|
||||
Diffie-Hellman key
|
||||
\param inOutIdx pointer to an integer in which to store the index parsed
|
||||
to while decoding the key
|
||||
\param key pointer to the DhKey structure to initialize with the input key
|
||||
\param inSz length of the input buffer. Gives the max length that may
|
||||
be read
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DhKey key;
|
||||
word32 idx = 0;
|
||||
|
||||
byte keyBuff[1024];
|
||||
// initialize with DER formatted key
|
||||
wc_DhKeyInit(&key);
|
||||
ret = wc_DhKeyDecode(keyBuff, &idx, &key, sizeof(keyBuff));
|
||||
|
||||
if ( ret != 0 ) {
|
||||
// error decoding key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_DhSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_DhKeyDecode(const byte* input, word32* inOutIdx, DhKey* key,
|
||||
word32);
|
||||
/*!
|
||||
\ingroup Diffie-Hellman
|
||||
|
||||
\brief This function sets the key for a DhKey structure using the input
|
||||
private key parameters. Unlike wc_DhKeyDecode, this function does not
|
||||
require that the input key be formatted in DER format, and instead simply
|
||||
accepts the parsed input parameters p (prime) and g (base).
|
||||
|
||||
\return 0 Returned on successfully setting the key
|
||||
\return BAD_FUNC_ARG Returned if any of the input parameters
|
||||
evaluate to NULL
|
||||
\return MP_INIT_E Returned if there is an error initializing the key
|
||||
parameters for storage
|
||||
\return ASN_DH_KEY_E Returned if there is an error reading in the
|
||||
DH key parameters p and g
|
||||
|
||||
\param key pointer to the DhKey structure on which to set the key
|
||||
\param p pointer to the buffer containing the prime for use with the key
|
||||
\param pSz length of the input prime
|
||||
\param g pointer to the buffer containing the base for use with the key
|
||||
\param gSz length of the input base
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DhKey key;
|
||||
|
||||
byte p[] = { // initialize with prime };
|
||||
byte g[] = { // initialize with base };
|
||||
wc_DhKeyInit(&key);
|
||||
ret = wc_DhSetKey(key, p, sizeof(p), g, sizeof(g));
|
||||
|
||||
if ( ret != 0 ) {
|
||||
// error setting key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_DhKeyDecode
|
||||
*/
|
||||
WOLFSSL_API int wc_DhSetKey(DhKey* key, const byte* p, word32 pSz, const byte* g,
|
||||
word32 gSz);
|
||||
/*!
|
||||
\ingroup Diffie-Hellman
|
||||
|
||||
\brief This function loads the Diffie-Hellman parameters, p (prime)
|
||||
and g (base) out of the given input buffer, DER formatted.
|
||||
|
||||
\return 0 Returned on successfully extracting the DH parameters
|
||||
\return ASN_PARSE_E Returned if an error occurs while parsing the DER
|
||||
formatted DH certificate
|
||||
\return BUFFER_E Returned if there is inadequate space in p or g to
|
||||
store the parsed parameters
|
||||
|
||||
\parma input pointer to a buffer containing a DER formatted
|
||||
Diffie-Hellman certificate to parse
|
||||
\parma inSz size of the input buffer
|
||||
\parma p pointer to a buffer in which to store the parsed prime
|
||||
\parma pInOutSz pointer to a word32 object containing the available
|
||||
size in the p buffer. Will be overwritten with the number of bytes
|
||||
written to the buffer after completing the function call
|
||||
\parma g pointer to a buffer in which to store the parsed base
|
||||
\parma gInOutSz pointer to a word32 object containing the available size
|
||||
in the g buffer. Will be overwritten with the number of bytes written to
|
||||
the buffer after completing the function call
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte dhCert[] = { initialize with DER formatted certificate };
|
||||
byte p[MAX_DH_SIZE];
|
||||
byte g[MAX_DH_SIZE];
|
||||
word32 pSz = MAX_DH_SIZE;
|
||||
word32 gSz = MAX_DH_SIZE;
|
||||
|
||||
ret = wc_DhParamsLoad(dhCert, sizeof(dhCert), p, &pSz, g, &gSz);
|
||||
if ( ret != 0 ) {
|
||||
// error parsing inputs
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_DhSetKey
|
||||
\sa wc_DhKeyDecode
|
||||
*/
|
||||
WOLFSSL_API int wc_DhParamsLoad(const byte* input, word32 inSz, byte* p,
|
||||
word32* pInOutSz, byte* g, word32* gInOutSz);
|
||||
47
doc/dox_comments/header_files/doxygen_groups.h
Normal file
47
doc/dox_comments/header_files/doxygen_groups.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/*!
|
||||
\defgroup 3DES Algorithms - 3DES
|
||||
\defgroup AES Algorithms - AES
|
||||
\defgroup ARC4 Algorithms - ARC4
|
||||
\defgroup BLAKE2 Algorithms - BLAKE2
|
||||
\defgroup Camellia Algorithms - Camellia
|
||||
\defgroup ChaCha Algorithms - ChaCha
|
||||
\defgroup ChaCha20Poly1305 Algorithms - ChaCha20_Poly1305
|
||||
\defgroup Curve25519 Algorithms - Curve25519
|
||||
\defgroup DSA Algorithms - DSA
|
||||
\defgroup Diffie-Hellman Algorithms - Diffie-Hellman
|
||||
\defgroup ECC Algorithms - ECC
|
||||
\defgroup ED25519 Algorithms - ED25519
|
||||
\defgroup HC128 Algorithms - HC-128
|
||||
\defgroup HMAC Algorithms - HMAC
|
||||
\defgroup IDEA Algorithms - IDEA
|
||||
\defgroup MD2 Algorithms - MD2
|
||||
\defgroup MD4 Algorithms - MD4
|
||||
\defgroup MD5 Algorithms - MD5
|
||||
\defgroup PKCS7 Algorithms - PKCS7
|
||||
\defgroup Password Algorithms - Password Based
|
||||
\defgroup Poly1305 Algorithms - Poly1305
|
||||
\defgroup RIPEMD Algorithms - RIPEMD
|
||||
\defgroup RSA Algorithms - RSA
|
||||
\defgroup Rabbit Algorithms - Rabbit
|
||||
\defgroup SHA Algorithms - SHA 128/224/256/384/512
|
||||
\defgroup SRP Algorithms - SRP
|
||||
|
||||
\defgroup ASN ASN.1
|
||||
\defgroup Base_Encoding Base Encoding
|
||||
\defgroup CertManager CertManager API
|
||||
\defgroup Compression Compression
|
||||
\defgroup Error Error Reporting
|
||||
\defgroup Keys Key and Cert Conversion
|
||||
\defgroup Logging Logging
|
||||
\defgroup Math Math API
|
||||
\defgroup Memory Memory Handling
|
||||
\defgroup Random Random Number Generation
|
||||
\defgroup Signature Signature API
|
||||
\defgroup openSSL OpenSSL API
|
||||
\defgroup wolfCrypt wolfCrypt Init and Cleanup
|
||||
\defgroup TLS wolfSSL Initialization/Shutdown
|
||||
\defgroup CertsKeys wolfSSL Certificates and Keys
|
||||
\defgroup Setup wolfSSL Context and Session Set Up
|
||||
\defgroup IO wolfSSL Connection, Session, and I/O
|
||||
\defgroup Debug wolfSSL Error Handling and Reporting
|
||||
*/
|
||||
334
doc/dox_comments/header_files/dsa.h
Normal file
334
doc/dox_comments/header_files/dsa.h
Normal file
@@ -0,0 +1,334 @@
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief This function initializes a DsaKey object in order to use it for
|
||||
authentication via the Digital Signature Algorithm (DSA).
|
||||
|
||||
\return 0 Returned on success.
|
||||
\return BAD_FUNC_ARG Returned if a NULL key is passed in.
|
||||
|
||||
\param key pointer to the DsaKey structure to initialize
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DsaKey key;
|
||||
int ret;
|
||||
ret = wc_InitDsaKey(&key); // initialize DSA key
|
||||
\endcode
|
||||
|
||||
\sa wc_FreeDsaKey
|
||||
*/
|
||||
WOLFSSL_API int wc_InitDsaKey(DsaKey* key);
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief This function frees a DsaKey object after it has been used.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param key pointer to the DsaKey structure to free
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DsaKey key;
|
||||
// initialize key, use for authentication
|
||||
...
|
||||
wc_FreeDsaKey(&key); // free DSA key
|
||||
\endcode
|
||||
|
||||
\sa wc_FreeDsaKey
|
||||
*/
|
||||
WOLFSSL_API void wc_FreeDsaKey(DsaKey* key);
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief This function signs the input digest and stores the result in the
|
||||
output buffer, out.
|
||||
|
||||
\return 0 Returned on successfully signing the input digest
|
||||
\return MP_INIT_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_READ_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_CMP_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_INVMOD_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_EXPTMOD_E may be returned if there is an error in processing
|
||||
the DSA signature.
|
||||
\return MP_MOD_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_MUL_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_ADD_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_MULMOD_E may be returned if there is an error in processing
|
||||
the DSA signature.
|
||||
\return MP_TO_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_MEM may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
|
||||
\param digest pointer to the hash to sign
|
||||
\param out pointer to the buffer in which to store the signature
|
||||
\param key pointer to the initialized DsaKey structure with which to
|
||||
generate the signature
|
||||
\param rng pointer to an initialized RNG to use with the signature
|
||||
generation
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DsaKey key;
|
||||
// initialize DSA key, load private Key
|
||||
int ret;
|
||||
RNG rng;
|
||||
wc_InitRng(&rng);
|
||||
byte hash[] = { // initialize with hash digest };
|
||||
byte signature[40]; // signature will be 40 bytes (320 bits)
|
||||
|
||||
ret = wc_DsaSign(hash, signature, &key, &rng);
|
||||
if (ret != 0) {
|
||||
// error generating DSA signature
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_DsaVerify
|
||||
*/
|
||||
WOLFSSL_API int wc_DsaSign(const byte* digest, byte* out,
|
||||
DsaKey* key, WC_RNG* rng);
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief This function verifies the signature of a digest, given a private
|
||||
key. It stores whether the key properly verifies in the answer parameter,
|
||||
with 1 corresponding to a successful verification, and 0 corresponding to
|
||||
failed verification.
|
||||
|
||||
\return 0 Returned on successfully processing the verify request. Note:
|
||||
this does not mean that the signature is verified, only that the function
|
||||
succeeded
|
||||
\return MP_INIT_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_READ_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_CMP_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_INVMOD_E may be returned if there is an error in processing
|
||||
the DSA signature.
|
||||
\return MP_EXPTMOD_E may be returned if there is an error in processing
|
||||
the DSA signature.
|
||||
\return MP_MOD_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_MUL_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_ADD_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_MULMOD_E may be returned if there is an error in processing
|
||||
the DSA signature.
|
||||
\return MP_TO_E may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
\return MP_MEM may be returned if there is an error in processing the
|
||||
DSA signature.
|
||||
|
||||
\param digest pointer to the digest containing the subject of the signature
|
||||
\param sig pointer to the buffer containing the signature to verify
|
||||
\param key pointer to the initialized DsaKey structure with which to
|
||||
verify the signature
|
||||
\param answer pointer to an integer which will store whether the
|
||||
verification was successful
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DsaKey key;
|
||||
// initialize DSA key, load public Key
|
||||
|
||||
int ret;
|
||||
int verified;
|
||||
byte hash[] = { // initialize with hash digest };
|
||||
byte signature[] = { // initialize with signature to verify };
|
||||
ret = wc_DsaVerify(hash, signature, &key, &verified);
|
||||
if (ret != 0) {
|
||||
// error processing verify request
|
||||
} else if (answer == 0) {
|
||||
// invalid signature
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_DsaSign
|
||||
*/
|
||||
WOLFSSL_API int wc_DsaVerify(const byte* digest, const byte* sig,
|
||||
DsaKey* key, int* answer);
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief This function decodes a DER formatted certificate buffer containing
|
||||
a DSA public key, and stores the key in the given DsaKey structure. It
|
||||
also sets the inOutIdx parameter according to the length of the input read.
|
||||
|
||||
\return 0 Returned on successfully setting the public key for the DsaKey
|
||||
object
|
||||
\return ASN_PARSE_E Returned if there is an error in the encoding while
|
||||
reading the certificate buffer
|
||||
\return ASN_DH_KEY_E Returned if one of the DSA parameters is incorrectly
|
||||
formatted
|
||||
|
||||
\param input pointer to the buffer containing the DER formatted DSA
|
||||
public key
|
||||
\param inOutIdx pointer to an integer in which to store the final index
|
||||
of the certificate read
|
||||
\param key pointer to the DsaKey structure in which to store the public key
|
||||
\param inSz size of the input buffer
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret, idx=0;
|
||||
|
||||
DsaKey key;
|
||||
wc_InitDsaKey(&key);
|
||||
byte derBuff[] = { // DSA public key};
|
||||
ret = wc_DsaPublicKeyDecode(derBuff, &idx, &key, inSz);
|
||||
if (ret != 0) {
|
||||
// error reading public key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_InitDsaKey
|
||||
\sa wc_DsaPrivateKeyDecode
|
||||
*/
|
||||
WOLFSSL_API int wc_DsaPublicKeyDecode(const byte* input, word32* inOutIdx,
|
||||
DsaKey*, word32);
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief This function decodes a DER formatted certificate buffer containing
|
||||
a DSA private key, and stores the key in the given DsaKey structure. It
|
||||
also sets the inOutIdx parameter according to the length of the input read.
|
||||
|
||||
\return 0 Returned on successfully setting the private key for the DsaKey
|
||||
object
|
||||
\return ASN_PARSE_E Returned if there is an error in the encoding while
|
||||
reading the certificate buffer
|
||||
\return ASN_DH_KEY_E Returned if one of the DSA parameters is incorrectly
|
||||
formatted
|
||||
|
||||
\param input pointer to the buffer containing the DER formatted DSA
|
||||
private key
|
||||
\param inOutIdx pointer to an integer in which to store the final index
|
||||
of the certificate read
|
||||
\param key pointer to the DsaKey structure in which to store the private
|
||||
key
|
||||
\param inSz size of the input buffer
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret, idx=0;
|
||||
|
||||
DsaKey key;
|
||||
wc_InitDsaKey(&key);
|
||||
byte derBuff[] = { // DSA private key };
|
||||
ret = wc_DsaPrivateKeyDecode(derBuff, &idx, &key, inSz);
|
||||
if (ret != 0) {
|
||||
// error reading private key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_InitDsaKey
|
||||
\sa wc_DsaPublicKeyDecode
|
||||
*/
|
||||
WOLFSSL_API int wc_DsaPrivateKeyDecode(const byte* input, word32* inOutIdx,
|
||||
DsaKey*, word32);
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief Convert DsaKey key to DER format, write to output (inLen),
|
||||
return bytes written.
|
||||
|
||||
\return outLen Success, number of bytes written
|
||||
\return BAD_FUNC_ARG key or output are null or key->type is not
|
||||
DSA_PRIVATE.
|
||||
\return MEMORY_E Error allocating memory.
|
||||
|
||||
\param key Pointer to DsaKey structure to convert.
|
||||
\param output Pointer to output buffer for converted key.
|
||||
\param inLen Length of key input.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DsaKey key;
|
||||
WC_RNG rng;
|
||||
int derSz;
|
||||
int bufferSize = // Sufficient buffer size;
|
||||
byte der[bufferSize];
|
||||
|
||||
wc_InitDsaKey(&key);
|
||||
wc_InitRng(&rng);
|
||||
wc_MakeDsaKey(&rng, &key);
|
||||
derSz = wc_DsaKeyToDer(&key, der, bufferSize);
|
||||
\endcode
|
||||
|
||||
\sa wc_InitDsaKey
|
||||
\sa wc_FreeDsaKey
|
||||
\sa wc_MakeDsaKey
|
||||
*/
|
||||
WOLFSSL_API int wc_DsaKeyToDer(DsaKey* key, byte* output, word32 inLen);
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief Create a DSA key.
|
||||
|
||||
\return MP_OKAY Success
|
||||
\return BAD_FUNC_ARG Either rng or dsa is null.
|
||||
\return MEMORY_E Couldn't allocate memory for buffer.
|
||||
\return MP_INIT_E Error initializing mp_int
|
||||
|
||||
\param rng Pointer to WC_RNG structure.
|
||||
\param dsa Pointer to DsaKey structure.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WC_RNG rng;
|
||||
DsaKey dsa;
|
||||
wc_InitRng(&rng);
|
||||
wc_InitDsa(&dsa);
|
||||
if(wc_MakeDsaKey(&rng, &dsa) != 0)
|
||||
{
|
||||
// Error creating key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_InitDsaKey
|
||||
\sa wc_FreeDsaKey
|
||||
\sa wc_DsaSign
|
||||
*/
|
||||
WOLFSSL_API int wc_MakeDsaKey(WC_RNG *rng, DsaKey *dsa);
|
||||
/*!
|
||||
\ingroup DSA
|
||||
|
||||
\brief FIPS 186-4 defines valid for modulus_size values as
|
||||
(1024, 160) (2048, 256) (3072, 256)
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG rng or dsa is null or modulus_size is invalid.
|
||||
\return MEMORY_E Error attempting to allocate memory.
|
||||
|
||||
\param rng pointer to wolfCrypt rng.
|
||||
\param modulus_size 1024, 2048, or 3072 are valid values.
|
||||
\param dsa Pointer to a DsaKey structure.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
DsaKey key;
|
||||
WC_RNG rng;
|
||||
wc_InitDsaKey(&key);
|
||||
wc_InitRng(&rng);
|
||||
if(wc_MakeDsaParameters(&rng, 1024, &genKey) != 0)
|
||||
{
|
||||
// Handle error
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_MakeDsaKey
|
||||
\sa wc_DsaKeyToDer
|
||||
\sa wc_InitDsaKey
|
||||
*/
|
||||
WOLFSSL_API int wc_MakeDsaParameters(WC_RNG *rng, int modulus_size, DsaKey *dsa);
|
||||
1631
doc/dox_comments/header_files/ecc.h
Normal file
1631
doc/dox_comments/header_files/ecc.h
Normal file
File diff suppressed because it is too large
Load Diff
497
doc/dox_comments/header_files/ed25519.h
Normal file
497
doc/dox_comments/header_files/ed25519.h
Normal file
@@ -0,0 +1,497 @@
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function generates a new ed25519_key and stores it in key.
|
||||
|
||||
\retrun 0 Returned upon successfully making an ed25519_key
|
||||
\retrun BAD_FUNC_ARG Returned if rng or key evaluate to NULL, or if the
|
||||
specified key size is not 32 bytes (ed25519 has 32 byte keys)
|
||||
\retrun MEMORY_E Returned if there is an error allocating memory
|
||||
during function execution
|
||||
|
||||
\param rng pointer to an initialized RNG object with which to
|
||||
generate the key
|
||||
\param keysize length of key to generate. Should always be 32 for ed25519
|
||||
\param key pointer to the ed25519_key for which to generate a key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ed25519_key key;
|
||||
wc_ed25519_init(&key);
|
||||
RNG rng;
|
||||
wc_InitRng(&rng);
|
||||
wc_ed25519_make_key(&rng, 32, &key); // initialize 32 byte ed25519 key
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_init
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_make_key(WC_RNG* rng, int keysize, ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function signs a message digest using an ed25519_key object
|
||||
to guarantee authenticity.
|
||||
|
||||
\return 0 Returned upon successfully generating a signature for the
|
||||
message digest
|
||||
\return BAD_FUNC_ARG Returned any of the input parameters evaluate to
|
||||
NULL, or if the output buffer is too small to store the generated signature
|
||||
\return MEMORY_E Returned if there is an error allocating memory during
|
||||
function execution
|
||||
|
||||
\param in pointer to the buffer containing the message to sign
|
||||
\param inlen length of the message to sign
|
||||
\param out buffer in which to store the generated signature
|
||||
\param outlen max length of the output buffer. Will store the bytes
|
||||
written to out upon successfully generating a message signature
|
||||
\param key pointer to a private ed25519_key with which to generate the
|
||||
signature
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ed25519_key key;
|
||||
RNG rng;
|
||||
int ret, sigSz;
|
||||
|
||||
byte sig[64]; // will hold generated signature
|
||||
sigSz = sizeof(sig);
|
||||
byte message[] = { // initialize with message };
|
||||
|
||||
wc_InitRng(&rng); // initialize rng
|
||||
wc_ed25519_init(&key); // initialize key
|
||||
wc_ed25519_make_key(&rng, 32, &key); // make public/private key pair
|
||||
ret = wc_ed25519_sign_msg(message, sizeof(message), sig, &sigSz, &key);
|
||||
if ( ret != 0 ) {
|
||||
// error generating message signature
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_verify_msg
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_sign_msg(const byte* in, word32 inlen, byte* out,
|
||||
word32 *outlen, ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function verifies the ed25519 signature of a message to ensure
|
||||
authenticity. It returns the answer through stat, with 1 corresponding to
|
||||
a valid signature, and 0 corresponding to an invalid signature.
|
||||
|
||||
\return 0 Returned upon successfully performing the signature
|
||||
verification. Note: This does not mean that the signature is verified.
|
||||
The authenticity information is stored instead in stat
|
||||
\return BAD_FUNC_ARG Returned if any of the input parameters evaluate to
|
||||
NULL, or if the siglen does not match the actual length of a signature
|
||||
\return 1 Returned if verification completes, but the signature generated
|
||||
does not match the signature provided
|
||||
|
||||
\param sig pointer to the buffer containing the signature to verify
|
||||
\param siglen length of the signature to verify
|
||||
\param msg pointer to the buffer containing the message to verify
|
||||
\param msglen length of the message to verify
|
||||
\param stat pointer to the result of the verification. 1 indicates the
|
||||
message was successfully verified
|
||||
\param key pointer to a public ed25519 key with which to verify the
|
||||
signature
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ed25519_key key;
|
||||
int ret, verified = 0;
|
||||
|
||||
byte sig[] { // initialize with received signature };
|
||||
byte msg[] = { // initialize with message };
|
||||
// initialize key with received public key
|
||||
ret = wc_ed25519_verify_msg(sig, sizeof(sig), msg, sizeof(msg),
|
||||
&verified, &key);
|
||||
|
||||
if ( return < 0 ) {
|
||||
// error performing verification
|
||||
} else if ( verified == 0 )
|
||||
// the signature is invalid
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_sign_msg
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_verify_msg(const byte* sig, word32 siglen, const byte* msg,
|
||||
word32 msglen, int* stat, ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function initializes an ed25519_key object for future use
|
||||
with message verification.
|
||||
|
||||
\return 0 Returned upon successfully initializing the ed25519_key object
|
||||
\return BAD_FUNC_ARG Returned if key is NULL
|
||||
|
||||
\param key pointer to the ed25519_key object to initialize
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ed25519_key key;
|
||||
wc_ed25519_init(&key);
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_make_key
|
||||
\sa wc_ed25519_free
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_init(ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function frees an ed25519 object after it has been used.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param key pointer to the ed25519_key object to free
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ed25519_key key;
|
||||
// initialize key and perform secure exchanges
|
||||
...
|
||||
wc_ed25519_free(&key);
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_init
|
||||
*/
|
||||
WOLFSSL_API
|
||||
void wc_ed25519_free(ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function imports a public ed25519_key pair from a buffer
|
||||
containing the public key. This function will handle both compressed and
|
||||
uncompressed keys.
|
||||
|
||||
\return 0 Returned on successfully importing the ed25519_key
|
||||
\return BAD_FUNC_ARG Returned if in or key evaluate to NULL, or inLen is
|
||||
less than the size of an ed25519 key
|
||||
|
||||
\param in pointer to the buffer containing the public key
|
||||
\param inLen length of the buffer containing the public key
|
||||
\param key pointer to the ed25519_key object in which to store the
|
||||
public key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
byte pub[] = { // initialize ed25519 public key };
|
||||
|
||||
ed_25519 key;
|
||||
wc_ed25519_init_key(&key);
|
||||
ret = wc_ed25519_import_public(pub, sizeof(pub), &key);
|
||||
if ( ret != 0) {
|
||||
// error importing key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_import_private_key
|
||||
\sa wc_ed25519_export_public
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_import_public(const byte* in, word32 inLen, ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function imports a public/private ed25519 key pair from a
|
||||
pair of buffers. This function will handle both compressed and
|
||||
uncompressed keys.
|
||||
|
||||
\return 0 Returned on successfully importing the ed25519_key
|
||||
\return BAD_FUNC_ARG Returned if in or key evaluate to NULL, or if
|
||||
either privSz or pubSz are less than the size of an ed25519 key
|
||||
|
||||
\param priv pointer to the buffer containing the private key
|
||||
\param privSz size of the private key
|
||||
\param pub pointer to the buffer containing the public key
|
||||
\param pubSz length of the public key
|
||||
\param key pointer to the ed25519_key object in which to store the
|
||||
imported private/public key pair
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
byte priv[] = { // initialize with 32 byte private key };
|
||||
byte pub[] = { // initialize with the corresponding public key };
|
||||
|
||||
ed25519_key key;
|
||||
wc_ed25519_init_key(&key);
|
||||
ret = wc_ed25519_import_private_key(priv, sizeof(priv), pub,
|
||||
sizeof(pub), &key);
|
||||
if ( ret != 0) {
|
||||
// error importing key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_import_public_key
|
||||
\sa wc_ed25519_export_private_only
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_import_private_key(const byte* priv, word32 privSz,
|
||||
const byte* pub, word32 pubSz, ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function exports the private key from an ed25519_key
|
||||
structure. It stores the public key in the buffer out, and sets the bytes
|
||||
written to this buffer in outLen.
|
||||
|
||||
\return 0 Returned upon successfully exporting the public key
|
||||
\return BAD_FUNC_ARG Returned if any of the input values evaluate to NULL
|
||||
\return BUFFER_E Returned if the buffer provided is not large enough to
|
||||
store the private key. Upon returning this error, the function sets the
|
||||
size required in outLen
|
||||
|
||||
\param key pointer to an ed25519_key structure from which to export the
|
||||
public key
|
||||
\param out pointer to the buffer in which to store the public key
|
||||
\param outLen pointer to a word32 object with the size available in out.
|
||||
Set with the number of bytes written to out after successfully exporting
|
||||
the private key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
ed25519_key key;
|
||||
// initialize key, make key
|
||||
|
||||
char pub[32];
|
||||
word32 pubSz = sizeof(pub);
|
||||
|
||||
ret = wc_ed25519_export_public(&key, pub, &pubSz);
|
||||
if ( ret != 0) {
|
||||
// error exporting public key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_import_public_key
|
||||
\sa wc_ed25519_export_private_only
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_export_public(ed25519_key*, byte* out, word32* outLen);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function exports only the private key from an ed25519_key
|
||||
structure. It stores the private key in the buffer out, and sets
|
||||
the bytes written to this buffer in outLen.
|
||||
|
||||
\return 0 Returned upon successfully exporting the private key
|
||||
\return ECC_BAD_ARG_E Returned if any of the input values evaluate to NULL
|
||||
\return BUFFER_E Returned if the buffer provided is not large enough
|
||||
to store the private key
|
||||
|
||||
\param key pointer to an ed25519_key structure from which to export
|
||||
the private key
|
||||
\param out pointer to the buffer in which to store the private key
|
||||
\param outLen pointer to a word32 object with the size available in
|
||||
out. Set with the number of bytes written to out after successfully
|
||||
exporting the private key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
ed25519_key key;
|
||||
// initialize key, make key
|
||||
|
||||
char priv[32]; // 32 bytes because only private key
|
||||
word32 privSz = sizeof(priv);
|
||||
ret = wc_ed25519_export_private_only(&key, priv, &privSz);
|
||||
if ( ret != 0) {
|
||||
// error exporting private key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_export_public
|
||||
\sa wc_ed25519_import_private_key
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_export_private_only(ed25519_key* key, byte* out, word32* outLen);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief Export the private key, including public part.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if any argument is null.
|
||||
\return BUFFER_E Returns if outLen is less than ED25519_PRV_KEY_SIZE
|
||||
|
||||
\param key ed25519_key struct to export from.
|
||||
\param out Destination for private key.
|
||||
\param outLen Max length of output, set to the length of the exported
|
||||
private key.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ed25519_key key;
|
||||
wc_ed25519_init(&key);
|
||||
|
||||
RNG rng;
|
||||
wc_InitRng(&rng);
|
||||
|
||||
wc_ed25519_make_key(&rng, 32, &key); // initialize 32 byte ed25519 key
|
||||
|
||||
byte out[32]; // out needs to be a sufficient buffer size
|
||||
word32 outLen = sizeof(out);
|
||||
int key_size = wc_ed25519_export_private(&key, out, &outLen);
|
||||
if(key_size == BUFFER_E)
|
||||
{
|
||||
// Check size of out compared to outLen to see if function reset outLen
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa none
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_export_private(ed25519_key* key, byte* out, word32* outLen);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief Export full private key and public key.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG: Returns if any argument is null.
|
||||
\return BUFFER_E: Returns if outLen is less than ED25519_PRV_KEY_SIZE
|
||||
or ED25519_PUB_KEY_SIZE
|
||||
|
||||
\param key The ed25519_key structure to export to.
|
||||
\param priv Byte array to store private key.
|
||||
\param privSz Size of priv buffer.
|
||||
\param pub Byte array to store public key.
|
||||
\param pubSz Size of pub buffer.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int ret;
|
||||
ed25519_key key;
|
||||
// initialize key, make key
|
||||
|
||||
char pub[32];
|
||||
word32 pubSz = sizeof(pub);
|
||||
char priv[32];
|
||||
word32 privSz = sizeof(priv);
|
||||
|
||||
ret = wc_ed25519_export_key(&key, priv, &pubSz, pub, &pubSz);
|
||||
if ( ret != 0) {
|
||||
// error exporting public key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_export_private
|
||||
\sa wc_ed25519_export_public
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_export_key(ed25519_key* key,
|
||||
byte* priv, word32 *privSz,
|
||||
byte* pub, word32 *pubSz);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function returns the key size of an ed25519_key structure,
|
||||
or 32 bytes.
|
||||
|
||||
\return Success Given a valid key, returns ED25519_KEY_SIZE (32 bytes)
|
||||
\return BAD_FUNC_ARGS Returned if the given key is NULL
|
||||
|
||||
\param key pointer to an ed25519_key structure for which to get the
|
||||
key size
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int keySz;
|
||||
ed25519_key key;
|
||||
// initialize key, make key
|
||||
keySz = wc_ed25519_size(&key);
|
||||
if ( keySz == 0) {
|
||||
// error determining key size
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_make_key
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_size(ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief Returns the private key size (secret + public) in bytes.
|
||||
|
||||
\return BAD_FUNC_ARG Returns if key argument is null.
|
||||
\return ED25519_PRV_KEY_SIZE The size of the private key.
|
||||
|
||||
\param key The ed25119_key struct
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ed25519_key key;
|
||||
wc_ed25519_init(&key);
|
||||
|
||||
RNG rng;
|
||||
wc_InitRng(&rng);
|
||||
|
||||
wc_ed25519_make_key(&rng, 32, &key); // initialize 32 byte ed25519 key
|
||||
int key_size = wc_ed25519_priv_size(&key);
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25119_pub_size
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_priv_size(ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief Returns the compressed key size in bytes (public key).
|
||||
|
||||
\return BAD_FUNC_ARG returns if key is null.
|
||||
\return ED25519_PUB_KEY_SIZE Size of key.
|
||||
|
||||
\param key Pointer to the ed25519_key struct.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
ed25519_key key;
|
||||
wc_ed25519_init(&key);
|
||||
RNG rng;
|
||||
wc_InitRng(&rng);
|
||||
|
||||
wc_ed25519_make_key(&rng, 32, &key); // initialize 32 byte ed25519 key
|
||||
int key_size = wc_ed25519_pub_size(&key);
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_priv_size
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_pub_size(ed25519_key* key);
|
||||
/*!
|
||||
\ingroup ED25519
|
||||
|
||||
\brief This function returns the size of an ed25519 signature (64 in bytes).
|
||||
|
||||
\return Success Given a valid key, returns ED25519_SIG_SIZE (64 in bytes)
|
||||
\return 0 Returned if the given key is NULL
|
||||
|
||||
\param key pointer to an ed25519_key structure for which to get the
|
||||
signature size
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int sigSz;
|
||||
ed25519_key key;
|
||||
// initialize key, make key
|
||||
|
||||
sigSz = wc_ed25519_sig_size(&key);
|
||||
if ( sigSz == 0) {
|
||||
// error determining sig size
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ed25519_sign_msg
|
||||
*/
|
||||
WOLFSSL_API
|
||||
int wc_ed25519_sig_size(ed25519_key* key);
|
||||
48
doc/dox_comments/header_files/error-crypt.h
Normal file
48
doc/dox_comments/header_files/error-crypt.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/*!
|
||||
\ingroup Error
|
||||
|
||||
\brief This function stores the error string for a particular error code
|
||||
in the given buffer.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param error error code for which to get the string
|
||||
\param buffer buffer in which to store the error string. Buffer should be
|
||||
at least WOLFSSL_MAX_ERROR_SZ (80 bytes) long
|
||||
|
||||
_Example_
|
||||
\code
|
||||
char errorMsg[WOLFSSL_MAX_ERROR_SZ];
|
||||
int err = wc_some_function();
|
||||
|
||||
if( err != 0) { // error occurred
|
||||
wc_ErrorString(err, errorMsg);
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_GetErrorString
|
||||
*/
|
||||
WOLFSSL_API void wc_ErrorString(int err, char* buff);
|
||||
/*!
|
||||
\ingroup Error
|
||||
|
||||
\brief This function returns the error string for a particular error code.
|
||||
|
||||
\return string Returns the error string for an error code as a
|
||||
string literal.
|
||||
|
||||
\param error error code for which to get the string
|
||||
|
||||
_Example_
|
||||
\code
|
||||
char * errorMsg;
|
||||
int err = wc_some_function();
|
||||
|
||||
if( err != 0) { // error occurred
|
||||
errorMsg = wc_GetErrorString(err);
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_ErrorString
|
||||
*/
|
||||
WOLFSSL_API const char* wc_GetErrorString(int error);
|
||||
385
doc/dox_comments/header_files/evp.h
Normal file
385
doc/dox_comments/header_files/evp.h
Normal file
@@ -0,0 +1,385 @@
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Getter functions for the respective WOLFSSL_EVP_CIPHER pointers.
|
||||
wolfSSL_EVP_init() must be called once in the program first to populate
|
||||
these cipher strings. WOLFSSL_DES_ECB macro must be defined for
|
||||
wolfSSL_EVP_des_ede3_ecb().
|
||||
|
||||
\return pointer Returns a WOLFSSL_EVP_CIPHER pointer for DES EDE3 operations.
|
||||
|
||||
\param none No parameters.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
printf("block size des ede3 cbc = %d\n",
|
||||
wolfSSL_EVP_CIPHER_block_size(wolfSSL_EVP_des_ede3_cbc()));
|
||||
printf("block size des ede3 ecb = %d\n",
|
||||
wolfSSL_EVP_CIPHER_block_size(wolfSSL_EVP_des_ede3_ecb()));
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_init
|
||||
*/
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ede3_ecb(void);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Getter functions for the respective WOLFSSL_EVP_CIPHER pointers.
|
||||
wolfSSL_EVP_init() must be called once in the program first to populate
|
||||
these cipher strings. WOLFSSL_DES_ECB macro must be defined for
|
||||
wolfSSL_EVP_des_ecb().
|
||||
|
||||
\return pointer Returns a WOLFSSL_EVP_CIPHER pointer for DES operations.
|
||||
|
||||
\param none No parameters.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER* cipher;
|
||||
cipher = wolfSSL_EVP_des_ecb();
|
||||
…
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_init
|
||||
*/
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_cbc(void);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Function for initializing WOLFSSL_EVP_MD_CTX. This function is a
|
||||
wrapper for wolfSSL_EVP_DigestInit() because wolfSSL does not
|
||||
use WOLFSSL_ENGINE.
|
||||
|
||||
\return SSL_SUCCESS If successfully set.
|
||||
\return SSL_FAILURE If not successful.
|
||||
|
||||
\param ctx structure to initialize.
|
||||
\param type type of hash to do, for example SHA.
|
||||
\param impl engine to use. N/A for wolfSSL, can be NULL.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_MD_CTX* md = NULL;
|
||||
wolfCrypt_Init();
|
||||
md = wolfSSL_EVP_MD_CTX_new();
|
||||
if (md == NULL) {
|
||||
printf("error setting md\n");
|
||||
return -1;
|
||||
}
|
||||
printf("cipher md init ret = %d\n", wolfSSL_EVP_DigestInit_ex(md,
|
||||
wolfSSL_EVP_sha1(), e));
|
||||
//free resources
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_MD_CTX_new
|
||||
\sa wolfCrypt_Init
|
||||
\sa wolfSSL_EVP_MD_CTX_free
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestInit_ex(WOLFSSL_EVP_MD_CTX* ctx,
|
||||
const WOLFSSL_EVP_MD* type,
|
||||
WOLFSSL_ENGINE *impl);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Function for initializing WOLFSSL_EVP_CIPHER_CTX. This function is a
|
||||
wrapper for wolfSSL_CipherInit() because wolfSSL does not
|
||||
use WOLFSSL_ENGINE.
|
||||
|
||||
\return SSL_SUCCESS If successfully set.
|
||||
\return SSL_FAILURE If not successful.
|
||||
|
||||
\param ctx structure to initialize.
|
||||
\param type type of encryption/decryption to do, for example AES.
|
||||
\param impl engine to use. N/A for wolfSSL, can be NULL.
|
||||
\param key key to set .
|
||||
\param iv iv if needed by algorithm.
|
||||
\param enc encryption (1) or decryption (0) flag.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER_CTX* ctx = NULL;
|
||||
WOLFSSL_ENGINE* e = NULL;
|
||||
unsigned char key[16];
|
||||
unsigned char iv[12];
|
||||
wolfCrypt_Init();
|
||||
ctx = wolfSSL_EVP_CIPHER_CTX_new();
|
||||
if (ctx == NULL) {
|
||||
printf("issue creating ctx\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("cipher init ex error ret = %d\n", wolfSSL_EVP_CipherInit_ex(NULL,
|
||||
EVP_aes_128_ cbc(), e, key, iv, 1));
|
||||
printf("cipher init ex success ret = %d\n", wolfSSL_EVP_CipherInit_ex(ctx,
|
||||
EVP_aes_128_c bc(), e, key, iv, 1));
|
||||
// free resources
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_new
|
||||
\sa wolfCrypt_Init
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_free
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_CipherInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
WOLFSSL_ENGINE *impl,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv,
|
||||
int enc);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Function for initializing WOLFSSL_EVP_CIPHER_CTX. This function is a
|
||||
wrapper for wolfSSL_EVP_CipherInit() because wolfSSL does not use
|
||||
WOLFSSL_ENGINE. Sets encrypt flag to be encrypt.
|
||||
|
||||
\return SSL_SUCCESS If successfully set.
|
||||
\return SSL_FAILURE If not successful.
|
||||
|
||||
\param ctx structure to initialize.
|
||||
\param type type of encryption to do, for example AES.
|
||||
\param impl engine to use. N/A for wolfSSL, can be NULL.
|
||||
\param key key to use.
|
||||
\param iv iv to use.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER_CTX* ctx = NULL;
|
||||
wolfCrypt_Init();
|
||||
ctx = wolfSSL_EVP_CIPHER_CTX_new();
|
||||
if (ctx == NULL) {
|
||||
printf("error setting ctx\n");
|
||||
return -1;
|
||||
}
|
||||
printf("cipher ctx init ret = %d\n", wolfSSL_EVP_EncryptInit_ex(ctx,
|
||||
wolfSSL_EVP_aes_128_cbc(), e, key, iv));
|
||||
//free resources
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_new
|
||||
\sa wolfCrypt_Init
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_free
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_EncryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
WOLFSSL_ENGINE *impl,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Function for initializing WOLFSSL_EVP_CIPHER_CTX. This function is a
|
||||
wrapper for wolfSSL_EVP_CipherInit() because wolfSSL does not use
|
||||
WOLFSSL_ENGINE. Sets encrypt flag to be decrypt.
|
||||
|
||||
\return SSL_SUCCESS If successfully set.
|
||||
\return SSL_FAILURE If not successful.
|
||||
|
||||
\param ctx structure to initialize.
|
||||
\param type type of encryption/decryption to do, for example AES.
|
||||
\param impl engine to use. N/A for wolfSSL, can be NULL.
|
||||
\param key key to set .
|
||||
\param iv iv if needed by algorithm.
|
||||
\param enc encryption (1) or decryption (0) flag.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER_CTX* ctx = NULL;
|
||||
WOLFSSL_ENGINE* e = NULL;
|
||||
unsigned char key[16];
|
||||
unsigned char iv[12];
|
||||
|
||||
wolfCrypt_Init();
|
||||
|
||||
ctx = wolfSSL_EVP_CIPHER_CTX_new();
|
||||
if (ctx == NULL) {
|
||||
printf("issue creating ctx\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("cipher init ex error ret = %d\n", wolfSSL_EVP_DecryptInit_ex(NULL,
|
||||
EVP_aes_128_ cbc(), e, key, iv, 1));
|
||||
printf("cipher init ex success ret = %d\n", wolfSSL_EVP_DecryptInit_ex(ctx,
|
||||
EVP_aes_128_c bc(), e, key, iv, 1));
|
||||
// free resources
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_new
|
||||
\sa wolfCrypt_Init
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_free
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_DecryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
WOLFSSL_ENGINE *impl,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Function for encrypting/decrypting data. In buffer is added to be
|
||||
encrypted or decrypted and out buffer holds the results. outl will be the
|
||||
length of encrypted/decrypted information.
|
||||
|
||||
\return SSL_SUCCESS If successfull.
|
||||
\return SSL_FAILURE If not successful.
|
||||
|
||||
\param ctx structure to get cipher type from.
|
||||
\param out buffer to hold output.
|
||||
\param outl adjusted to be size of output.
|
||||
\param in buffer to perform operation on.
|
||||
\param inl length of input buffer.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER_CTX* ctx = NULL;
|
||||
unsigned char out[100];
|
||||
int outl;
|
||||
unsigned char in[100];
|
||||
int inl = 100;
|
||||
|
||||
ctx = wolfSSL_EVP_CIPHER_CTX_new();
|
||||
// set up ctx
|
||||
ret = wolfSSL_EVP_CipherUpdate(ctx, out, outl, in, inl);
|
||||
// check ret value
|
||||
// buffer out holds outl bytes of data
|
||||
// free resources
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_new
|
||||
\sa wolfCrypt_Init
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_free
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_CipherUpdate(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl,
|
||||
const unsigned char *in, int inl);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief This function performs the final cipher operations adding in
|
||||
padding. If WOLFSSL_EVP_CIPH_NO_PADDING flag is set in
|
||||
WOLFSSL_EVP_CIPHER_CTX structure then 1 is returned and no
|
||||
encryption/decryption is done. If padding flag is seti padding is added and
|
||||
encrypted when ctx is set to encrypt, padding values are checked when set
|
||||
to decrypt.
|
||||
|
||||
\return 1 Returned on success.
|
||||
\return 0 If encountering a failure.
|
||||
|
||||
\param ctx structure to decrypt/encrypt with.
|
||||
\param out buffer for final decrypt/encrypt.
|
||||
\param out1 size of out buffer when data has been added by function.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER_CTX* ctx;
|
||||
int out1;
|
||||
unsigned char out[64];
|
||||
// create ctx
|
||||
wolfSSL_EVP_CipherFinal(ctx, out, &out1);
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_CTX_new
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_CipherFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Setter function for WOLFSSL_EVP_CIPHER_CTX structure key length.
|
||||
|
||||
\return SSL_SUCCESS If successfully set.
|
||||
\return SSL_FAILURE If failed to set key length.
|
||||
|
||||
\param ctx structure to set key length.
|
||||
\param keylen key length.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER_CTX* ctx;
|
||||
int keylen;
|
||||
// create ctx
|
||||
wolfSSL_EVP_CIPHER_CTX_set_key_length(ctx, keylen);
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_flags
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_key_length(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
int keylen);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief This is a getter function for the ctx block size.
|
||||
|
||||
\return size Returns ctx->block_size.
|
||||
|
||||
\param ctx the cipher ctx to get block size of.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
const WOLFSSL_CVP_CIPHER_CTX* ctx;
|
||||
//set up ctx
|
||||
printf(“block size = %d\n”, wolfSSL_EVP_CIPHER_CTX_block_size(ctx));
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_block_size
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_block_size(const WOLFSSL_EVP_CIPHER_CTX *ctx);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief This is a getter function for the block size of cipher.
|
||||
|
||||
\return size returns the block size.
|
||||
|
||||
\param cipher cipher to get block size of.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
printf(“block size = %d\n”,
|
||||
wolfSSL_EVP_CIPHER_block_size(wolfSSL_EVP_aes_256_ecb()));
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_aes_256_ctr
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_block_size(const WOLFSSL_EVP_CIPHER *cipher);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Setter function for WOLFSSL_EVP_CIPHER_CTX structure.
|
||||
|
||||
\return none No returns.
|
||||
|
||||
\param ctx structure to set flag.
|
||||
\param flag flag to set in structure.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER_CTX* ctx;
|
||||
int flag;
|
||||
// create ctx
|
||||
wolfSSL_EVP_CIPHER_CTX_set_flags(ctx, flag);
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_flags
|
||||
*/
|
||||
WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_set_flags(WOLFSSL_EVP_CIPHER_CTX *ctx, int flags);
|
||||
/*!
|
||||
\ingroup openSSL
|
||||
|
||||
\brief Setter function for WOLFSSL_EVP_CIPHER_CTX structure to use padding.
|
||||
|
||||
\return SSL_SUCCESS If successfully set.
|
||||
\return BAD_FUNC_ARG If null argument passed in.
|
||||
|
||||
\param ctx structure to set padding flag.
|
||||
\param padding 0 for not setting padding, 1 for setting padding.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
WOLFSSL_EVP_CIPHER_CTX* ctx;
|
||||
// create ctx
|
||||
wolfSSL_EVP_CIPHER_CTX_set_padding(ctx, 1);
|
||||
\endcode
|
||||
|
||||
\sa wolfSSL_EVP_CIPHER_flags
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_padding(WOLFSSL_EVP_CIPHER_CTX *c, int pad);
|
||||
235
doc/dox_comments/header_files/hash.h
Normal file
235
doc/dox_comments/header_files/hash.h
Normal file
@@ -0,0 +1,235 @@
|
||||
/*!
|
||||
\ingroup wolfCrypt
|
||||
|
||||
\brief This function will return the OID for the wc_HashType provided.
|
||||
|
||||
\return OID returns value greater than 0
|
||||
\return HASH_TYPE_E hash type not supported.
|
||||
\return BAD_FUNC_ARG one of the provided arguments is incorrect.
|
||||
|
||||
\param hash_type A hash type from the “enum wc_HashType” such
|
||||
as “WC_HASH_TYPE_SHA256”.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
enum wc_HashType hash_type = WC_HASH_TYPE_SHA256;
|
||||
int oid = wc_HashGetOID(hash_type);
|
||||
if (oid > 0) {
|
||||
// Success
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_HashGetDigestSize
|
||||
\sa wc_Hash
|
||||
*/
|
||||
WOLFSSL_API int wc_HashGetOID(enum wc_HashType hash_type);
|
||||
/*!
|
||||
\ingroup wolfCrypt
|
||||
|
||||
\brief This function returns the size of the digest (output) for a
|
||||
hash_type. The returns size is used to make sure the output buffer
|
||||
provided to wc_Hash is large enough.
|
||||
|
||||
\return Success A positive return value indicates the digest size
|
||||
for the hash.
|
||||
\return Error Returns HASH_TYPE_E if hash_type is not supported.
|
||||
\return Failure Returns BAD_FUNC_ARG if an invalid hash_type was used.
|
||||
|
||||
\param hash_type A hash type from the “enum wc_HashType” such as
|
||||
“WC_HASH_TYPE_SHA256”.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int hash_len = wc_HashGetDigestSize(hash_type);
|
||||
if (hash_len <= 0) {
|
||||
WOLFSSL_MSG("Invalid hash type/len");
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Hash
|
||||
*/
|
||||
WOLFSSL_API int wc_HashGetDigestSize(enum wc_HashType hash_type);
|
||||
/*!
|
||||
\ingroup wolfCrypt
|
||||
|
||||
\brief This function performs a hash on the provided data buffer
|
||||
and returns it in the hash buffer provided.
|
||||
|
||||
\return 0 Success, else error (such as BAD_FUNC_ARG or BUFFER_E).
|
||||
|
||||
\param hash_type A hash type from the “enum wc_HashType”
|
||||
such as “WC_HASH_TYPE_SHA256”.
|
||||
\param data Pointer to buffer containing the data to hash.
|
||||
\param data_len Length of the data buffer.
|
||||
\param hash Pointer to buffer used to output the final hash to.
|
||||
\param hash_len Length of the hash buffer.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
enum wc_HashType hash_type = WC_HASH_TYPE_SHA256;
|
||||
int hash_len = wc_HashGetDigestSize(hash_type);
|
||||
if (hash_len > 0) {
|
||||
int ret = wc_Hash(hash_type, data, data_len, hash_data, hash_len);
|
||||
if(ret == 0) {
|
||||
// Success
|
||||
}
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_HashGetDigestSize
|
||||
*/
|
||||
WOLFSSL_API int wc_Hash(enum wc_HashType hash_type,
|
||||
const byte* data, word32 data_len,
|
||||
byte* hash, word32 hash_len);
|
||||
/*!
|
||||
\ingroup MD5
|
||||
|
||||
\brief Convenience function, handles all the hashing and places the
|
||||
result into hash.
|
||||
|
||||
\return 0 Returned upon successfully hashing the data.
|
||||
\return Memory_E memory error, unable to allocate memory. This is only
|
||||
possible with the small stack option enabled.
|
||||
|
||||
\param data the data to hash
|
||||
\param len the length of data
|
||||
\param hash Byte array to hold hash value.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
const byte* data;
|
||||
word32 data_len;
|
||||
byte* hash;
|
||||
int ret;
|
||||
...
|
||||
ret = wc_Md5Hash(data, data_len, hash);
|
||||
if (ret != 0) {
|
||||
// Md5 Hash Failure Case.
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Md5Hash
|
||||
\sa wc_Md5Final
|
||||
\sa wc_InitMd5
|
||||
*/
|
||||
WOLFSSL_API int wc_Md5Hash(const byte* data, word32 len, byte* hash);
|
||||
/*!
|
||||
\ingroup SHA
|
||||
|
||||
\brief Convenience function, handles all the hashing and places the
|
||||
result into hash.
|
||||
|
||||
\return 0 Returned upon successfully ….
|
||||
\return Memory_E memory error, unable to allocate memory. This is only
|
||||
possible with the small stack option enabled.
|
||||
|
||||
\param data the data to hash
|
||||
\param len the length of data
|
||||
\param hash Byte array to hold hash value.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
none
|
||||
\endcode
|
||||
|
||||
\sa wc_ShaHash
|
||||
\sa wc_ShaFinal
|
||||
\sa wc_InitSha
|
||||
*/
|
||||
WOLFSSL_API int wc_ShaHash(const byte*, word32, byte*);
|
||||
/*!
|
||||
\ingroup SHA
|
||||
|
||||
\brief Convenience function, handles all the hashing and places the
|
||||
result into hash.
|
||||
|
||||
\return 0 Returned upon successfully …
|
||||
\return Memory_E memory error, unable to allocate memory. This is only
|
||||
possible with the small stack option enabled.
|
||||
|
||||
\param data the data to hash
|
||||
\param len the length of data
|
||||
\param hash Byte array to hold hash value.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
none
|
||||
\endcode
|
||||
|
||||
\sa wc_Sha256Hash
|
||||
\sa wc_Sha256Final
|
||||
\sa wc_InitSha256
|
||||
*/
|
||||
WOLFSSL_API int wc_Sha256Hash(const byte*, word32, byte*);
|
||||
/*!
|
||||
\ingroup SHA
|
||||
|
||||
\brief Convenience function, handles all the hashing and places the
|
||||
result into hash.
|
||||
|
||||
\return 0 Success
|
||||
\return <0 Error
|
||||
|
||||
\param data the data to hash
|
||||
\param len the length of data
|
||||
\param hash Byte array to hold hash value.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
none
|
||||
\endcode
|
||||
|
||||
\sa wc_InitSha224
|
||||
\sa wc_Sha224Update
|
||||
\sa wc_Sha224Final
|
||||
*/
|
||||
WOLFSSL_API int wc_Sha224Hash(const byte*, word32, byte*);
|
||||
/*!
|
||||
\ingroup SHA
|
||||
|
||||
\brief Convenience function, handles all the hashing and places the
|
||||
result into hash.
|
||||
|
||||
\return 0 Returned upon successfully hashing the inputted data
|
||||
\return Memory_E memory error, unable to allocate memory. This is only
|
||||
possible with the small stack option enabled.
|
||||
|
||||
\param data the data to hash
|
||||
\param len the length of data
|
||||
\param hash Byte array to hold hash value.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
none
|
||||
\endcode
|
||||
|
||||
\sa wc_Sha512Hash
|
||||
\sa wc_Sha512Final
|
||||
\sa wc_InitSha512
|
||||
*/
|
||||
WOLFSSL_API int wc_Sha512Hash(const byte*, word32, byte*);
|
||||
/*!
|
||||
\ingroup SHA
|
||||
|
||||
\brief Convenience function, handles all the hashing and places the
|
||||
result into hash.
|
||||
|
||||
\return 0 Returned upon successfully hashing the data
|
||||
\return Memory_E memory error, unable to allocate memory. This is only
|
||||
possible with the small stack option enabled.
|
||||
|
||||
\param data the data to hash
|
||||
\param len the length of data
|
||||
\param hash Byte array to hold hash value.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
none
|
||||
\endcode
|
||||
|
||||
\sa wc_Sha384Hash
|
||||
\sa wc_Sha384Final
|
||||
\sa wc_InitSha384
|
||||
*/
|
||||
WOLFSSL_API int wc_Sha384Hash(const byte*, word32, byte*);
|
||||
65
doc/dox_comments/header_files/hc128.h
Normal file
65
doc/dox_comments/header_files/hc128.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/*!
|
||||
\ingroup HC128
|
||||
|
||||
\brief This function encrypts or decrypts a message of any size from the
|
||||
input buffer input, and stores the resulting plaintext/ciphertext in
|
||||
the output buffer output.
|
||||
|
||||
\return 0 Returned upon successfully encrypting/decrypting the given input
|
||||
\return MEMORY_E Returned if the input and output buffers are not aligned
|
||||
along a 4-byte boundary, and there is an error allocating memory
|
||||
\return BAD_ALIGN_E Returned if the input or output buffers are not
|
||||
aligned along a 4-byte boundary, and NO_WOLFSSL_ALLOC_ALIGN is defined
|
||||
|
||||
\param ctx pointer to a HC-128 context object with an initialized key
|
||||
to use for encryption or decryption
|
||||
\param output buffer in which to store the processed input
|
||||
\param input buffer containing the plaintext to encrypt or the
|
||||
ciphertext to decrypt
|
||||
\param msglen length of the plaintext to encrypt or the ciphertext
|
||||
to decrypt
|
||||
|
||||
_Example_
|
||||
\code
|
||||
HC128 enc;
|
||||
byte key[] = { // initialize with key };
|
||||
byte iv[] = { // initialize with iv };
|
||||
wc_Hc128_SetKey(&enc, key, iv);
|
||||
|
||||
byte msg[] = { // initialize with message };
|
||||
byte cipher[sizeof(msg)];
|
||||
|
||||
if (wc_Hc128_Process(*enc, cipher, plain, sizeof(plain)) != 0) {
|
||||
// error encrypting msg
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_Hc128_SetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_Hc128_Process(HC128*, byte*, const byte*, word32);
|
||||
/*!
|
||||
\ingroup HC128
|
||||
|
||||
\brief This function initializes an HC128 context object by
|
||||
setting its key and iv.
|
||||
|
||||
\return 0 Returned upon successfully setting the key and iv
|
||||
for the HC128 context object
|
||||
|
||||
\param ctx pointer to an HC-128 context object to initialize
|
||||
\param key pointer to the buffer containing the 16 byte key to
|
||||
use with encryption/decryption
|
||||
\param iv pointer to the buffer containing the 16 byte iv (nonce)
|
||||
with which to initialize the HC128 object
|
||||
|
||||
_Example_
|
||||
\code
|
||||
HC128 enc;
|
||||
byte key[] = { // initialize with key };
|
||||
byte iv[] = { // initialize with iv };
|
||||
wc_Hc128_SetKey(&enc, key, iv);
|
||||
\endcode
|
||||
|
||||
\sa wc_Hc128_Process
|
||||
*/
|
||||
WOLFSSL_API int wc_Hc128_SetKey(HC128*, const byte* key, const byte* iv);
|
||||
168
doc/dox_comments/header_files/hmac.h
Normal file
168
doc/dox_comments/header_files/hmac.h
Normal file
@@ -0,0 +1,168 @@
|
||||
/*!
|
||||
\ingroup HMAC
|
||||
|
||||
\brief This function initializes an Hmac object, setting its
|
||||
encryption type, key and HMAC length.
|
||||
|
||||
\return 0 Returned on successfully initializing the Hmac object
|
||||
\return BAD_FUNC_ARG Returned if the input type is invalid. Valid options
|
||||
are: MD5, SHA, SHA256, SHA384, SHA512, BLAKE2B_ID
|
||||
\return MEMORY_E Returned if there is an error allocating memory for the
|
||||
structure to use for hashing
|
||||
\return HMAC_MIN_KEYLEN_E May be returned when using a FIPS implementation
|
||||
and the key length specified is shorter than the minimum acceptable
|
||||
FIPS standard
|
||||
|
||||
\param hmac pointer to the Hmac object to initialize
|
||||
\param type type specifying which encryption method the Hmac object
|
||||
should use. Valid options are: MD5, SHA, SHA256, SHA384, SHA512, BLAKE2B_ID
|
||||
\param key pointer to a buffer containing the key with which to
|
||||
initialize the Hmac object
|
||||
\param length length of the key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Hmac hmac;
|
||||
byte key[] = { // initialize with key to use for encryption };
|
||||
if (wc_HmacSetKey(&hmac, MD5, key, sizeof(key)) != 0) {
|
||||
// error initializing Hmac object
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_HmacUpdate
|
||||
\sa wc_HmacFinal
|
||||
*/
|
||||
WOLFSSL_API int wc_HmacSetKey(Hmac*, int type, const byte* key, word32 keySz);
|
||||
/*!
|
||||
\ingroup HMAC
|
||||
|
||||
\brief This function updates the message to authenticate using HMAC.
|
||||
It should be called after the Hmac object has been initialized with
|
||||
wc_HmacSetKey. This function may be called multiple times to update
|
||||
the message to hash. After calling wc_HmacUpdate as desired, one should
|
||||
call wc_HmacFinal to obtain the final authenticated message tag.
|
||||
|
||||
\return 0 Returned on successfully updating the message to authenticate
|
||||
\return MEMORY_E Returned if there is an error allocating memory for
|
||||
use with a hashing algorithm
|
||||
|
||||
\param hmac pointer to the Hmac object for which to update the message
|
||||
\param msg pointer to the buffer containing the message to append
|
||||
\param length length of the message to append
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Hmac hmac;
|
||||
byte msg[] = { // initialize with message to authenticate };
|
||||
byte msg2[] = { // initialize with second half of message };
|
||||
// initialize hmac
|
||||
if( wc_HmacUpdate(&hmac, msg, sizeof(msg)) != 0) {
|
||||
// error updating message
|
||||
}
|
||||
if( wc_HmacUpdate(&hmac, msg2, sizeof(msg)) != 0) {
|
||||
// error updating with second message
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_HmacSetKey
|
||||
\sa wc_HmacFinal
|
||||
*/
|
||||
WOLFSSL_API int wc_HmacUpdate(Hmac*, const byte*, word32);
|
||||
/*!
|
||||
\ingroup HMAC
|
||||
|
||||
\brief This function computes the final hash of an Hmac object's message.
|
||||
|
||||
\return 0 Returned on successfully computing the final hash
|
||||
\return MEMORY_E Returned if there is an error allocating memory for
|
||||
use with a hashing algorithm
|
||||
|
||||
\param hmac pointer to the Hmac object for which to calculate the
|
||||
final hash
|
||||
\param hash pointer to the buffer in which to store the final hash.
|
||||
Should have room available as required by the hashing algorithm chosen
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Hmac hmac;
|
||||
byte hash[MD5_DIGEST_SIZE];
|
||||
// initialize hmac with MD5 as type
|
||||
// wc_HmacUpdate() with messages
|
||||
|
||||
if (wc_HmacFinal(&hmac, hash) != 0) {
|
||||
// error computing hash
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_HmacSetKey
|
||||
\sa wc_HmacUpdate
|
||||
*/
|
||||
WOLFSSL_API int wc_HmacFinal(Hmac*, byte*);
|
||||
/*!
|
||||
\ingroup HMAC
|
||||
|
||||
\brief This function returns the largest HMAC digest size available
|
||||
based on the configured cipher suites.
|
||||
|
||||
\return Success Returns the largest HMAC digest size available based
|
||||
on the configured cipher suites
|
||||
|
||||
\param none No parameters.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
int maxDigestSz = wolfSSL_GetHmacMaxSize();
|
||||
\endcode
|
||||
|
||||
\sa none
|
||||
*/
|
||||
WOLFSSL_API int wolfSSL_GetHmacMaxSize(void);
|
||||
/*!
|
||||
\ingroup HMAC
|
||||
|
||||
\brief This function provides access to a HMAC Key Derivation Function
|
||||
(HKDF). It utilizes HMAC to convert inKey, with an optional salt and
|
||||
optional info into a derived key, which it stores in out. The hash type
|
||||
defaults to MD5 if 0 or NULL is given.
|
||||
|
||||
\return 0 Returned upon successfully generating a key with the given inputs
|
||||
\return BAD_FUNC_ARG Returned if an invalid hash type is given as
|
||||
argument. Valid types are: MD5, SHA, SHA256, SHA384, SHA512, BLAKE2B_ID
|
||||
\return MEMORY_E Returned if there is an error allocating memory
|
||||
\return HMAC_MIN_KEYLEN_E May be returned when using a FIPS implementation
|
||||
and the key length specified is shorter than the minimum acceptable FIPS
|
||||
standard
|
||||
|
||||
\param type hash type to use for the HKDF. Valid types are: MD5, SHA,
|
||||
SHA256, SHA384, SHA512, BLAKE2B_ID
|
||||
\param inKey pointer to the buffer containing the key to use for KDF
|
||||
\param inKeySz length of the input key
|
||||
\param salt pointer to a buffer containing an optional salt. Use NULL
|
||||
instead if not using a salt
|
||||
\param saltSz length of the salt. Use 0 if not using a salt
|
||||
\param info pointer to a buffer containing optional additional info.
|
||||
Use NULL if not appending extra info
|
||||
\param infoSz length of additional info. Use 0 if not using additional info
|
||||
\param out pointer to the buffer in which to store the derived key
|
||||
\param outSz space available in the output buffer to store the
|
||||
generated key
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte key[] = { // initialize with key };
|
||||
byte salt[] = { // initialize with salt };
|
||||
byte derivedKey[MAX_DIGEST_SIZE];
|
||||
|
||||
int ret = wc_HKDF(SHA512, key, sizeof(key), salt, sizeof(salt),
|
||||
NULL, 0, derivedKey, sizeof(derivedKey));
|
||||
if ( ret != 0 ) {
|
||||
// error generating derived key
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_HmacSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_HKDF(int type, const byte* inKey, word32 inKeySz,
|
||||
const byte* salt, word32 saltSz,
|
||||
const byte* info, word32 infoSz,
|
||||
byte* out, word32 outSz);
|
||||
159
doc/dox_comments/header_files/idea.h
Normal file
159
doc/dox_comments/header_files/idea.h
Normal file
@@ -0,0 +1,159 @@
|
||||
/*!
|
||||
\ingroup IDEA
|
||||
|
||||
\brief Generate the 52, 16-bit key sub-blocks from the 128 key.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if idea or key is null, keySz is not equal to
|
||||
IDEA_KEY_SIZE, or dir is not IDEA_ENCRYPTION or IDEA_DECRYPTION.
|
||||
|
||||
\param idea Pointer to Idea structure.
|
||||
\param key Pointer to key in memory.
|
||||
\param keySz Size of key.
|
||||
\param iv Value for IV in Idea structure. Can be null.
|
||||
\param dir Direction, either IDEA_ENCRYPTION or IDEA_DECRYPTION
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte v_key[IDEA_KEY_SIZE] = { }; // Some Key
|
||||
Idea idea;
|
||||
int ret = wc_IdeaSetKey(&idea v_key, IDEA_KEY_SIZE, NULL, IDEA_ENCRYPTION);
|
||||
if (ret != 0)
|
||||
{
|
||||
// There was an error
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_IdeaSetIV
|
||||
*/
|
||||
WOLFSSL_API int wc_IdeaSetKey(Idea *idea, const byte* key, word16 keySz,
|
||||
const byte *iv, int dir);
|
||||
/*!
|
||||
\ingroup IDEA
|
||||
|
||||
\brief Sets the IV in an Idea key structure.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if idea is null.
|
||||
|
||||
\param idea Pointer to idea key structure.
|
||||
\param iv The IV value to set, can be null.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Idea idea;
|
||||
// Initialize idea
|
||||
|
||||
byte iv[] = { }; // Some IV
|
||||
int ret = wc_IdeaSetIV(&idea, iv);
|
||||
if(ret != 0)
|
||||
{
|
||||
// Some error occured
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_IdeaSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_IdeaSetIV(Idea *idea, const byte* iv);
|
||||
/*!
|
||||
\ingroup IDEA
|
||||
|
||||
\brief Encryption or decryption for a block (64 bits).
|
||||
|
||||
\return 0 upon success.
|
||||
\return <0 an error occured
|
||||
|
||||
\param idea Pointer to idea key structure.
|
||||
\param out Pointer to destination.
|
||||
\param in Pointer to input data to encrypt or decrypt.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
byte v_key[IDEA_KEY_SIZE] = { }; // Some Key
|
||||
byte data[IDEA_BLOCK_SIZE] = { }; // Some encrypted data
|
||||
Idea idea;
|
||||
wc_IdeaSetKey(&idea, v_key, IDEA_KEY_SIZE, NULL, IDEA_DECRYPTION);
|
||||
int ret = wc_IdeaCipher(&idea, data, data);
|
||||
|
||||
if (ret != 0)
|
||||
{
|
||||
// There was an error
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_IdeaSetKey
|
||||
\sa wc_IdeaSetIV
|
||||
\sa wc_IdeaCbcEncrypt
|
||||
\sa wc_IdeaCbcDecrypt
|
||||
*/
|
||||
WOLFSSL_API int wc_IdeaCipher(Idea *idea, byte* out, const byte* in);
|
||||
/*!
|
||||
\ingroup IDEA
|
||||
|
||||
\brief Encrypt data using IDEA CBC mode.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if any arguments are null.
|
||||
|
||||
\param idea Pointer to Idea key structure.
|
||||
\param out Pointer to destination for encryption.
|
||||
\param in Pointer to input for encryption.
|
||||
\param len length of input.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Idea idea;
|
||||
// Initialize idea structure for encryption
|
||||
const char *message = "International Data Encryption Algorithm";
|
||||
byte msg_enc[40], msg_dec[40];
|
||||
|
||||
memset(msg_enc, 0, sizeof(msg_enc));
|
||||
ret = wc_IdeaCbcEncrypt(&idea, msg_enc, (byte *)message,
|
||||
(word32)strlen(message)+1);
|
||||
if(ret != 0)
|
||||
{
|
||||
// Some error occured
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_IdeaCbcDecrypt
|
||||
\sa wc_IdeaCipher
|
||||
\sa wc_IdeaSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_IdeaCbcEncrypt(Idea *idea, byte* out,
|
||||
const byte* in, word32 len);
|
||||
/*!
|
||||
\ingroup IDEA
|
||||
|
||||
\brief Decrypt data using IDEA CBC mode.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if any arguments are null.
|
||||
|
||||
\param idea Pointer to Idea key structure.
|
||||
\param out Pointer to destination for encryption.
|
||||
\param in Pointer to input for encryption.
|
||||
\param len length of input.
|
||||
|
||||
_Example_
|
||||
\code
|
||||
Idea idea;
|
||||
// Initialize idea structure for decryption
|
||||
const char *message = "International Data Encryption Algorithm";
|
||||
byte msg_enc[40], msg_dec[40];
|
||||
|
||||
memset(msg_dec, 0, sizeof(msg_dec));
|
||||
ret = wc_IdeaCbcDecrypt(&idea, msg_dec, msg_enc,
|
||||
(word32)strlen(message)+1);
|
||||
if(ret != 0)
|
||||
{
|
||||
// Some error occured
|
||||
}
|
||||
\endcode
|
||||
|
||||
\sa wc_IdeaCbcEncrypt
|
||||
\sa wc_IdeaCipher
|
||||
\sa wc_IdeaSetKey
|
||||
*/
|
||||
WOLFSSL_API int wc_IdeaCbcDecrypt(Idea *idea, byte* out,
|
||||
const byte* in, word32 len);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user