diff --git a/STF525.tpd b/STF525.tpd
old mode 100755
new mode 100644
diff --git a/STF525_Win.tpd b/STF525_Win.tpd
old mode 100755
new mode 100644
diff --git a/tools/itssecurity/.vs/itssecurity/v16/.suo b/tools/itssecurity/.vs/itssecurity/v16/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..7f409fb25b385a6e1b04eafe48f26019710b25dd
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/.suo differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/Browse.VC.db b/tools/itssecurity/.vs/itssecurity/v16/Browse.VC.db
new file mode 100644
index 0000000000000000000000000000000000000000..6bf3c4b719f1e3b4bacf0844bf30e6921a585c65
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/Browse.VC.db differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/Solution.VC.db b/tools/itssecurity/.vs/itssecurity/v16/Solution.VC.db
new file mode 100644
index 0000000000000000000000000000000000000000..9901f264032c2f16723ac3e1534a879dc00e0e10
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/Solution.VC.db differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/3ae977cc1cf12c22.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/3ae977cc1cf12c22.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..d4784fabe27b91a43d6921d581da30bf9f45383a
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/3ae977cc1cf12c22.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/3f79d4a1bfc9156e.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/3f79d4a1bfc9156e.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..b3cfe5129e7c0218ab5fc3e221c2e4da7be340b4
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/3f79d4a1bfc9156e.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/1ee3db2fc2bf098/COM_SPIRENT_ITS_SECURITY.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/1ee3db2fc2bf098/COM_SPIRENT_ITS_SECURITY.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..86ab7044261ead52564c1f44b325a4efcd21bb5b
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/1ee3db2fc2bf098/COM_SPIRENT_ITS_SECURITY.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/3946801aa34e60d3/COM_SPIRENT_ITS_SECURITY_NATIVESECURITY.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/3946801aa34e60d3/COM_SPIRENT_ITS_SECURITY_NATIVESECURITY.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..2d5aafaa3872d9465bb22153d4b2174d5150e629
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/3946801aa34e60d3/COM_SPIRENT_ITS_SECURITY_NATIVESECURITY.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/3e166027e1674eab/LIB_ITS_SECURITY.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/3e166027e1674eab/LIB_ITS_SECURITY.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..40547f89cbada5e0647c38bb9c87afa336c55e68
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/3e166027e1674eab/LIB_ITS_SECURITY.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/403d4330dabcb9cb/COM_SPIRENT_ITS_SECURITY.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/403d4330dabcb9cb/COM_SPIRENT_ITS_SECURITY.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..40645b8c3c294b3f9be72377ad2b8c6b48ab2cb7
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/403d4330dabcb9cb/COM_SPIRENT_ITS_SECURITY.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/5f9167d1ee025d78/COM_SPIRENT_ITS_SECURITY.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/5f9167d1ee025d78/COM_SPIRENT_ITS_SECURITY.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..f29fb7376c8d53bf49078f246b141b62c3bc5c3f
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/5f9167d1ee025d78/COM_SPIRENT_ITS_SECURITY.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/afd2b246a4d1066a/TEST_LIB_ITS_SECURITY.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/afd2b246a4d1066a/TEST_LIB_ITS_SECURITY.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..f99e8106daf5fdd8ab2e0c440bfb4a674529a60b
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/afd2b246a4d1066a/TEST_LIB_ITS_SECURITY.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/bbf5104d398540e0/COM_SPIRENT_ITS_SECURITY_NATIVESECURITY.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/bbf5104d398540e0/COM_SPIRENT_ITS_SECURITY_NATIVESECURITY.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..3e930ef9c79ae9542f51e89da781ab5749b274aa
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/bbf5104d398540e0/COM_SPIRENT_ITS_SECURITY_NATIVESECURITY.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/fa071e5da418d69b/COM_SPIRENT_ITS_SECURITY.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/fa071e5da418d69b/COM_SPIRENT_ITS_SECURITY.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..504e35c4d72bee58e5ac46dd26cebceecea9dc49
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/AutoPCH/fa071e5da418d69b/COM_SPIRENT_ITS_SECURITY.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/af6681a56a4499b8.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/af6681a56a4499b8.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..3b70e817cfc78d4f8bb62f2ca7d1f0c6950ab8ed
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/af6681a56a4499b8.ipch differ
diff --git a/tools/itssecurity/.vs/itssecurity/v16/ipch/d686ced6b6a19201.ipch b/tools/itssecurity/.vs/itssecurity/v16/ipch/d686ced6b6a19201.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..a58e945cebeed1c1e558a45a4d398f3c3bdfb5c5
Binary files /dev/null and b/tools/itssecurity/.vs/itssecurity/v16/ipch/d686ced6b6a19201.ipch differ
diff --git a/tools/itssecurity/itssecurity.sln b/tools/itssecurity/itssecurity.sln
new file mode 100644
index 0000000000000000000000000000000000000000..973e97725c3fa1e4ea0af5d96988e061b9a69a16
--- /dev/null
+++ b/tools/itssecurity/itssecurity.sln
@@ -0,0 +1,49 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29728.190
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_its_security", "lib_its_security\lib_its_security.vcxproj", "{76A8854A-3F0C-4124-9AE0-2578B1D59342}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_its_security_tests_unit", "test\lib_its_security_tests_unit.vcxproj", "{5151573E-B7B3-44B4-BA0B-5410831C3D9D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}.Debug|x64.ActiveCfg = Debug|x64
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}.Debug|x64.Build.0 = Debug|x64
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}.Debug|x86.ActiveCfg = Debug|Win32
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}.Debug|x86.Build.0 = Debug|Win32
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}.Release|x64.ActiveCfg = Release|x64
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}.Release|x64.Build.0 = Release|x64
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}.Release|x86.ActiveCfg = Release|Win32
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}.Release|x86.Build.0 = Release|Win32
+ {5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Debug|x64.ActiveCfg = Debug|x64
+ {5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Debug|x64.Build.0 = Debug|x64
+ {5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Debug|x86.ActiveCfg = Debug|Win32
+ {5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Debug|x86.Build.0 = Debug|Win32
+ {5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Release|x64.ActiveCfg = Release|x64
+ {5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Release|x64.Build.0 = Release|x64
+ {5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Release|x86.ActiveCfg = Release|Win32
+ {5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Release|x86.Build.0 = Release|Win32
+ {A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Debug|x64.ActiveCfg = Debug|x64
+ {A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Debug|x64.Build.0 = Debug|x64
+ {A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Debug|x86.ActiveCfg = Debug|Win32
+ {A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Debug|x86.Build.0 = Debug|Win32
+ {A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Release|x64.ActiveCfg = Release|x64
+ {A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Release|x64.Build.0 = Release|x64
+ {A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Release|x86.ActiveCfg = Release|Win32
+ {A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {CE997533-FD4F-42FF-A3AE-6D3E2AFBCDA8}
+ EndGlobalSection
+EndGlobal
diff --git a/tools/itssecurity/lib_its_security/lib_its_security.vcxproj b/tools/itssecurity/lib_its_security/lib_its_security.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..5ea7b624b9e0c532f4d8d82e91db8424a9ddb3f5
--- /dev/null
+++ b/tools/itssecurity/lib_its_security/lib_its_security.vcxproj
@@ -0,0 +1,172 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ {76A8854A-3F0C-4124-9AE0-2578B1D59342}
+ Win32Proj
+ libitssecurity
+ 10.0
+
+
+
+ DynamicLibrary
+ true
+ v142
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v142
+ true
+ Unicode
+
+
+ DynamicLibrary
+ true
+ v142
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v142
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lib_its_security
+ true
+
+
+ LIBITSSECURITY
+ true
+
+
+ LIBITSSECURITY
+ false
+
+
+ lib_its_security
+ false
+
+
+
+ Use
+ Level3
+ true
+ _DEBUG;LIBITSSECURITY_EXPORTS;_WINDOWS;_USRDLL;_Win64;%(PreprocessorDefinitions)
+ true
+ pch.h
+ C:\Program Files\OpenSSL-Win64\include
+
+
+ Windows
+ true
+ false
+ C:\Program Files\OpenSSL-Win64\lib\VC
+ libcrypto64MDd.lib;libssl64MDd.lib;Ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+ Use
+ Level3
+ true
+ WIN32;_DEBUG;LIBITSSECURITY_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ pch.h
+
+
+ Windows
+ true
+ false
+
+
+
+
+ Use
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;LIBITSSECURITY_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ pch.h
+
+
+ Windows
+ true
+ true
+ true
+ false
+
+
+
+
+ NotUsing
+ Level3
+ true
+ true
+ true
+ _Win64;NDEBUG;LIBITSSECURITY_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ pch.h
+ C:\Program Files\OpenSSL-Win64\include
+
+
+ Windows
+ true
+ true
+ true
+ false
+ C:\Program Files\OpenSSL-Win64\lib\VC
+ libcrypto64MDd.lib;libssl64MDd.lib;Ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools/itssecurity/lib_its_security/lib_its_security.vcxproj.user b/tools/itssecurity/lib_its_security/lib_its_security.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..88a550947edbc3c5003a41726f0749201fdb6822
--- /dev/null
+++ b/tools/itssecurity/lib_its_security/lib_its_security.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/tools/itssecurity/test/lib_its_security_tests_unit.vcxproj b/tools/itssecurity/test/lib_its_security_tests_unit.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..cd0af22cc58f0c7d1d793452fb85f2cf48178524
--- /dev/null
+++ b/tools/itssecurity/test/lib_its_security_tests_unit.vcxproj
@@ -0,0 +1,126 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {5151573e-b7b3-44b4-ba0b-5410831c3d9d}
+ Win32Proj
+ 10.0.18362.0
+ Application
+ v142
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+ {76a8854a-3f0c-4124-9ae0-2578b1d59342}
+
+
+
+
+
+
+
+
+
+
+
+
+ Use
+ pch.h
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Level3
+
+
+ true
+ Console
+
+
+
+
+ Use
+ pch.h
+ Disabled
+ _Win64;X64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Level3
+ C:\Users\yanng\source\repos\TestOpenSSL\lib_its_security;C:\Program Files\OpenSSL-Win64\include;$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories)
+
+
+ true
+ Console
+ C:\Users\yanng\source\repos\TestOpenSSL\x64\Debug;C:\Program Files\OpenSSL-Win64\lib\VC
+ lib_its_security.lib;libcrypto64MDd.lib;libssl64MDd.lib;Ws2_32.lib;%(AdditionalDependencies)
+ $(OutDir)$(TargetName).pdb
+
+
+
+
+ Use
+ pch.h
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ Level3
+ ProgramDatabase
+
+
+ true
+ Console
+ true
+ true
+
+
+
+
+ NotUsing
+ pch.h
+ _Win64;X64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ Level3
+ ProgramDatabase
+ $(ProjectDir)..\lib_its_security;C:\Program Files\OpenSSL-Win64\include;$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories)
+
+
+ true
+ Console
+ true
+ true
+ $(ProjectDir)..\x64\Release;C:\Program Files\OpenSSL-Win64\lib\VC
+ lib_its_security.lib;libcrypto64MDd.lib;libssl64MDd.lib;Ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
\ No newline at end of file
diff --git a/tools/itssecurity/test/lib_its_security_tests_unit.vcxproj.user b/tools/itssecurity/test/lib_its_security_tests_unit.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..88a550947edbc3c5003a41726f0749201fdb6822
--- /dev/null
+++ b/tools/itssecurity/test/lib_its_security_tests_unit.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/tools/itssecurity/test/packages.config b/tools/itssecurity/test/packages.config
new file mode 100644
index 0000000000000000000000000000000000000000..287edf7fe6ca5c9fc97c3840470c73f51b6db900
--- /dev/null
+++ b/tools/itssecurity/test/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file