Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@ Debug
Release
DLL Debug
DLL Release
DebugFIPS
ReleaseFIPS
DLL DebugFIPS
DLL ReleaseFIPS

# Eclipse
.cproject
Expand Down
37 changes: 37 additions & 0 deletions ide/winvs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,40 @@ To stop the service run the following in an adminstrator power shell session:

To delete the service run
`sc.exe delete wolfSSHd`


FIPS Build Configurations
-------------------------

The solution includes FIPS build configurations to support building wolfSSH
with the FIPS build of wolfSSL. These configurations are designed to work
with wolfSSL FIPS builds that are located in the `IDE\WIN10` directory
structure.

The following FIPS configurations are available:

- **DebugFIPS** (Win32 and x64): For debugging FIPS builds using static libraries
- **ReleaseFIPS** (Win32 and x64): For release FIPS builds using static libraries
- **DLL DebugFIPS** (Win32 and x64): For debugging FIPS builds using dynamic libraries
- **DLL ReleaseFIPS** (Win32 and x64): For release FIPS builds using dynamic libraries

### Matching wolfSSL FIPS Builds

When building wolfSSH with FIPS configurations, ensure that the corresponding
wolfSSL FIPS build is available.

If you build the wolfSSL FIPS code in the **Release x64** configuration,
then you should build wolfSSH with the **ReleaseFIPS x64** configuration.

Similarly:
- wolfSSL **Debug x64** → wolfSSH **DebugFIPS x64**
- wolfSSL **Release Win32** → wolfSSH **ReleaseFIPS Win32**
- wolfSSL **DLL Release x64** → wolfSSH **DLL ReleaseFIPS x64**

**Notes:**
* wolfSSH examples and applications might initially fail because the FIPS Integrity
hash is incorrect, you'll have to rebuild wolfSSL with the FIPS hash reported by the
wolfSSH application to get this working.
* To stabilize the FIPS hash on Windows, you might have to disable ASLR
(Address space layout randomization) on the system.

310 changes: 309 additions & 1 deletion ide/winvs/api-test/api-test.vcxproj

Large diffs are not rendered by default.

312 changes: 310 additions & 2 deletions ide/winvs/client/client.vcxproj

Large diffs are not rendered by default.

312 changes: 310 additions & 2 deletions ide/winvs/echoserver/echoserver.vcxproj

Large diffs are not rendered by default.

312 changes: 310 additions & 2 deletions ide/winvs/testsuite/testsuite.vcxproj

Large diffs are not rendered by default.

310 changes: 309 additions & 1 deletion ide/winvs/unit-test/unit-test.vcxproj

Large diffs are not rendered by default.

310 changes: 309 additions & 1 deletion ide/winvs/wolfsftp-client/wolfsftp-client.vcxproj

Large diffs are not rendered by default.

34 changes: 33 additions & 1 deletion ide/winvs/wolfssh.props
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,19 @@
<wolfCryptRelease32>$(wolfCryptDir)\Release\Win32</wolfCryptRelease32>
<wolfCryptDebug64>$(wolfCryptDir)\Debug\x64</wolfCryptDebug64>
<wolfCryptRelease64>$(wolfCryptDir)\Release\x64</wolfCryptRelease64>
<wolfCryptDebug32FIPS>$(wolfCryptDir)\IDE\WIN10\Debug\Win32</wolfCryptDebug32FIPS>
<wolfCryptRelease32FIPS>$(wolfCryptDir)\IDE\WIN10\Release\Win32</wolfCryptRelease32FIPS>
<wolfCryptDebug64FIPS>$(wolfCryptDir)\IDE\WIN10\Debug\x64</wolfCryptDebug64FIPS>
<wolfCryptRelease64FIPS>$(wolfCryptDir)\IDE\WIN10\Release\x64</wolfCryptRelease64FIPS>
<wolfCryptDllDebug32>$(wolfCryptDir)\DLL Debug\Win32</wolfCryptDllDebug32>
<wolfCryptDllRelease32>$(wolfCryptDir)\DLL Release\Win32</wolfCryptDllRelease32>
<wolfCryptDllDebug64>$(wolfCryptDir)\DLL Debug\x64</wolfCryptDllDebug64>
<wolfCryptDllRelease64>$(wolfCryptDir)\DLL Release\x64</wolfCryptDllRelease64>
</PropertyGroup>
<wolfCryptDllDebug32FIPS>$(wolfCryptDir)\IDE\WIN10\DLL Debug\Win32</wolfCryptDllDebug32FIPS>
<wolfCryptDllRelease32FIPS>$(wolfCryptDir)\IDE\WIN10\DLL Release\Win32</wolfCryptDllRelease32FIPS>
<wolfCryptDllDebug64FIPS>$(wolfCryptDir)\IDE\WIN10\DLL Debug\x64</wolfCryptDllDebug64FIPS>
<wolfCryptDllRelease64FIPS>$(wolfCryptDir)\IDE\WIN10\DLL Release\x64</wolfCryptDllRelease64FIPS>
</PropertyGroup>
<ItemDefinitionGroup />
<ItemGroup>
<BuildMacro Include="wolfCryptDir">
Expand All @@ -29,6 +37,18 @@
<BuildMacro Include="wolfCryptRelease64">
<Value>$(wolfCryptRelease64)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptDebug32FIPS">
<Value>$(wolfCryptDebug32FIPS)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptRelease32FIPS">
<Value>$(wolfCryptRelease32FIPS)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptDebug64FIPS">
<Value>$(wolfCryptDebug64FIPS)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptRelease64FIPS">
<Value>$(wolfCryptRelease64FIPS)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptDllDebug32">
<Value>$(wolfCryptDllDebug32)</Value>
</BuildMacro>
Expand All @@ -41,5 +61,17 @@
<BuildMacro Include="wolfCryptDllRelease64">
<Value>$(wolfCryptDllRelease64)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptDllDebug32FIPS">
<Value>$(wolfCryptDllDebug32FIPS)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptDllRelease32FIPS">
<Value>$(wolfCryptDllRelease32FIPS)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptDllDebug64FIPS">
<Value>$(wolfCryptDllDebug64FIPS)</Value>
</BuildMacro>
<BuildMacro Include="wolfCryptDllRelease64FIPS">
<Value>$(wolfCryptDllRelease64FIPS)</Value>
</BuildMacro>
</ItemGroup>
</Project>
Loading