forked from wolfSSL/wolfssl
add entropy steps for VxWorks
This commit is contained in:
@@ -38,6 +38,18 @@ click "Edit". Enter the above define to the end of the line.
|
|||||||
6. Copy the certs folder in ```<path_to_wolfssl>/``` to the Wind River Workbench
|
6. Copy the certs folder in ```<path_to_wolfssl>/``` to the Wind River Workbench
|
||||||
workspace folder. This is where the simulator looks for the filesystem.
|
workspace folder. This is where the simulator looks for the filesystem.
|
||||||
|
|
||||||
|
7. Include Entropy:
|
||||||
|
|
||||||
|
- Create a new project, similar to step 1 but choose VxWorks Source Build
|
||||||
|
Project as the type of project instead of VxWorks Image Project.
|
||||||
|
- In the project directory, double click "Source Build Configuration" and
|
||||||
|
under os > core > CORE\_KERNEL Menu > VxWorks Kernel Component
|
||||||
|
Configuration find "Inject entropy in interrupts". Double click this.
|
||||||
|
- Go back to your VIP project. Right click the project and select "Properties".
|
||||||
|
- In "Properties", select "Project References". Check the box next to the
|
||||||
|
new project you created. Click "Ok".
|
||||||
|
- Rebuild the project.
|
||||||
|
|
||||||
####2 Testing wolfSSL with VxWorks:
|
####2 Testing wolfSSL with VxWorks:
|
||||||
#####2.1 wolfCrypt Test and Benchmark Applications
|
#####2.1 wolfCrypt Test and Benchmark Applications
|
||||||
The wolfCrypt test application will test each of the cryptographic algorithms
|
The wolfCrypt test application will test each of the cryptographic algorithms
|
||||||
|
@@ -1265,26 +1265,22 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(WOLFSSL_VXWORKS) && defined(VXWORKS_SIM)
|
#elif defined(WOLFSSL_VXWORKS)
|
||||||
|
|
||||||
#include <randomNumGen.h>
|
#include <randomNumGen.h>
|
||||||
|
|
||||||
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz) {
|
int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz) {
|
||||||
STATUS status;
|
STATUS status;
|
||||||
unsigned char seed[1024];
|
|
||||||
|
#ifdef VXWORKS_SIM
|
||||||
|
/* cannot generate true entropy with VxWorks simulator */
|
||||||
|
#warning "not enough entropy, simulator for testing only"
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
/* cannot generate true entropy with VxWorks simulator */
|
for (i = 0; i < 1000; i++) {
|
||||||
#warning "VxWorks simulator for testing purposes only!"
|
randomAddTimeStamp();
|
||||||
|
|
||||||
for (i = 0; i < sizeof(seed); i++) {
|
|
||||||
seed[i] = i * 3 % 256;
|
|
||||||
}
|
|
||||||
/* build entropy */
|
|
||||||
(void) randAdd(seed, 0, 0);
|
|
||||||
for (i = 4; i <= sizeof(seed); i*=2) {
|
|
||||||
(void) randAdd (seed, i - 1, i);
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
status = randBytes (output, sz);
|
status = randBytes (output, sz);
|
||||||
if (status == ERROR) {
|
if (status == ERROR) {
|
||||||
|
Reference in New Issue
Block a user