mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2026-11-15 00:07:08 +01:00
Update POCO library.
This commit is contained in:
1 parent
8d15f4b6e9
commit
233fc103f9
2521 files changed
+257092
-72789
No files matched your search
Vendored
+1
-1
@@ -25,7 +25,7 @@ target_link_libraries(Crypto PUBLIC Poco::Foundation OpenSSL::SSL OpenSSL::Crypt
|
||||
target_include_directories(Crypto
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
)
|
||||
|
||||
+16
@@ -653,6 +653,10 @@
|
||||
RelativePath=".\include\Poco\Crypto\CryptoException.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Crypto\EVPCipherImpl.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Crypto\EVPPKey.h"
|
||||
>
|
||||
@@ -677,6 +681,10 @@
|
||||
RelativePath=".\src\CryptoException.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\EVPCipherImpl.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\EVPPKey.cpp"
|
||||
>
|
||||
@@ -733,6 +741,10 @@
|
||||
RelativePath=".\include\Poco\Crypto\ECKeyImpl.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Crypto\Envelope.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
@@ -749,6 +761,10 @@
|
||||
RelativePath=".\src\ECKeyImpl.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\Envelope.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<File
|
||||
|
||||
+8
@@ -559,6 +559,8 @@
|
||||
<ClInclude Include="include\Poco\Crypto\ECDSADigestEngine.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKeyImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\Envelope.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPCipherImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPPKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPair.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPairImpl.h"/>
|
||||
@@ -607,6 +609,12 @@
|
||||
<ClCompile Include="src\ECKeyImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Envelope.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPCipherImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPPKey.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
|
||||
+30
-18
@@ -2,58 +2,58 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Cipher">
|
||||
<UniqueIdentifier>{04b70b04-697e-42a9-9aeb-e9ce6c343be9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{60a8c7e2-2faa-4d2f-9395-a8a7b0b27799}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Cipher\Header Files">
|
||||
<UniqueIdentifier>{75a7f23f-980b-4c33-b078-16605d946917}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5810f1ac-f1a0-4eec-805c-4f10c8731258}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Cipher\Source Files">
|
||||
<UniqueIdentifier>{af502e4d-9e80-4ff0-8e62-177ccd345d80}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{079a0514-d9e9-4c7e-814e-7bc6941f7492}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA">
|
||||
<UniqueIdentifier>{ee9d5c88-630f-41f3-9e82-4c7dd16e8125}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d9e32eb5-0f20-4262-8c04-ce30a11b5278}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA\Header Files">
|
||||
<UniqueIdentifier>{ac0454d9-cb57-4244-b7be-2dc1b78415bd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4d5ddd1e-5b34-493d-b3e6-696b3950239d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA\Source Files">
|
||||
<UniqueIdentifier>{9356d389-2a2b-4bbb-9a48-0069ebce4ac6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{52e2d122-9409-4b00-bb5d-8596e350271f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate">
|
||||
<UniqueIdentifier>{9edcc672-ed8e-493a-8a98-716bcc14c6e9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dc9887bc-80fa-4400-8ae3-798d0216e70e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate\Header Files">
|
||||
<UniqueIdentifier>{e07cca81-0e0c-45ca-85f7-901a3ad549de}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9af8f56b-58e6-471c-99dd-649f82bb513d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate\Source Files">
|
||||
<UniqueIdentifier>{3cb68e52-e52f-453e-b02a-e88618254bcb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e986c9a0-8d5f-4ece-b226-97b00f75c36b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore">
|
||||
<UniqueIdentifier>{4ad478a3-34ab-4eb5-aff3-f3c6c93f4c5d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{815003c3-868c-4edb-b8fc-71239f111d12}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore\Header Files">
|
||||
<UniqueIdentifier>{2af5aa00-cfb8-4d7a-9aed-fed3ee3f9ca1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{83254184-d4b3-4e90-aaf8-6185be913f80}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore\Source Files">
|
||||
<UniqueIdentifier>{7cec80c3-6ea2-43cc-ada1-53605f124468}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{975ee625-4d9c-42c8-a51a-5ae6c152f3f7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest">
|
||||
<UniqueIdentifier>{f76416de-9deb-4dba-b54f-35ed9e474073}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3ab5ac8f-2b83-4dfc-9603-0dac69d52013}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest\Header Files">
|
||||
<UniqueIdentifier>{696a1fff-7f4d-4595-9c40-e6596ef086b6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8b978dca-eb5f-4437-a1c2-4491c531c24e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest\Source Files">
|
||||
<UniqueIdentifier>{9e86ecc5-a026-4432-8b10-45b575c1fa87}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0a3d66e4-a2fd-41a2-b579-95aa9bd44595}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC">
|
||||
<UniqueIdentifier>{edffd197-3071-4677-bdff-b0a00c7a014a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a612ef80-bf86-4cd6-912c-ba726353cc2a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC\Header Files">
|
||||
<UniqueIdentifier>{dc754ea7-075d-48ff-9777-ff9aa6c9ddac}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c46a2637-5bab-4cf6-93c0-d09d784e65f6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC\Source Files">
|
||||
<UniqueIdentifier>{7a39a221-fafa-4375-9b1b-19488f30606b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e84f7326-3466-4a9e-bba3-1b0c4885717a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -102,6 +102,9 @@
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoException.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPCipherImpl.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPPKey.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -126,6 +129,9 @@
|
||||
<ClInclude Include="include\Poco\Crypto\ECKeyImpl.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\Envelope.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\Cipher.cpp">
|
||||
@@ -170,6 +176,9 @@
|
||||
<ClCompile Include="src\CryptoException.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPCipherImpl.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPPKey.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -194,6 +203,9 @@
|
||||
<ClCompile Include="src\ECKeyImpl.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Envelope.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc" />
|
||||
|
||||
+8
@@ -559,6 +559,8 @@
|
||||
<ClInclude Include="include\Poco\Crypto\ECDSADigestEngine.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKeyImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\Envelope.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPCipherImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPPKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPair.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPairImpl.h"/>
|
||||
@@ -607,6 +609,12 @@
|
||||
<ClCompile Include="src\ECKeyImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Envelope.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPCipherImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPPKey.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
|
||||
+30
-18
@@ -2,58 +2,58 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Cipher">
|
||||
<UniqueIdentifier>{d9c44334-4a59-4b62-9f69-ceece97c18ed}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{75698788-03bc-4370-ab55-99d48c973dce}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Cipher\Header Files">
|
||||
<UniqueIdentifier>{b8ed2f18-0b9c-4769-bc96-7a08bbdf8467}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bcaac4d6-7340-4f39-9b36-724a1408f06c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Cipher\Source Files">
|
||||
<UniqueIdentifier>{42d8ab87-49fa-462d-8eab-709bb5c01557}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e455849b-48cb-431b-983f-30c955a93552}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA">
|
||||
<UniqueIdentifier>{b9a6f7a6-4b5c-4098-9d5c-65c2c2c394ef}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b3905243-9455-4c38-a56e-1edaf52d18c3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA\Header Files">
|
||||
<UniqueIdentifier>{29984b35-3df8-42a1-a712-2aecf201add5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8541c53c-aa29-4062-9029-6ba5ab950d9a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA\Source Files">
|
||||
<UniqueIdentifier>{d33e4790-ed28-418b-9833-4bc1076e96f5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{43690a3d-2085-46bd-8722-a153c2170f3e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate">
|
||||
<UniqueIdentifier>{646c27d1-6e6e-4637-88b3-4319186e3c55}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c7c75237-17b5-443e-b48d-d276bedafb7e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate\Header Files">
|
||||
<UniqueIdentifier>{3524e378-6f24-42ad-b273-c566e755b3ef}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ca5d30c0-a95e-413d-a182-8ee7dfed0bff}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate\Source Files">
|
||||
<UniqueIdentifier>{47293d8d-14cd-43a0-b269-750216980bf1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cd24b06b-7900-4c1f-b1a3-8d5b2110ef46}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore">
|
||||
<UniqueIdentifier>{e7a8b613-2fca-4175-8c42-19f40617fff7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ef3bafde-f2e0-4779-b50a-bcb066c09583}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore\Header Files">
|
||||
<UniqueIdentifier>{b9e2d34e-d0d6-49c5-912b-745b2d6aef07}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{deb5208b-9e44-47da-b191-718552850f5f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore\Source Files">
|
||||
<UniqueIdentifier>{e07d97b9-8fd9-4c1d-bf49-65bce81a160d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{01df9f00-078a-4cca-829a-d7421dfe4a43}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest">
|
||||
<UniqueIdentifier>{cb31088c-c4cd-4a55-85a2-b59ac56cdecf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{08b5b434-275e-46a4-a528-b6da06cc5691}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest\Header Files">
|
||||
<UniqueIdentifier>{9fc80937-4552-4263-b935-d62b68bfb981}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d7cb049c-8340-4eda-899a-27c4d0ff3746}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest\Source Files">
|
||||
<UniqueIdentifier>{45c655ac-89aa-41b9-8d45-22b15ae4d07e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7e05b39f-e6ff-4225-8527-eb37bbcdfb18}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC">
|
||||
<UniqueIdentifier>{ed9f6c2f-b58a-4306-b9aa-2142ebb895dd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3c7f4c55-1189-43b5-a9f6-5debd66906ba}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC\Header Files">
|
||||
<UniqueIdentifier>{61b07ccd-ce5a-4b1b-9254-8925309edbda}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c3c69023-452b-455e-902a-684735fc89c7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC\Source Files">
|
||||
<UniqueIdentifier>{3daecefa-a485-48f9-8297-854d4ca4b2ae}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f3238968-0490-44f5-8031-00edec99904c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -102,6 +102,9 @@
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoException.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPCipherImpl.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPPKey.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -126,6 +129,9 @@
|
||||
<ClInclude Include="include\Poco\Crypto\ECKeyImpl.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\Envelope.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\Cipher.cpp">
|
||||
@@ -170,6 +176,9 @@
|
||||
<ClCompile Include="src\CryptoException.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPCipherImpl.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPPKey.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -194,6 +203,9 @@
|
||||
<ClCompile Include="src\ECKeyImpl.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Envelope.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc" />
|
||||
|
||||
+8
@@ -559,6 +559,8 @@
|
||||
<ClInclude Include="include\Poco\Crypto\ECDSADigestEngine.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKeyImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\Envelope.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPCipherImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPPKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPair.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPairImpl.h"/>
|
||||
@@ -607,6 +609,12 @@
|
||||
<ClCompile Include="src\ECKeyImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Envelope.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPCipherImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPPKey.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
|
||||
+30
-18
@@ -2,58 +2,58 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Cipher">
|
||||
<UniqueIdentifier>{3ecf5332-c0c0-4122-b6e6-5dfabcb3b7fa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3e947499-e07e-49ae-9368-67ebdce7e2d9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Cipher\Header Files">
|
||||
<UniqueIdentifier>{4f8087f2-96ea-4728-8555-d1188d7dc40a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{56cd8b79-7799-4706-be30-2f2551da9b06}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Cipher\Source Files">
|
||||
<UniqueIdentifier>{546fc14e-2cad-438b-9670-e97a20c93227}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ba015481-3cdc-4b4e-979f-73af16c9f113}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA">
|
||||
<UniqueIdentifier>{78b6b52e-8707-4bad-8e63-a00446e610b5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{29330975-8f63-4932-ae8b-2fc823bb5729}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA\Header Files">
|
||||
<UniqueIdentifier>{8da8d37c-0726-4c66-8375-9c2215bfdb6e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0de2d2fa-d52e-4b93-8429-1cc40ac5d89c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA\Source Files">
|
||||
<UniqueIdentifier>{b33478ac-7764-436b-9419-797b445d9e83}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{73da9949-c7b1-450e-bfca-78e4fbaf01d0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate">
|
||||
<UniqueIdentifier>{9f50f3b5-a45f-45cd-a667-5c287f5f9025}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{56b61611-cae5-4a96-bec3-89dce21181c0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate\Header Files">
|
||||
<UniqueIdentifier>{9d19bec5-a10f-4327-b252-0d33d1b4364f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7c16cc60-1306-47e1-aebf-18a33bbc40d3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate\Source Files">
|
||||
<UniqueIdentifier>{d4e7ac76-ba3e-42d8-a8fb-1657f654d44b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{15ccacc4-e673-4461-979f-862c147d2d0b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore">
|
||||
<UniqueIdentifier>{c0e23a57-a0d8-46aa-b1c5-977e4e8f95d1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{26ce3381-5dc3-4241-8d27-09e14c4043b6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore\Header Files">
|
||||
<UniqueIdentifier>{20f51cfd-b923-4182-a7ab-31806eccc848}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9c578c8e-c65f-4088-9ca6-7609d2e7ebc0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore\Source Files">
|
||||
<UniqueIdentifier>{765d54fc-025a-4e99-9274-a88d057bb402}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{418ebbbe-2a7d-4015-adf8-2e86566935a2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest">
|
||||
<UniqueIdentifier>{f5523a96-c1d3-493a-bc12-5033ec02d098}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0a5aa58f-8179-480c-8805-7b64cb7c282a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest\Header Files">
|
||||
<UniqueIdentifier>{ae54a1d7-7704-4a81-a841-ea05b0dc149c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{66cbfe0e-ff30-42fe-9736-9fe8afad9463}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest\Source Files">
|
||||
<UniqueIdentifier>{e5b2f762-c12e-4cb6-9800-3df0cfcf2359}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5ef84937-9e64-4f4a-af40-1118ac399fdc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC">
|
||||
<UniqueIdentifier>{95bc93c4-7fa9-4859-81b8-e7e886e927fe}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{59903614-4362-40ca-90f9-61958a40bf02}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC\Header Files">
|
||||
<UniqueIdentifier>{a996aa2c-ddc3-433f-9c82-a45e8e2ed763}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6f907377-ea23-41d7-8008-63bf458c1a99}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC\Source Files">
|
||||
<UniqueIdentifier>{f39359ba-7374-4c3a-a42e-d9bafcf29f3e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e724e3f7-8adc-4738-8be3-fb6edbd76351}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -102,6 +102,9 @@
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoException.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPCipherImpl.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPPKey.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -126,6 +129,9 @@
|
||||
<ClInclude Include="include\Poco\Crypto\ECKeyImpl.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\Envelope.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\Cipher.cpp">
|
||||
@@ -170,6 +176,9 @@
|
||||
<ClCompile Include="src\CryptoException.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPCipherImpl.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPPKey.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -194,6 +203,9 @@
|
||||
<ClCompile Include="src\ECKeyImpl.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Envelope.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc" />
|
||||
|
||||
Vendored
+144
@@ -0,0 +1,144 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Crypto", "Crypto_vs170.vcxproj", "{EEEE7259-32E9-4D56-B023-C733940AB2A0}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs170.vcxproj", "{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0} = {EEEE7259-32E9-4D56-B023-C733940AB2A0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
debug_shared|ARM64 = debug_shared|ARM64
|
||||
release_shared|ARM64 = release_shared|ARM64
|
||||
debug_static_mt|ARM64 = debug_static_mt|ARM64
|
||||
release_static_mt|ARM64 = release_static_mt|ARM64
|
||||
debug_static_md|ARM64 = debug_static_md|ARM64
|
||||
release_static_md|ARM64 = release_static_md|ARM64
|
||||
debug_shared|Win32 = debug_shared|Win32
|
||||
release_shared|Win32 = release_shared|Win32
|
||||
debug_static_mt|Win32 = debug_static_mt|Win32
|
||||
release_static_mt|Win32 = release_static_mt|Win32
|
||||
debug_static_md|Win32 = debug_static_md|Win32
|
||||
release_static_md|Win32 = release_static_md|Win32
|
||||
debug_shared|x64 = debug_shared|x64
|
||||
release_shared|x64 = release_shared|x64
|
||||
debug_static_mt|x64 = debug_static_mt|x64
|
||||
release_static_mt|x64 = release_static_mt|x64
|
||||
debug_static_md|x64 = debug_static_md|x64
|
||||
release_static_md|x64 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|ARM64.Build.0 = release_shared|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{EEEE7259-32E9-4D56-B023-C733940AB2A0}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|ARM64.Build.0 = release_shared|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
+931
@@ -0,0 +1,931 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug_shared|ARM64">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_shared|Win32">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_shared|x64">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|ARM64">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|Win32">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|x64">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|ARM64">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|Win32">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|x64">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|ARM64">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|Win32">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|x64">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|ARM64">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|Win32">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|x64">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|ARM64">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|Win32">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|x64">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>Crypto</ProjectName>
|
||||
<ProjectGuid>{EEEE7259-32E9-4D56-B023-C733940AB2A0}</ProjectGuid>
|
||||
<RootNamespace>Crypto</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||
<ImportGroup Label="ExtensionSettings"/>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>16.0.32629.160</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">PocoCryptoA64d</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">PocoCryptomdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">PocoCryptomtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">PocoCryptoA64</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">PocoCryptomd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">PocoCryptomt</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoCryptod</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">PocoCryptomdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">PocoCryptomtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">PocoCrypto</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">PocoCryptomd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">PocoCryptomt</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoCrypto64d</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">PocoCryptomdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">PocoCryptomtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">PocoCrypto64</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">PocoCryptomd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">PocoCryptomt</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">
|
||||
<OutDir>..\binA64\</OutDir>
|
||||
<IntDir>objA64\Crypto\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">
|
||||
<OutDir>..\binA64\</OutDir>
|
||||
<IntDir>objA64\Crypto\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">
|
||||
<OutDir>..\libA64\</OutDir>
|
||||
<IntDir>objA64\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">
|
||||
<OutDir>..\libA64\</OutDir>
|
||||
<IntDir>objA64\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">
|
||||
<OutDir>..\libA64\</OutDir>
|
||||
<IntDir>objA64\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">
|
||||
<OutDir>..\libA64\</OutDir>
|
||||
<IntDir>objA64\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<OutDir>..\bin\</OutDir>
|
||||
<IntDir>obj\Crypto\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<OutDir>..\bin\</OutDir>
|
||||
<IntDir>obj\Crypto\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<OutDir>..\bin64\</OutDir>
|
||||
<IntDir>obj64\Crypto\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<OutDir>..\bin64\</OutDir>
|
||||
<IntDir>obj64\Crypto\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Crypto\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\binA64\PocoCryptoA64d.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\binA64\PocoCryptoA64d.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\libA64\PocoCryptod.lib</ImportLibrary>
|
||||
<TargetMachine>MachineARM64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\binA64\PocoCryptoA64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\libA64\PocoCrypto.lib</ImportLibrary>
|
||||
<TargetMachine>MachineARM64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\libA64\PocoCryptomtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\libA64\PocoCryptomtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\libA64\PocoCryptomt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\libA64\PocoCryptomdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\libA64\PocoCryptomdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\libA64\PocoCryptomd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\PocoCryptod.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\bin\PocoCryptod.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\lib\PocoCryptod.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\PocoCrypto.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\lib\PocoCrypto.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoCryptomtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoCryptomtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoCryptomt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoCryptomdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoCryptomdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoCryptomd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\lib\PocoCryptomd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin64\PocoCrypto64d.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\bin64\PocoCrypto64d.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\lib64\PocoCryptod.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin64\PocoCrypto64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\lib64\PocoCrypto.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib64\PocoCryptomtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoCryptomtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoCryptomt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib64\PocoCryptomdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoCryptomdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoCryptomd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\Poco\Crypto\Cipher.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\CipherFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\CipherImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\CipherKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\CipherKeyImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\Crypto.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoException.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoStream.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoTransform.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\DigestEngine.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECDSADigestEngine.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKeyImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\Envelope.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPCipherImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPPKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPair.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPairImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\OpenSSLInitializer.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\PKCS12Container.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\RSACipherImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\RSADigestEngine.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\RSAKey.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\RSAKeyImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Crypto\X509Certificate.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\Cipher.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CipherFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CipherImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CipherKey.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CipherKeyImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CryptoException.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CryptoStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CryptoTransform.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DigestEngine.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ECDSADigestEngine.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ECKey.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ECKeyImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Envelope.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPCipherImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPPKey.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\KeyPair.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\KeyPairImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OpenSSLInitializer.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PKCS12Container.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSACipherImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSADigestEngine.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSAKey.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSAKeyImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\X509Certificate.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||
<ImportGroup Label="ExtensionTargets"/>
|
||||
</Project>
|
||||
+213
@@ -0,0 +1,213 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Cipher">
|
||||
<UniqueIdentifier>{956bb6d7-1946-4d8e-a988-6f840553f433}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Cipher\Header Files">
|
||||
<UniqueIdentifier>{ac7c9562-5031-4fd3-bf00-58ee2afd58f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Cipher\Source Files">
|
||||
<UniqueIdentifier>{bc2c461a-a460-43c5-9dda-e1ac05590b4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA">
|
||||
<UniqueIdentifier>{6f66dac0-646c-425e-98f9-0443b14bea15}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA\Header Files">
|
||||
<UniqueIdentifier>{3cd7a042-61b8-4430-88a3-96de91011504}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="RSA\Source Files">
|
||||
<UniqueIdentifier>{5480a739-70e8-4989-9388-858bc73745bf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate">
|
||||
<UniqueIdentifier>{10a1798e-fd19-4a4b-a4fa-078316b35b4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate\Header Files">
|
||||
<UniqueIdentifier>{948b072b-d50b-4e17-bed4-3bae8345be51}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Certificate\Source Files">
|
||||
<UniqueIdentifier>{984e69ae-d972-430f-84ad-885ce648930e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore">
|
||||
<UniqueIdentifier>{c4a637d7-9aad-4d1b-b9ce-b00a3a9bf47c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore\Header Files">
|
||||
<UniqueIdentifier>{ef263eac-80d3-4c1a-abee-af439456b293}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="CryptoCore\Source Files">
|
||||
<UniqueIdentifier>{2af1dbe7-277e-4ab3-b8ad-255c4cf4f3ac}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest">
|
||||
<UniqueIdentifier>{8d350d20-818d-4e10-8a87-6df008441927}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest\Header Files">
|
||||
<UniqueIdentifier>{a6bd57e4-6d39-4a42-aa3d-4b1ad9e262fa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Digest\Source Files">
|
||||
<UniqueIdentifier>{1c3b1b7c-2a2b-4eba-bc22-cedfdcc12b48}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC">
|
||||
<UniqueIdentifier>{a692dced-8e66-4531-9567-6b57a3f9d89f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC\Header Files">
|
||||
<UniqueIdentifier>{d6b09c46-8d74-4ab2-99b0-31923c880bed}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EC\Source Files">
|
||||
<UniqueIdentifier>{b0414365-c964-4c45-a80e-8539c5fe0b5b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\Poco\Crypto\Cipher.h">
|
||||
<Filter>Cipher\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\CipherFactory.h">
|
||||
<Filter>Cipher\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\CipherImpl.h">
|
||||
<Filter>Cipher\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\CipherKey.h">
|
||||
<Filter>Cipher\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\CipherKeyImpl.h">
|
||||
<Filter>Cipher\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoStream.h">
|
||||
<Filter>Cipher\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoTransform.h">
|
||||
<Filter>Cipher\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\RSACipherImpl.h">
|
||||
<Filter>RSA\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\RSADigestEngine.h">
|
||||
<Filter>RSA\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\RSAKey.h">
|
||||
<Filter>RSA\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\RSAKeyImpl.h">
|
||||
<Filter>RSA\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\PKCS12Container.h">
|
||||
<Filter>Certificate\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\X509Certificate.h">
|
||||
<Filter>Certificate\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\Crypto.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\CryptoException.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPCipherImpl.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\EVPPKey.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPair.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\KeyPairImpl.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\OpenSSLInitializer.h">
|
||||
<Filter>CryptoCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\DigestEngine.h">
|
||||
<Filter>Digest\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\ECDSADigestEngine.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKey.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\ECKeyImpl.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Crypto\Envelope.h">
|
||||
<Filter>EC\Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\Cipher.cpp">
|
||||
<Filter>Cipher\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CipherFactory.cpp">
|
||||
<Filter>Cipher\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CipherImpl.cpp">
|
||||
<Filter>Cipher\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CipherKey.cpp">
|
||||
<Filter>Cipher\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CipherKeyImpl.cpp">
|
||||
<Filter>Cipher\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CryptoStream.cpp">
|
||||
<Filter>Cipher\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CryptoTransform.cpp">
|
||||
<Filter>Cipher\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSACipherImpl.cpp">
|
||||
<Filter>RSA\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSADigestEngine.cpp">
|
||||
<Filter>RSA\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSAKey.cpp">
|
||||
<Filter>RSA\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSAKeyImpl.cpp">
|
||||
<Filter>RSA\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PKCS12Container.cpp">
|
||||
<Filter>Certificate\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\X509Certificate.cpp">
|
||||
<Filter>Certificate\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CryptoException.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPCipherImpl.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPPKey.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\KeyPair.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\KeyPairImpl.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OpenSSLInitializer.cpp">
|
||||
<Filter>CryptoCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DigestEngine.cpp">
|
||||
<Filter>Digest\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ECDSADigestEngine.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ECKey.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ECKeyImpl.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Envelope.cpp">
|
||||
<Filter>EC\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Vendored
+11
-3
@@ -6,11 +6,19 @@
|
||||
|
||||
include $(POCO_BASE)/build/rules/global
|
||||
|
||||
SYSLIBS += -lssl -lcrypto
|
||||
# see https://github.com/pocoproject/poco/issues/3073
|
||||
GLOBAL_SYSLIBS := $(SYSLIBS)
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS = -lssl_a -lcrypto_a
|
||||
else
|
||||
SYSLIBS = -lssl -lcrypto
|
||||
endif
|
||||
SYSLIBS += $(GLOBAL_SYSLIBS)
|
||||
|
||||
objects = Cipher CipherFactory CipherImpl CipherKey CipherKeyImpl \
|
||||
CryptoException CryptoStream CryptoTransform ECDSADigestEngine \
|
||||
ECKey ECKeyImpl EVPPKey KeyPair KeyPairImpl PKCS12Container \
|
||||
CryptoException CryptoStream CryptoTransform \
|
||||
ECDSADigestEngine ECKey ECKeyImpl Envelope \
|
||||
EVPCipherImpl EVPPKey KeyPair KeyPairImpl PKCS12Container \
|
||||
RSACipherImpl RSAKey RSAKeyImpl RSADigestEngine DigestEngine \
|
||||
X509Certificate OpenSSLInitializer
|
||||
|
||||
|
||||
+4
-5
@@ -93,7 +93,6 @@ public:
|
||||
ENC_BINHEX = 0x02, /// BinHex-encoded output
|
||||
ENC_BASE64_NO_LF = 0x81, /// Base64-encoded output, no linefeeds
|
||||
ENC_BINHEX_NO_LF = 0x82 /// BinHex-encoded output, no linefeeds
|
||||
|
||||
};
|
||||
|
||||
virtual ~Cipher();
|
||||
@@ -108,16 +107,16 @@ public:
|
||||
virtual CryptoTransform::Ptr createDecryptor() = 0;
|
||||
/// Creates a decryptor object to be used with a CryptoStream.
|
||||
|
||||
virtual std::string encryptString(const std::string& str, Encoding encoding = ENC_NONE);
|
||||
virtual std::string encryptString(const std::string& str, Encoding encoding = ENC_NONE, bool padding = true);
|
||||
/// Directly encrypt a string and encode it using the given encoding.
|
||||
|
||||
virtual std::string decryptString(const std::string& str, Encoding encoding = ENC_NONE);
|
||||
virtual std::string decryptString(const std::string& str, Encoding encoding = ENC_NONE, bool padding = true);
|
||||
/// Directly decrypt a string that is encoded with the given encoding.
|
||||
|
||||
virtual void encrypt(std::istream& source, std::ostream& sink, Encoding encoding = ENC_NONE);
|
||||
virtual void encrypt(std::istream& source, std::ostream& sink, Encoding encoding = ENC_NONE, bool padding = true);
|
||||
/// Directly encrypts an input stream and encodes it using the given encoding.
|
||||
|
||||
virtual void decrypt(std::istream& source, std::ostream& sink, Encoding encoding = ENC_NONE);
|
||||
virtual void decrypt(std::istream& source, std::ostream& sink, Encoding encoding = ENC_NONE, bool padding = true);
|
||||
/// Directly decrypt an input stream that is encoded with the given encoding.
|
||||
|
||||
protected:
|
||||
|
||||
+8
-3
@@ -28,6 +28,7 @@ namespace Crypto {
|
||||
class Cipher;
|
||||
class CipherKey;
|
||||
class RSAKey;
|
||||
class EVPPKey;
|
||||
|
||||
|
||||
class Crypto_API CipherFactory
|
||||
@@ -42,8 +43,8 @@ public:
|
||||
/// Destroys the CipherFactory.
|
||||
|
||||
Cipher* createCipher(const CipherKey& key);
|
||||
/// Creates a Cipher object for the given Cipher name. Valid cipher
|
||||
/// names depend on the OpenSSL version the library is linked with;
|
||||
/// Creates a Cipher object for the given Cipher name. Valid cipher
|
||||
/// names depend on the OpenSSL version the library is linked with;
|
||||
/// see the output of
|
||||
///
|
||||
/// openssl enc --help
|
||||
@@ -59,7 +60,11 @@ public:
|
||||
Cipher* createCipher(const RSAKey& key, RSAPaddingMode paddingMode = RSA_PADDING_PKCS1);
|
||||
/// Creates a RSACipher using the given RSA key and padding mode
|
||||
/// for public key encryption/private key decryption.
|
||||
|
||||
|
||||
Cipher* createCipher(const EVPPKey& key);
|
||||
/// Creates an EVPCipher using the given EVP key
|
||||
/// for public key encryption/private key decryption.
|
||||
|
||||
static CipherFactory& defaultFactory();
|
||||
/// Returns the default CipherFactory.
|
||||
|
||||
|
||||
+29
@@ -24,8 +24,18 @@
|
||||
#define POCO_EXTERNAL_OPENSSL_SLPRO 2
|
||||
|
||||
|
||||
//
|
||||
// Temporarily suppress deprecation warnings coming
|
||||
// from OpenSSL 3.0, until we have updated our code.
|
||||
//
|
||||
#if !defined(POCO_DONT_SUPPRESS_OPENSSL_DEPRECATED)
|
||||
#define OPENSSL_SUPPRESS_DEPRECATED
|
||||
#endif
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
#include <openssl/opensslv.h>
|
||||
#include <openssl/err.h>
|
||||
|
||||
|
||||
#ifndef OPENSSL_VERSION_PREREQ
|
||||
@@ -39,6 +49,11 @@
|
||||
#endif
|
||||
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10000000L
|
||||
#error "OpenSSL version too old. At least OpenSSL 1.0.0 is required."
|
||||
#endif
|
||||
|
||||
|
||||
enum RSAPaddingMode
|
||||
/// The padding mode used for RSA public key encryption.
|
||||
{
|
||||
@@ -164,6 +179,20 @@ namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
|
||||
inline std::string& getError(std::string& msg)
|
||||
/// Appends OpenSSL error(s) to msg and
|
||||
/// returns the augmented error description.
|
||||
{
|
||||
unsigned long err;
|
||||
while ((err = ERR_get_error()))
|
||||
{
|
||||
if (!msg.empty()) msg.append(1, '\n');
|
||||
msg.append(ERR_error_string(err, 0));
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
|
||||
void Crypto_API initializeCrypto();
|
||||
/// Initialize the Crypto library, as well as the underlying OpenSSL
|
||||
/// libraries, by calling OpenSSLInitializer::initialize().
|
||||
|
||||
+4
-4
@@ -39,13 +39,13 @@ public:
|
||||
/// See the OpenSSL documentation for a list of supported digest algorithms.
|
||||
///
|
||||
/// Throws a Poco::NotFoundException if no algorithm with the given name exists.
|
||||
|
||||
|
||||
~DigestEngine();
|
||||
/// Destroys the DigestEngine.
|
||||
|
||||
|
||||
const std::string& algorithm() const;
|
||||
/// Returns the name of the digest algorithm.
|
||||
|
||||
|
||||
int nid() const;
|
||||
/// Returns the NID (OpenSSL object identifier) of the digest algorithm.
|
||||
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
|
||||
protected:
|
||||
void updateImpl(const void* data, std::size_t length);
|
||||
|
||||
|
||||
private:
|
||||
std::string _name;
|
||||
EVP_MD_CTX* _pContext;
|
||||
|
||||
@@ -32,6 +32,7 @@ class X509Certificate;
|
||||
class PKCS12Container;
|
||||
|
||||
|
||||
//@ deprecated
|
||||
class Crypto_API ECKey: public KeyPair
|
||||
/// This class stores an EC key pair, consisting
|
||||
/// of private and public key. Storage of the private
|
||||
|
||||
+3
-3
@@ -62,8 +62,8 @@ public:
|
||||
|
||||
ECKeyImpl(const std::string& publicKeyFile, const std::string& privateKeyFile, const std::string& privateKeyPassphrase);
|
||||
/// Creates the ECKey, by reading public and private key from the given files and
|
||||
/// using the given passphrase for the private key. Can only by used for signing if
|
||||
/// a private key is available.
|
||||
/// using the given passphrase for the private key. Can only by used for signing if
|
||||
/// a private key is available.
|
||||
|
||||
ECKeyImpl(std::istream* pPublicKeyStream, std::istream* pPrivateKeyStream, const std::string& privateKeyPassphrase);
|
||||
/// Creates the ECKey. Can only by used for signing if pPrivKey
|
||||
@@ -91,7 +91,7 @@ public:
|
||||
void save(const std::string& publicKeyFile,
|
||||
const std::string& privateKeyFile = "",
|
||||
const std::string& privateKeyPassphrase = "") const;
|
||||
/// Exports the public and private keys to the given files.
|
||||
/// Exports the public and private keys to the given files.
|
||||
///
|
||||
/// If an empty filename is specified, the corresponding key
|
||||
/// is not exported.
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
//
|
||||
// EVPCipherImpl.h
|
||||
//
|
||||
// Library: Crypto
|
||||
// Package: EVP
|
||||
// Module: EVPCipherImpl
|
||||
//
|
||||
// Definition of the EVPCipherImpl class.
|
||||
//
|
||||
// Copyright (c) 2008, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Crypto_EVPCipherImpl_INCLUDED
|
||||
#define Crypto_EVPCipherImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Crypto/Crypto.h"
|
||||
#include "Poco/Crypto/Cipher.h"
|
||||
#include "Poco/Crypto/EVPPKey.h"
|
||||
#include "Poco/Crypto/OpenSSLInitializer.h"
|
||||
#include <openssl/evp.h>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
|
||||
class EVPCipherImpl: public Cipher
|
||||
/// An implementation of the Cipher class for
|
||||
/// asymmetric (public-private key) encryption
|
||||
/// based on the OpenSSL crypto library.
|
||||
///
|
||||
/// Encryption is using the public key, decryption
|
||||
/// requires the private key.
|
||||
{
|
||||
public:
|
||||
EVPCipherImpl(const EVPPKey& key);
|
||||
/// Creates a new EVPCipherImpl object for the given EVPPKey
|
||||
/// and using the given padding mode.
|
||||
|
||||
virtual ~EVPCipherImpl();
|
||||
/// Destroys the EVPCipherImpl.
|
||||
|
||||
const std::string& name() const;
|
||||
/// Returns the name of the Cipher.
|
||||
|
||||
CryptoTransform::Ptr createEncryptor();
|
||||
/// Creates an encryptor object.
|
||||
|
||||
CryptoTransform::Ptr createDecryptor();
|
||||
/// Creates a decryptor object.
|
||||
|
||||
private:
|
||||
EVPPKey _key;
|
||||
OpenSSLInitializer _openSSLInitializer;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Inlines
|
||||
//
|
||||
|
||||
inline const std::string& EVPCipherImpl::name() const
|
||||
{
|
||||
return _key.name();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Crypto
|
||||
|
||||
|
||||
#endif // Crypto_EVPCipherImpl_INCLUDED
|
||||
+61
-22
@@ -22,20 +22,25 @@
|
||||
#include "Poco/Crypto/Crypto.h"
|
||||
#include "Poco/Crypto/CryptoException.h"
|
||||
#include "Poco/StreamCopier.h"
|
||||
#include "Poco/Format.h"
|
||||
#include <openssl/ec.h>
|
||||
#include <openssl/rsa.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/pem.h>
|
||||
#include <sstream>
|
||||
#include <typeinfo>
|
||||
#include <map>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
|
||||
//@deprecated
|
||||
class ECKey;
|
||||
//@deprecated
|
||||
class RSAKey;
|
||||
class PKCS12Container;
|
||||
class X509Certificate;
|
||||
|
||||
|
||||
class Crypto_API EVPPKey
|
||||
@@ -55,10 +60,36 @@ public:
|
||||
/// Only EC keys can be wrapped by an EVPPKey
|
||||
/// created using this constructor.
|
||||
|
||||
EVPPKey(const X509Certificate& cert);
|
||||
/// Constructs EVPPKey from the given certificate.
|
||||
|
||||
EVPPKey(const PKCS12Container& cert);
|
||||
/// Constructs EVPPKey from the given container.
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
|
||||
EVPPKey(int type, int param);
|
||||
/// Creates the EVPPKey.
|
||||
/// Creates a new public/private keypair using the given parameters.
|
||||
/// Can be used to sign data and verify signatures.
|
||||
///
|
||||
/// Suported types:
|
||||
/// - EVP_PKEY_RSA
|
||||
/// - EVP_PKEY_EC
|
||||
///
|
||||
/// Parameters:
|
||||
/// - for EVP_PKEY_RSA: key length in bits
|
||||
/// - for EVP_PKEY_EC: curve NID
|
||||
///
|
||||
/// This constructor is not available for OpenSSL version < 1.0.0
|
||||
|
||||
#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
|
||||
explicit EVPPKey(EVP_PKEY* pEVPPKey);
|
||||
/// Constructs EVPPKey from EVP_PKEY pointer.
|
||||
/// The content behind the supplied pointer is internally duplicated.
|
||||
|
||||
//@ deprecated
|
||||
template<typename K>
|
||||
explicit EVPPKey(K* pKey): _pEVPPKey(EVP_PKEY_new())
|
||||
/// Constructs EVPPKey from a "native" OpenSSL (RSA or EC_KEY),
|
||||
@@ -124,6 +155,9 @@ public:
|
||||
int type() const;
|
||||
/// Retuns the EVPPKey type NID.
|
||||
|
||||
const std::string& name() const;
|
||||
/// Retuns the EVPPKey name.
|
||||
|
||||
bool isSupported(int type) const;
|
||||
/// Returns true if OpenSSL type is supported
|
||||
|
||||
@@ -135,19 +169,25 @@ public:
|
||||
|
||||
static EVP_PKEY* duplicate(const EVP_PKEY* pFromKey, EVP_PKEY** pToKey);
|
||||
/// Duplicates pFromKey into *pToKey and returns
|
||||
// the pointer to duplicated EVP_PKEY.
|
||||
/// the pointer to duplicated EVP_PKEY.
|
||||
|
||||
private:
|
||||
EVPPKey();
|
||||
|
||||
static int type(const EVP_PKEY* pEVPPKey);
|
||||
void checkType();
|
||||
void newECKey(const char* group);
|
||||
void duplicate(EVP_PKEY* pEVPPKey);
|
||||
|
||||
//@ deprecated
|
||||
void setKey(ECKey* pKey);
|
||||
//@ deprecated
|
||||
void setKey(RSAKey* pKey);
|
||||
//@ deprecated
|
||||
void setKey(EC_KEY* pKey);
|
||||
//@ deprecated
|
||||
void setKey(RSA* pKey);
|
||||
|
||||
static int passCB(char* buf, int size, int, void* pass);
|
||||
|
||||
typedef EVP_PKEY* (*PEM_read_FILE_Key_fn)(FILE*, EVP_PKEY**, pem_password_cb*, void*);
|
||||
@@ -180,7 +220,7 @@ private:
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4996) // deprecation warnings
|
||||
#endif
|
||||
#endif
|
||||
pFile = fopen(keyFile.c_str(), "r");
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(pop)
|
||||
@@ -211,8 +251,10 @@ private:
|
||||
}
|
||||
else
|
||||
{
|
||||
std::string msg = Poco::format("EVPPKey::loadKey('%s')\n", keyFile);
|
||||
getError(msg);
|
||||
if (getFunc) EVP_PKEY_free(pKey);
|
||||
throw IOException("ECKeyImpl, cannot open file", keyFile);
|
||||
throw IOException(msg);
|
||||
}
|
||||
}
|
||||
else goto error;
|
||||
@@ -220,8 +262,10 @@ private:
|
||||
return false;
|
||||
|
||||
error:
|
||||
std::string msg = Poco::format("EVPPKey::loadKey('%s')\n", keyFile);
|
||||
getError(msg);
|
||||
if (pFile) fclose(pFile);
|
||||
throw OpenSSLException("EVPKey::loadKey(string)");
|
||||
throw OpenSSLException(msg);
|
||||
}
|
||||
|
||||
template <typename K, typename F>
|
||||
@@ -277,13 +321,18 @@ private:
|
||||
return false;
|
||||
|
||||
error:
|
||||
std::string msg = "EVPPKey::loadKey(istream)\n";
|
||||
getError(msg);
|
||||
if (pBIO) BIO_free(pBIO);
|
||||
throw OpenSSLException("EVPKey::loadKey(stream)");
|
||||
throw OpenSSLException(msg);
|
||||
}
|
||||
|
||||
EVP_PKEY* _pEVPPKey;
|
||||
EVP_PKEY* _pEVPPKey = 0;
|
||||
static const std::map<int, std::string> KNOWN_TYPES;
|
||||
|
||||
//@deprecated
|
||||
friend class ECKeyImpl;
|
||||
//@deprecated
|
||||
friend class RSAKeyImpl;
|
||||
};
|
||||
|
||||
@@ -297,7 +346,11 @@ inline bool EVPPKey::operator == (const EVPPKey& other) const
|
||||
{
|
||||
poco_check_ptr (other._pEVPPKey);
|
||||
poco_check_ptr (_pEVPPKey);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
return (1 == EVP_PKEY_eq(_pEVPPKey, other._pEVPPKey));
|
||||
#else
|
||||
return (1 == EVP_PKEY_cmp(_pEVPPKey, other._pEVPPKey));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -311,7 +364,7 @@ inline int EVPPKey::type(const EVP_PKEY* pEVPPKey)
|
||||
{
|
||||
if (!pEVPPKey) return NID_undef;
|
||||
|
||||
return EVP_PKEY_type(EVP_PKEY_id(pEVPPKey));
|
||||
return EVP_PKEY_type(EVP_PKEY_base_id(pEVPPKey));
|
||||
}
|
||||
|
||||
|
||||
@@ -339,20 +392,6 @@ inline EVPPKey::operator EVP_PKEY*()
|
||||
}
|
||||
|
||||
|
||||
inline void EVPPKey::setKey(EC_KEY* pKey)
|
||||
{
|
||||
if (!EVP_PKEY_set1_EC_KEY(_pEVPPKey, pKey))
|
||||
throw OpenSSLException();
|
||||
}
|
||||
|
||||
|
||||
inline void EVPPKey::setKey(RSA* pKey)
|
||||
{
|
||||
if (!EVP_PKEY_set1_RSA(_pEVPPKey, pKey))
|
||||
throw OpenSSLException();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Crypto
|
||||
|
||||
|
||||
|
||||
+174
@@ -0,0 +1,174 @@
|
||||
//
|
||||
// Envelope.h
|
||||
//
|
||||
// Library: Crypto
|
||||
// Package: Envelope
|
||||
// Module: Envelope
|
||||
//
|
||||
// Definition of the Envelope class.
|
||||
//
|
||||
// Copyright (c) 2008, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Crypto_Envelope_INCLUDED
|
||||
#define Crypto_Envelope_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Crypto/Crypto.h"
|
||||
#include "Poco/Crypto/EVPPKey.h"
|
||||
#include <vector>
|
||||
#include <openssl/evp.h>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
|
||||
class Crypto_API Envelope
|
||||
/// Envelope encrypts/decrypts data using a symmetric key.
|
||||
///
|
||||
/// Encryption and decryption with asymmetric keys is computationally expensive.
|
||||
/// To alleviate that, Envelope encrypts data using a symmetric session key;
|
||||
/// the key is then itself asymmetrically encrypted using a public key.
|
||||
/// It is also possible to encrypt the session key with multiple public keys,
|
||||
/// so that the message can be sent to multiple recipients.
|
||||
///
|
||||
/// Each recipient decrypts the session with their private key; the session
|
||||
/// key for the message decryption is the same for each recipient.
|
||||
{
|
||||
public:
|
||||
using Byte = unsigned char;
|
||||
using ByteVec = std::vector<Byte>;
|
||||
using EVPPKeyVec = std::vector<EVPPKey>;
|
||||
using EVP_PKEYVec = std::vector<EVP_PKEY*>;
|
||||
using EncKeyVec = std::vector<ByteVec>;
|
||||
|
||||
Envelope() = delete;
|
||||
|
||||
Envelope(const EVPPKey& key, int cipherNID);
|
||||
/// Creates a new Envelope object.
|
||||
/// Initialization vector is automatically
|
||||
/// generated.
|
||||
|
||||
Envelope(const EVPPKeyVec& keys, int cipherNID);
|
||||
/// Creates a new Envelope object.
|
||||
/// Initialization vector is automatically
|
||||
/// generated.
|
||||
|
||||
~Envelope();
|
||||
/// Destroys the Envelope.
|
||||
|
||||
const ByteVec& iv() const;
|
||||
/// Returns the initialization vector.
|
||||
|
||||
void addKey(const EVPPKey& key);
|
||||
/// Adds the key to the list of private keys.
|
||||
|
||||
const EncKeyVec& keys() const;
|
||||
/// Returns encrypted symmetric keys.
|
||||
|
||||
int cipherNID() const;
|
||||
/// Reurns the cipher NID.
|
||||
|
||||
const ByteVec& seal(const std::string& plainText);
|
||||
/// Encrypts the given text and returns the encrypted text.
|
||||
|
||||
const ByteVec& seal(const ByteVec& plainData);
|
||||
/// Encrypts the given data and returns the encrypted data.
|
||||
|
||||
const ByteVec& getContent() const;
|
||||
/// Returns the encrypted content.
|
||||
|
||||
void setContent(const ByteVec& enc);
|
||||
/// Sets the encrypted content.
|
||||
|
||||
ByteVec open(const EVPPKey& privKey, const ByteVec& encKeys, const ByteVec& iv = ByteVec());
|
||||
/// Decrypts the stored encrypted data and returns it.
|
||||
|
||||
std::string openAsString(const EVPPKey& privKey, const ByteVec& encKeys, const ByteVec& iv = ByteVec());
|
||||
/// Decrypts the stored encrypted data and returns it.
|
||||
|
||||
static std::string toString(const ByteVec& data);
|
||||
/// Converts and returns string from ByteVec.
|
||||
|
||||
private:
|
||||
Envelope(int cipherNID);
|
||||
Envelope(int cipherNID, const ByteVec& iv);
|
||||
|
||||
int ivSize() const;
|
||||
int blockSize() const;
|
||||
void handleErrors(std::string&& msg);
|
||||
|
||||
const EVP_CIPHER* _pCipher;
|
||||
EVP_CIPHER_CTX* _pCtx;
|
||||
EVP_CIPHER_CTX* _pDecCtx;
|
||||
ByteVec _iv;
|
||||
EVP_PKEYVec _pubKeys;
|
||||
EncKeyVec _encKeys;
|
||||
std::vector<int> _encKeysSizes;
|
||||
ByteVec _encContent;
|
||||
};
|
||||
|
||||
|
||||
inline int Envelope::ivSize() const
|
||||
{
|
||||
return EVP_CIPHER_iv_length(_pCipher);
|
||||
}
|
||||
|
||||
|
||||
inline const Envelope::ByteVec& Envelope::iv() const
|
||||
{
|
||||
return _iv;
|
||||
}
|
||||
|
||||
|
||||
inline int Envelope::blockSize() const
|
||||
{
|
||||
return EVP_CIPHER_block_size(_pCipher);
|
||||
}
|
||||
|
||||
|
||||
inline const Envelope::EncKeyVec& Envelope::keys() const
|
||||
{
|
||||
return _encKeys;
|
||||
}
|
||||
|
||||
|
||||
inline std::string Envelope::toString(const ByteVec& data)
|
||||
{
|
||||
return std::string(data.begin(), data.end());
|
||||
}
|
||||
|
||||
|
||||
inline std::string Envelope::openAsString(const EVPPKey& privKey, const ByteVec& encKey, const ByteVec& iv)
|
||||
{
|
||||
return toString(open(privKey, encKey, iv));
|
||||
}
|
||||
|
||||
|
||||
inline const Envelope::ByteVec& Envelope::getContent() const
|
||||
{
|
||||
return _encContent;
|
||||
}
|
||||
|
||||
|
||||
inline void Envelope::setContent(const ByteVec& enc)
|
||||
{
|
||||
_encContent = enc;
|
||||
}
|
||||
|
||||
|
||||
inline int Envelope::cipherNID() const
|
||||
{
|
||||
return EVP_CIPHER_nid(_pCipher);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Crypto
|
||||
|
||||
|
||||
#endif // Crypto_Envelope_INCLUDED
|
||||
+1
-1
@@ -56,7 +56,7 @@ public:
|
||||
virtual void save(const std::string& publicKeyFile,
|
||||
const std::string& privateKeyFile = "",
|
||||
const std::string& privateKeyPassphrase = "") const = 0;
|
||||
/// Exports the public and private keys to the given files.
|
||||
/// Exports the public and private keys to the given files.
|
||||
///
|
||||
/// If an empty filename is specified, the corresponding key
|
||||
/// is not exported.
|
||||
|
||||
+20
-7
@@ -22,7 +22,10 @@
|
||||
#include "Poco/Mutex.h"
|
||||
#include "Poco/AtomicCounter.h"
|
||||
#include <openssl/crypto.h>
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
#include <openssl/provider.h>
|
||||
#include <atomic>
|
||||
#endif
|
||||
#if defined(OPENSSL_FIPS) && OPENSSL_VERSION_NUMBER < 0x010001000L
|
||||
#include <openssl/fips.h>
|
||||
#endif
|
||||
@@ -50,10 +53,10 @@ class Crypto_API OpenSSLInitializer
|
||||
public:
|
||||
OpenSSLInitializer();
|
||||
/// Automatically initialize OpenSSL on startup.
|
||||
|
||||
|
||||
~OpenSSLInitializer();
|
||||
/// Automatically shut down OpenSSL on exit.
|
||||
|
||||
|
||||
static void initialize();
|
||||
/// Initializes the OpenSSL machinery.
|
||||
|
||||
@@ -61,27 +64,37 @@ public:
|
||||
/// Shuts down the OpenSSL machinery.
|
||||
|
||||
static bool isFIPSEnabled();
|
||||
// Returns true if FIPS mode is enabled, false otherwise.
|
||||
/// Returns true if FIPS mode is enabled, false otherwise.
|
||||
|
||||
static void enableFIPSMode(bool enabled);
|
||||
// Enable or disable FIPS mode. If FIPS is not available, this method doesn't do anything.
|
||||
/// Enable or disable FIPS mode. If FIPS is not available, this method doesn't do anything.
|
||||
|
||||
protected:
|
||||
enum
|
||||
{
|
||||
SEEDSIZE = 256
|
||||
};
|
||||
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
// OpenSSL multithreading support
|
||||
static void lock(int mode, int n, const char* file, int line);
|
||||
static unsigned long id();
|
||||
static struct CRYPTO_dynlock_value* dynlockCreate(const char* file, int line);
|
||||
static void dynlock(int mode, struct CRYPTO_dynlock_value* lock, const char* file, int line);
|
||||
static void dynlockDestroy(struct CRYPTO_dynlock_value* lock, const char* file, int line);
|
||||
#endif
|
||||
|
||||
private:
|
||||
static Poco::FastMutex* _mutexes;
|
||||
static Poco::AtomicCounter _rc;
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
static Poco::FastMutex* _mutexes;
|
||||
#endif
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
static OSSL_PROVIDER* _defaultProvider;
|
||||
static OSSL_PROVIDER* _legacyProvider;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ class Crypto_API RSADigestEngine: public Poco::DigestEngine
|
||||
/// signed. Then, the hash value is encrypted, using
|
||||
/// the RSA private key.
|
||||
///
|
||||
/// To verify a signature, pass it to the verify()
|
||||
/// To verify a signature, pass it to the verify()
|
||||
/// member function. It will decrypt the signature
|
||||
/// using the RSA public key and compare the resulting
|
||||
/// hash with the actual hash of the data.
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
DIGEST_MD5,
|
||||
DIGEST_SHA1
|
||||
};
|
||||
|
||||
|
||||
//@ deprecated
|
||||
RSADigestEngine(const RSAKey& key, DigestType digestType = DIGEST_SHA1);
|
||||
/// Creates the RSADigestEngine with the given RSA key,
|
||||
@@ -74,11 +74,11 @@ public:
|
||||
void reset();
|
||||
/// Resets the engine so that a new
|
||||
/// digest can be computed.
|
||||
|
||||
|
||||
const DigestEngine::Digest& digest();
|
||||
/// Finishes the computation of the digest
|
||||
/// Finishes the computation of the digest
|
||||
/// (the first time it's called) and
|
||||
/// returns the message digest.
|
||||
/// returns the message digest.
|
||||
///
|
||||
/// Can be called multiple times.
|
||||
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ class X509Certificate;
|
||||
class PKCS12Container;
|
||||
|
||||
|
||||
//@ deprecated
|
||||
class Crypto_API RSAKey: public KeyPair
|
||||
/// This class stores an RSA key pair, consisting
|
||||
/// of private and public key. Storage of the private
|
||||
@@ -56,7 +57,7 @@ public:
|
||||
};
|
||||
|
||||
RSAKey(const EVPPKey& key);
|
||||
/// Constructs ECKeyImpl by extracting the EC key.
|
||||
/// Constructs RSAKey by extracting the RSA key.
|
||||
|
||||
RSAKey(const X509Certificate& cert);
|
||||
/// Extracts the RSA public key from the given certificate.
|
||||
|
||||
+5
-5
@@ -51,13 +51,13 @@ public:
|
||||
using ByteVec = std::vector<unsigned char>;
|
||||
|
||||
RSAKeyImpl(const EVPPKey& key);
|
||||
/// Constructs ECKeyImpl by extracting the EC key.
|
||||
/// Constructs RSAKeyImpl by extracting the RSA key.
|
||||
|
||||
RSAKeyImpl(const X509Certificate& cert);
|
||||
/// Extracts the RSA public key from the given certificate.
|
||||
|
||||
RSAKeyImpl(const PKCS12Container& cert);
|
||||
/// Extracts the EC private key from the given certificate.
|
||||
/// Extracts the RSA private key from the given certificate.
|
||||
|
||||
RSAKeyImpl(int keyLength, unsigned long exponent);
|
||||
/// Creates the RSAKey. Creates a new public/private keypair using the given parameters.
|
||||
@@ -65,8 +65,8 @@ public:
|
||||
|
||||
RSAKeyImpl(const std::string& publicKeyFile, const std::string& privateKeyFile, const std::string& privateKeyPassphrase);
|
||||
/// Creates the RSAKey, by reading public and private key from the given files and
|
||||
/// using the given passphrase for the private key. Can only by used for signing if
|
||||
/// a private key is available.
|
||||
/// using the given passphrase for the private key. Can only by used for signing if
|
||||
/// a private key is available.
|
||||
|
||||
RSAKeyImpl(std::istream* pPublicKeyStream, std::istream* pPrivateKeyStream, const std::string& privateKeyPassphrase);
|
||||
/// Creates the RSAKey. Can only by used for signing if pPrivKey
|
||||
@@ -97,7 +97,7 @@ public:
|
||||
void save(const std::string& publicKeyFile,
|
||||
const std::string& privateKeyFile = "",
|
||||
const std::string& privateKeyPassphrase = "") const;
|
||||
/// Exports the public and private keys to the given files.
|
||||
/// Exports the public and private keys to the given files.
|
||||
///
|
||||
/// If an empty filename is specified, the corresponding key
|
||||
/// is not exported.
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
X509Certificate& operator = (X509Certificate&& cert) noexcept;
|
||||
/// Move assignment.
|
||||
|
||||
void swap(X509Certificate& cert);
|
||||
void swap(X509Certificate& cert) noexcept;
|
||||
/// Exchanges the certificate with another one.
|
||||
|
||||
~X509Certificate();
|
||||
|
||||
@@ -13,9 +13,13 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
objects = genrsakey
|
||||
|
||||
target = genrsakey
|
||||
|
||||
@@ -0,0 +1,607 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug_shared|Win32">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_shared|x64">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|Win32">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|x64">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|Win32">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|x64">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|Win32">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|x64">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|Win32">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|x64">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|Win32">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|x64">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>genrsakey</ProjectName>
|
||||
<ProjectGuid>{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}</ProjectGuid>
|
||||
<RootNamespace>genrsakey</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||
<ImportGroup Label="ExtensionSettings"/>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>15.0.28307.799</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">genrsakeyd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">genrsakeyd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">genrsakeyd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">genrsakey</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">genrsakey</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">genrsakey</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">genrsakeyd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">genrsakeyd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">genrsakeyd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">genrsakey</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">genrsakey</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">genrsakey</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<OutDir>bin\</OutDir>
|
||||
<IntDir>obj\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<OutDir>bin\</OutDir>
|
||||
<IntDir>obj\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<OutDir>bin\static_mt\</OutDir>
|
||||
<IntDir>obj\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<OutDir>bin\static_mt\</OutDir>
|
||||
<IntDir>obj\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<OutDir>bin\static_md\</OutDir>
|
||||
<IntDir>obj\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<OutDir>bin\static_md\</OutDir>
|
||||
<IntDir>obj\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<OutDir>bin64\</OutDir>
|
||||
<IntDir>obj64\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<OutDir>bin64\</OutDir>
|
||||
<IntDir>obj64\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<OutDir>bin64\static_mt\</OutDir>
|
||||
<IntDir>obj64\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<OutDir>bin64\static_mt\</OutDir>
|
||||
<IntDir>obj64\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<OutDir>bin64\static_md\</OutDir>
|
||||
<IntDir>obj64\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<OutDir>bin64\static_md\</OutDir>
|
||||
<IntDir>obj64\genrsakey\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\genrsakeyd.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin\genrsakeyd.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\genrsakey.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>iphlpapi.lib;winmm.lib;Crypt32.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\static_mt\genrsakeyd.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin\static_mt\genrsakeyd.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>iphlpapi.lib;winmm.lib;Crypt32.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\static_mt\genrsakey.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>iphlpapi.lib;winmm.lib;Crypt32.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\static_md\genrsakeyd.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin\static_md\genrsakeyd.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>iphlpapi.lib;winmm.lib;Crypt32.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\static_md\genrsakey.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\genrsakeyd.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin64\genrsakeyd.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\genrsakey.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>iphlpapi.lib;winmm.lib;Crypt32.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\static_mt\genrsakeyd.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin64\static_mt\genrsakeyd.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>iphlpapi.lib;winmm.lib;Crypt32.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\static_mt\genrsakey.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>iphlpapi.lib;winmm.lib;Crypt32.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\static_md\genrsakeyd.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin64\static_md\genrsakeyd.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Crypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>iphlpapi.lib;winmm.lib;Crypt32.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\static_md\genrsakey.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\genrsakey.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||
<ImportGroup Label="ExtensionTargets"/>
|
||||
</Project>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{23a8923d-3376-47f4-9a6f-19a3a66382c3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{8fc78ac1-efab-4a1b-8e59-1b68d96f306a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\genrsakey.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+12
-12
@@ -52,29 +52,29 @@ public:
|
||||
{
|
||||
Poco::Crypto::initializeCrypto();
|
||||
}
|
||||
|
||||
|
||||
~RSAApp()
|
||||
{
|
||||
Poco::Crypto::uninitializeCrypto();
|
||||
}
|
||||
|
||||
protected:
|
||||
protected:
|
||||
void initialize(Application& self)
|
||||
{
|
||||
loadConfiguration(); // load default configuration files, if present
|
||||
Application::initialize(self);
|
||||
}
|
||||
|
||||
|
||||
void uninitialize()
|
||||
{
|
||||
Application::uninitialize();
|
||||
}
|
||||
|
||||
|
||||
void reinitialize(Application& self)
|
||||
{
|
||||
Application::reinitialize(self);
|
||||
}
|
||||
|
||||
|
||||
void defineOptions(OptionSet& options)
|
||||
{
|
||||
Application::defineOptions(options);
|
||||
@@ -97,7 +97,7 @@ protected:
|
||||
.repeatable(false)
|
||||
.argument("512|1024|2048|4096")
|
||||
.callback(OptionCallback<RSAApp>(this, &RSAApp::handleKeyLength)));
|
||||
|
||||
|
||||
options.addOption(
|
||||
Option("exponent", "e", "defines the exponent of the key")
|
||||
.required(false)
|
||||
@@ -119,14 +119,14 @@ protected:
|
||||
.argument("pwd")
|
||||
.callback(OptionCallback<RSAApp>(this, &RSAApp::handlePassword)));
|
||||
}
|
||||
|
||||
|
||||
void handleHelp(const std::string& name, const std::string& value)
|
||||
{
|
||||
_helpRequested = true;
|
||||
displayHelp();
|
||||
stopOptionsProcessing();
|
||||
}
|
||||
|
||||
|
||||
void handleKeyLength(const std::string& name, const std::string& value)
|
||||
{
|
||||
int keyLen = Poco::NumberParser::parse(value);
|
||||
@@ -150,12 +150,12 @@ protected:
|
||||
throw Poco::Util::IncompatibleOptionsException("Empty file prefix forbidden");
|
||||
_name = value;
|
||||
}
|
||||
|
||||
|
||||
void handlePassword(const std::string& name, const std::string& value)
|
||||
{
|
||||
_pwd = value;
|
||||
}
|
||||
|
||||
|
||||
void displayHelp()
|
||||
{
|
||||
HelpFormatter helpFormatter(options());
|
||||
@@ -176,14 +176,14 @@ protected:
|
||||
logger().information("Generating key: DONE");
|
||||
std::string pubFile(_name + ".pub");
|
||||
std::string privFile(_name + ".priv");
|
||||
|
||||
|
||||
logger().information("Saving key to " + pubFile + " and " + privFile);
|
||||
key.save(pubFile, privFile, _pwd);
|
||||
logger().information("Key saved");
|
||||
}
|
||||
return Application::EXIT_OK;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
bool _helpRequested;
|
||||
RSAKey::KeyLength _length;
|
||||
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrsakey", "genrsakey\genrsakey_vs170.vcxproj", "{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
debug_shared|Win32 = debug_shared|Win32
|
||||
release_shared|Win32 = release_shared|Win32
|
||||
debug_static_mt|Win32 = debug_static_mt|Win32
|
||||
release_static_mt|Win32 = release_static_mt|Win32
|
||||
debug_static_md|Win32 = debug_static_md|Win32
|
||||
release_static_md|Win32 = release_static_md|Win32
|
||||
debug_shared|x64 = debug_shared|x64
|
||||
release_shared|x64 = release_shared|x64
|
||||
debug_static_mt|x64 = debug_static_mt|x64
|
||||
release_static_mt|x64 = release_static_mt|x64
|
||||
debug_static_md|x64 = debug_static_md|x64
|
||||
release_static_md|x64 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{D6BE1AD9-4CB6-3184-8DF8-5210AE7D6947}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
Vendored
+12
-8
@@ -39,30 +39,32 @@ Cipher::~Cipher()
|
||||
}
|
||||
|
||||
|
||||
std::string Cipher::encryptString(const std::string& str, Encoding encoding)
|
||||
std::string Cipher::encryptString(const std::string& str, Encoding encoding, bool padding)
|
||||
{
|
||||
std::istringstream source(str);
|
||||
std::ostringstream sink;
|
||||
|
||||
encrypt(source, sink, encoding);
|
||||
encrypt(source, sink, encoding, padding);
|
||||
|
||||
return sink.str();
|
||||
}
|
||||
|
||||
|
||||
std::string Cipher::decryptString(const std::string& str, Encoding encoding)
|
||||
std::string Cipher::decryptString(const std::string& str, Encoding encoding, bool padding)
|
||||
{
|
||||
std::istringstream source(str);
|
||||
std::ostringstream sink;
|
||||
|
||||
decrypt(source, sink, encoding);
|
||||
decrypt(source, sink, encoding, padding);
|
||||
return sink.str();
|
||||
}
|
||||
|
||||
|
||||
void Cipher::encrypt(std::istream& source, std::ostream& sink, Encoding encoding)
|
||||
void Cipher::encrypt(std::istream& source, std::ostream& sink, Encoding encoding, bool padding)
|
||||
{
|
||||
CryptoInputStream encryptor(source, createEncryptor());
|
||||
CryptoTransform::Ptr p = createEncryptor();
|
||||
if (!padding) p->setPadding(0);
|
||||
CryptoInputStream encryptor(source, p);
|
||||
|
||||
switch (encoding)
|
||||
{
|
||||
@@ -102,9 +104,11 @@ void Cipher::encrypt(std::istream& source, std::ostream& sink, Encoding encoding
|
||||
}
|
||||
|
||||
|
||||
void Cipher::decrypt(std::istream& source, std::ostream& sink, Encoding encoding)
|
||||
void Cipher::decrypt(std::istream& source, std::ostream& sink, Encoding encoding, bool padding)
|
||||
{
|
||||
CryptoOutputStream decryptor(sink, createDecryptor());
|
||||
CryptoTransform::Ptr p = createDecryptor();
|
||||
if (!padding) p->setPadding(0);
|
||||
CryptoOutputStream decryptor(sink, p);
|
||||
|
||||
switch (encoding)
|
||||
{
|
||||
|
||||
+14
@@ -18,10 +18,14 @@
|
||||
#include "Poco/Crypto/RSAKey.h"
|
||||
#include "Poco/Crypto/CipherImpl.h"
|
||||
#include "Poco/Crypto/RSACipherImpl.h"
|
||||
#include "Poco/Crypto/EVPCipherImpl.h"
|
||||
#include "Poco/Exception.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/err.h>
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
#include <openssl/provider.h>
|
||||
#endif
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@@ -30,6 +34,10 @@ namespace Crypto {
|
||||
|
||||
CipherFactory::CipherFactory()
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
OSSL_PROVIDER_load(NULL, "default");
|
||||
OSSL_PROVIDER_load(NULL, "legacy");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -62,4 +70,10 @@ Cipher* CipherFactory::createCipher(const RSAKey& key, RSAPaddingMode paddingMod
|
||||
}
|
||||
|
||||
|
||||
Cipher* CipherFactory::createCipher(const EVPPKey& key)
|
||||
{
|
||||
return new EVPCipherImpl(key);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Crypto
|
||||
+4
-2
@@ -98,20 +98,22 @@ namespace
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
_pContext = EVP_CIPHER_CTX_new();
|
||||
EVP_CipherInit(
|
||||
if (!_pContext) throwError();
|
||||
int rc = EVP_CipherInit(
|
||||
_pContext,
|
||||
_pCipher,
|
||||
&_key[0],
|
||||
_iv.empty() ? 0 : &_iv[0],
|
||||
(dir == DIR_ENCRYPT) ? 1 : 0);
|
||||
#else
|
||||
EVP_CipherInit(
|
||||
int rc = EVP_CipherInit(
|
||||
&_context,
|
||||
_pCipher,
|
||||
&_key[0],
|
||||
_iv.empty() ? 0 : &_iv[0],
|
||||
(dir == DIR_ENCRYPT) ? 1 : 0);
|
||||
#endif
|
||||
if (rc == 0) throwError();
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10001000L
|
||||
if (_iv.size() != EVP_CIPHER_iv_length(_pCipher) && EVP_CIPHER_mode(_pCipher) == EVP_CIPH_GCM_MODE)
|
||||
|
||||
+21
@@ -21,6 +21,25 @@
|
||||
#include <openssl/evp.h>
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
void throwError()
|
||||
{
|
||||
unsigned long err;
|
||||
std::string msg;
|
||||
|
||||
while ((err = ERR_get_error()))
|
||||
{
|
||||
if (!msg.empty())
|
||||
msg.append("; ");
|
||||
msg.append(ERR_error_string(err, 0));
|
||||
}
|
||||
|
||||
throw Poco::IOException(msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
@@ -186,6 +205,8 @@ void CipherKeyImpl::generateKey(
|
||||
keyBytes,
|
||||
ivBytes);
|
||||
|
||||
if (!keySize) throwError();
|
||||
|
||||
// Copy the buffers to our member byte vectors.
|
||||
_key.assign(keyBytes, keyBytes + keySize);
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ CryptoTransform::~CryptoTransform()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
int CryptoTransform::setPadding(int padding)
|
||||
{
|
||||
return 1;
|
||||
|
||||
+6
-2
@@ -26,10 +26,10 @@ DigestEngine::DigestEngine(const std::string& name):
|
||||
{
|
||||
const EVP_MD* md = EVP_get_digestbyname(_name.c_str());
|
||||
if (!md) throw Poco::NotFoundException(_name);
|
||||
EVP_DigestInit_ex(_pContext, md, NULL);
|
||||
EVP_DigestInit_ex(_pContext, md, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
DigestEngine::~DigestEngine()
|
||||
{
|
||||
EVP_MD_CTX_destroy(_pContext);
|
||||
@@ -37,7 +37,11 @@ DigestEngine::~DigestEngine()
|
||||
|
||||
int DigestEngine::nid() const
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
return EVP_MD_nid(EVP_MD_CTX_get0_md(_pContext));
|
||||
#else
|
||||
return EVP_MD_nid(EVP_MD_CTX_md(_pContext));
|
||||
#endif
|
||||
}
|
||||
|
||||
std::size_t DigestEngine::digestLength() const
|
||||
|
||||
Vendored
+2
-4
@@ -21,9 +21,7 @@
|
||||
#include "Poco/StreamCopier.h"
|
||||
#include <sstream>
|
||||
#include <openssl/evp.h>
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
#include <openssl/bn.h>
|
||||
#endif
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@@ -78,8 +76,8 @@ ECKeyImpl::ECKeyImpl(int curve):
|
||||
}
|
||||
|
||||
|
||||
ECKeyImpl::ECKeyImpl(const std::string& publicKeyFile,
|
||||
const std::string& privateKeyFile,
|
||||
ECKeyImpl::ECKeyImpl(const std::string& publicKeyFile,
|
||||
const std::string& privateKeyFile,
|
||||
const std::string& privateKeyPassphrase): KeyPairImpl("ec", KT_EC_IMPL), _pEC(0)
|
||||
{
|
||||
if (EVPPKey::loadKey(&_pEC, PEM_read_PrivateKey, EVP_PKEY_get1_EC_KEY, privateKeyFile, privateKeyPassphrase))
|
||||
|
||||
+310
@@ -0,0 +1,310 @@
|
||||
//
|
||||
// EVPCipherImpl.cpp
|
||||
//
|
||||
// Library: Crypto
|
||||
// Package: EVP
|
||||
// Module: EVPCipherImpl
|
||||
//
|
||||
// Copyright (c) 2008, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#include "Poco/Crypto/EVPCipherImpl.h"
|
||||
#include "Poco/Crypto/CryptoTransform.h"
|
||||
#include "Poco/Exception.h"
|
||||
#include "Poco/Logger.h"
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <cstring>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
void throwError(std::string&& msg)
|
||||
{
|
||||
unsigned long err;
|
||||
while ((err = ERR_get_error()))
|
||||
{
|
||||
if (!msg.empty()) msg.append("; ");
|
||||
msg.append(ERR_error_string(err, 0));
|
||||
}
|
||||
|
||||
throw Poco::IOException(msg);
|
||||
}
|
||||
|
||||
class EVPPKeyContext
|
||||
{
|
||||
public:
|
||||
EVPPKeyContext() = delete;
|
||||
EVPPKeyContext(const EVP_PKEY* pEVP) : _pCtx(EVP_PKEY_CTX_new(const_cast<EVP_PKEY*>(pEVP), NULL))
|
||||
{
|
||||
if (!_pCtx)
|
||||
{
|
||||
std::string fmt = "EVPPKeyContext():%s()";
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_CTX_new")));
|
||||
}
|
||||
}
|
||||
|
||||
~EVPPKeyContext()
|
||||
{
|
||||
EVP_PKEY_CTX_free(_pCtx);
|
||||
}
|
||||
|
||||
operator EVP_PKEY_CTX*()
|
||||
{
|
||||
return _pCtx;
|
||||
}
|
||||
|
||||
private:
|
||||
EVP_PKEY_CTX* _pCtx = nullptr;
|
||||
};
|
||||
|
||||
class EVPEncryptImpl: public CryptoTransform
|
||||
{
|
||||
public:
|
||||
EVPEncryptImpl(const EVP_PKEY* pEVP):
|
||||
_pEVP(pEVP),
|
||||
_pCtx(_pEVP),
|
||||
_pos(0),
|
||||
_pBuf(0)
|
||||
{
|
||||
std::string fmt = "EVPEncryptImpl():%s()";
|
||||
poco_check_ptr(_pEVP);
|
||||
|
||||
if (!_pCtx)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_CTX_new")));
|
||||
|
||||
if (EVP_PKEY_encrypt_init(_pCtx) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_encrypt_init")));
|
||||
|
||||
_blockSize = EVP_PKEY_size(const_cast<EVP_PKEY*>(_pEVP));
|
||||
if (!_blockSize)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_size")));
|
||||
_pBuf = new unsigned char[_blockSize];
|
||||
}
|
||||
|
||||
~EVPEncryptImpl()
|
||||
{
|
||||
delete [] _pBuf;
|
||||
}
|
||||
|
||||
std::size_t blockSize() const
|
||||
{
|
||||
return _blockSize;
|
||||
}
|
||||
|
||||
std::string getTag(std::size_t)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
void setTag(const std::string&)
|
||||
{
|
||||
}
|
||||
|
||||
std::streamsize transform(const unsigned char* input, std::streamsize inputLength,
|
||||
unsigned char* output, std::streamsize outputLength)
|
||||
{
|
||||
std::string fmt = "EVPEncryptImpl::transform():%s()";
|
||||
std::streamsize maxSize = static_cast<std::streamsize>(maxDataSize(input, inputLength));
|
||||
std::streamsize evpSize = static_cast<std::streamsize>(_blockSize);
|
||||
poco_assert_dbg(_pos <= maxSize);
|
||||
poco_assert (outputLength >= evpSize);
|
||||
int rc = 0;
|
||||
while (inputLength > 0)
|
||||
{
|
||||
poco_assert_dbg (maxSize >= _pos);
|
||||
std::streamsize missing = maxSize - _pos;
|
||||
if (missing == 0)
|
||||
{
|
||||
poco_assert (outputLength >= evpSize);
|
||||
std::size_t outLen;
|
||||
if (EVP_PKEY_encrypt(_pCtx, NULL, &outLen, _pBuf, static_cast<std::size_t>(maxSize)) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_encrypt(NULL)")));
|
||||
if (EVP_PKEY_encrypt(_pCtx, output, &outLen, _pBuf, static_cast<std::size_t>(maxSize)) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_encrypt")));
|
||||
rc += static_cast<int>(outLen);
|
||||
output += outLen;
|
||||
outputLength -= outLen;
|
||||
_pos = 0;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (missing > inputLength) missing = inputLength;
|
||||
std::memcpy(_pBuf + _pos, input, static_cast<std::size_t>(missing));
|
||||
input += missing;
|
||||
_pos += missing;
|
||||
inputLength -= missing;
|
||||
}
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
std::streamsize finalize(unsigned char* output, std::streamsize length)
|
||||
{
|
||||
poco_assert (length >= blockSize());
|
||||
poco_assert (_pos <= maxDataSize(output, length));
|
||||
std::string fmt = "EVPEncryptImpl::finalize():%s()";
|
||||
std::size_t outLen = 0;
|
||||
if (_pos > 0)
|
||||
{
|
||||
if (EVP_PKEY_encrypt(_pCtx, NULL, &outLen, _pBuf, static_cast<std::size_t>(_pos)) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_encrypt")));
|
||||
if (EVP_PKEY_encrypt(_pCtx, output, &outLen, _pBuf, static_cast<std::size_t>(_pos)) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_encrypt")));
|
||||
}
|
||||
return static_cast<std::streamsize>(outLen);
|
||||
}
|
||||
|
||||
private:
|
||||
std::size_t maxDataSize(const unsigned char* pIO, std::streamsize length)
|
||||
{
|
||||
std::string fmt = "EVPEncryptImpl::maxDataSize():%s()";
|
||||
std::size_t outLength = 0;
|
||||
if (EVP_PKEY_encrypt(_pCtx, NULL, &outLength, pIO, length) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_encrypt")));
|
||||
return outLength;
|
||||
}
|
||||
|
||||
const EVP_PKEY* _pEVP;
|
||||
EVPPKeyContext _pCtx;
|
||||
int _blockSize;
|
||||
std::streamsize _pos;
|
||||
unsigned char* _pBuf;
|
||||
};
|
||||
|
||||
|
||||
class EVPDecryptImpl: public CryptoTransform
|
||||
{
|
||||
public:
|
||||
EVPDecryptImpl(const EVP_PKEY* pEVP):
|
||||
_pEVP(pEVP),
|
||||
_pCtx(_pEVP),
|
||||
_pos(0),
|
||||
_pBuf(0)
|
||||
{
|
||||
std::string fmt = "EVPDecryptImpl():%s()";
|
||||
poco_check_ptr(_pEVP);
|
||||
|
||||
if (EVP_PKEY_decrypt_init(_pCtx) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_decrypt_init")));
|
||||
|
||||
_blockSize = EVP_PKEY_size(const_cast<EVP_PKEY*>(_pEVP));
|
||||
if (!_blockSize)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_size")));
|
||||
_pBuf = new unsigned char[_blockSize];
|
||||
}
|
||||
|
||||
~EVPDecryptImpl()
|
||||
{
|
||||
delete [] _pBuf;
|
||||
}
|
||||
|
||||
std::size_t blockSize() const
|
||||
{
|
||||
return _blockSize;
|
||||
}
|
||||
|
||||
std::string getTag(std::size_t)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
void setTag(const std::string&)
|
||||
{
|
||||
}
|
||||
|
||||
std::streamsize transform(const unsigned char* input, std::streamsize inputLength,
|
||||
unsigned char* output, std::streamsize outputLength)
|
||||
{
|
||||
std::string fmt = "EVPDecryptImpl::transform():%s()";
|
||||
std::streamsize evpSize = static_cast<std::streamsize>(_blockSize);
|
||||
poco_assert_dbg(_pos <= evpSize);
|
||||
poco_assert (outputLength >= evpSize);
|
||||
int rc = 0;
|
||||
while (inputLength > 0)
|
||||
{
|
||||
poco_assert_dbg (evpSize >= _pos);
|
||||
std::streamsize missing = evpSize - _pos;
|
||||
if (missing == 0)
|
||||
{
|
||||
std::size_t outLen = 0;
|
||||
if (EVP_PKEY_decrypt(_pCtx, NULL, &outLen, _pBuf, static_cast<std::size_t>(_pos)) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_decrypt(NULL)")));
|
||||
if (EVP_PKEY_decrypt(_pCtx, output, &outLen, _pBuf, static_cast<std::size_t>(_pos)) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_decrypt")));
|
||||
rc += static_cast<int>(outLen);
|
||||
output += outLen;
|
||||
outputLength -= outLen;
|
||||
_pos = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (missing > inputLength) missing = inputLength;
|
||||
std::memcpy(_pBuf + _pos, input, static_cast<std::size_t>(missing));
|
||||
input += missing;
|
||||
_pos += missing;
|
||||
inputLength -= missing;
|
||||
}
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
std::streamsize finalize(unsigned char* output, std::streamsize length)
|
||||
{
|
||||
poco_assert (length >= _blockSize);
|
||||
std::string fmt = "EVPDecryptImpl::finalize():%s()";
|
||||
std::size_t outLen = 0;
|
||||
if (EVP_PKEY_decrypt(_pCtx, NULL, &outLen, _pBuf, static_cast<std::size_t>(_pos)) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_decrypt(NULL)")));
|
||||
poco_assert (length >= outLen);
|
||||
if (_pos > 0)
|
||||
{
|
||||
if (EVP_PKEY_decrypt(_pCtx, output, &outLen, _pBuf, static_cast<std::size_t>(_pos)) <= 0)
|
||||
throwError(Poco::format(fmt, std::string("EVP_PKEY_decrypt")));
|
||||
}
|
||||
return outLen;
|
||||
}
|
||||
|
||||
private:
|
||||
const EVP_PKEY* _pEVP;
|
||||
EVPPKeyContext _pCtx;
|
||||
int _blockSize;
|
||||
std::streamsize _pos;
|
||||
unsigned char* _pBuf;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
EVPCipherImpl::EVPCipherImpl(const EVPPKey& key):
|
||||
_key(key)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
EVPCipherImpl::~EVPCipherImpl()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
CryptoTransform::Ptr EVPCipherImpl::createEncryptor()
|
||||
{
|
||||
return new EVPEncryptImpl(_key);
|
||||
}
|
||||
|
||||
|
||||
CryptoTransform::Ptr EVPCipherImpl::createDecryptor()
|
||||
{
|
||||
return new EVPDecryptImpl(_key);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Crypto
|
||||
Vendored
+215
-18
@@ -14,19 +14,33 @@
|
||||
|
||||
|
||||
#include "Poco/Crypto/EVPPKey.h"
|
||||
#include "Poco/Crypto/PKCS12Container.h"
|
||||
#include "Poco/Crypto/X509Certificate.h"
|
||||
#include "Poco/Crypto/ECKey.h"
|
||||
#include "Poco/Crypto/RSAKey.h"
|
||||
#include "Poco/NumberFormatter.h"
|
||||
#include <iostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
|
||||
const std::map<int, std::string> EVPPKey::KNOWN_TYPES =
|
||||
{
|
||||
{ EVP_PKEY_RSA, "rsa" },
|
||||
// not implemented
|
||||
//{ EVP_PKEY_DSA, "dsa" },
|
||||
//{ EVP_PKEY_DH, "dh" },
|
||||
{ EVP_PKEY_EC, "ec" }
|
||||
};
|
||||
|
||||
|
||||
EVPPKey::EVPPKey(const std::string& ecCurveName): _pEVPPKey(0)
|
||||
{
|
||||
newECKey(ecCurveName.c_str());
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
@@ -34,13 +48,93 @@ EVPPKey::EVPPKey(const char* ecCurveName): _pEVPPKey(0)
|
||||
{
|
||||
newECKey(ecCurveName);
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
EVPPKey::EVPPKey(const X509Certificate& cert):
|
||||
_pEVPPKey(X509_get_pubkey(const_cast<X509*>(cert.certificate())))
|
||||
{
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
EVPPKey::EVPPKey(const PKCS12Container& cont): EVPPKey(cont.getKey())
|
||||
{
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
|
||||
EVPPKey::EVPPKey(int type, int param): _pEVPPKey(0)
|
||||
{
|
||||
EVP_PKEY_CTX *pCtx = EVP_PKEY_CTX_new_id(type, NULL);
|
||||
if (NULL == pCtx)
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey(%d, %d):EVP_PKEY_CTX_new_id()\n", type, param);
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
int ret = EVP_PKEY_keygen_init(pCtx);
|
||||
if (ret != 1)
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey(%d, %d):EVP_PKEY_keygen_init()\n", type, param);
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
|
||||
if (EVP_PKEY_RSA == type)
|
||||
{
|
||||
ret = EVP_PKEY_CTX_set_rsa_keygen_bits(pCtx, param);
|
||||
if (ret != 1)
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey(%d, %d):EVP_PKEY_CTX_set_rsa_keygen_bits()\n", type, param);
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
}
|
||||
else if (EVP_PKEY_EC == type)
|
||||
{
|
||||
ret = EVP_PKEY_CTX_set_ec_paramgen_curve_nid(pCtx, param);
|
||||
if (ret != 1)
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey(%d, %d):EVP_PKEY_CTX_set_ec_paramgen_curve_nid()\n", type, param);
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
}
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
ret = EVP_PKEY_generate(pCtx, &_pEVPPKey);
|
||||
if (ret != 1)
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey(%d, %d):EVP_PKEY_generate()\n", type, param);
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
#else
|
||||
ret = EVP_PKEY_keygen(pCtx, &_pEVPPKey);
|
||||
if (ret != 1)
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey(%d, %d):EVP_PKEY_keygen()\n", type, param);
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
#endif
|
||||
EVP_PKEY_CTX_free(pCtx);
|
||||
checkType();
|
||||
}
|
||||
|
||||
#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
|
||||
|
||||
EVPPKey::EVPPKey(EVP_PKEY* pEVPPKey): _pEVPPKey(0)
|
||||
{
|
||||
duplicate(pEVPPKey, &_pEVPPKey);
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
@@ -57,9 +151,11 @@ EVPPKey::EVPPKey(const std::string& publicKeyFile,
|
||||
// no private key, this must be public key only, otherwise throw
|
||||
if (!loadKey(&_pEVPPKey, PEM_read_PUBKEY, (EVP_PKEY_get_Key_fn)0, publicKeyFile))
|
||||
{
|
||||
throw OpenSSLException("ECKeyImpl(const string&, const string&, const string&");
|
||||
std::string msg = "EVPPKey(const string&, const string&, const string&)\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
@@ -76,9 +172,11 @@ EVPPKey::EVPPKey(std::istream* pPublicKeyStream,
|
||||
// no private key, this must be public key only, otherwise throw
|
||||
if (!loadKey(&_pEVPPKey, PEM_read_bio_PUBKEY, (EVP_PKEY_get_Key_fn)0, pPublicKeyStream))
|
||||
{
|
||||
throw OpenSSLException("ECKeyImpl(istream*, istream*, const string&");
|
||||
std::string msg = "EVPPKey(istream* ,istream* const string&)\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +184,7 @@ EVPPKey::EVPPKey(const EVPPKey& other)
|
||||
{
|
||||
duplicate(other._pEVPPKey, &_pEVPPKey);
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
@@ -93,6 +192,7 @@ EVPPKey::EVPPKey(EVPPKey&& other) noexcept:
|
||||
_pEVPPKey(other._pEVPPKey)
|
||||
{
|
||||
other._pEVPPKey = nullptr;
|
||||
checkType();
|
||||
}
|
||||
|
||||
|
||||
@@ -100,6 +200,7 @@ EVPPKey& EVPPKey::operator = (const EVPPKey& other)
|
||||
{
|
||||
duplicate(other._pEVPPKey, &_pEVPPKey);
|
||||
poco_check_ptr(_pEVPPKey);
|
||||
checkType();
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -108,6 +209,7 @@ EVPPKey& EVPPKey::operator = (EVPPKey&& other) noexcept
|
||||
{
|
||||
_pEVPPKey = other._pEVPPKey;
|
||||
other._pEVPPKey = nullptr;
|
||||
checkType();
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -118,19 +220,68 @@ EVPPKey::~EVPPKey()
|
||||
}
|
||||
|
||||
|
||||
const std::string& EVPPKey::name() const
|
||||
{
|
||||
int t = type(_pEVPPKey);
|
||||
auto it = KNOWN_TYPES.find(t);
|
||||
if (it == KNOWN_TYPES.end())
|
||||
throw Poco::NotImplementedException(Poco::format("EVPPKey::type(%d)", t));
|
||||
return it->second;
|
||||
}
|
||||
|
||||
|
||||
void EVPPKey::checkType()
|
||||
{
|
||||
if (_pEVPPKey)
|
||||
{
|
||||
int t = type(_pEVPPKey);
|
||||
if (KNOWN_TYPES.find(t) == KNOWN_TYPES.end())
|
||||
throw Poco::NotImplementedException(Poco::format("EVPPKey::type(%d)", t));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EVPPKey::setKey(EC_KEY* pKey)
|
||||
{
|
||||
if (!EVP_PKEY_set1_EC_KEY(_pEVPPKey, pKey))
|
||||
{
|
||||
std::string msg = "EVPPKey::setKey('EC')\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EVPPKey::setKey(RSA* pKey)
|
||||
{
|
||||
if (!EVP_PKEY_set1_RSA(_pEVPPKey, pKey))
|
||||
{
|
||||
std::string msg = "EVPPKey::setKey('RSA')\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EVPPKey::save(const std::string& publicKeyFile, const std::string& privateKeyFile, const std::string& privateKeyPassphrase) const
|
||||
{
|
||||
if (!publicKeyFile.empty() && (publicKeyFile != privateKeyFile))
|
||||
{
|
||||
BIO* bio = BIO_new(BIO_s_file());
|
||||
if (!bio) throw Poco::IOException("Cannot create BIO for writing public key file", publicKeyFile);
|
||||
if (!bio)
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey::save(%s) Cannot create BIO for writing public key file\n", publicKeyFile);
|
||||
throw Poco::IOException(getError(msg));
|
||||
}
|
||||
try
|
||||
{
|
||||
if (BIO_write_filename(bio, const_cast<char*>(publicKeyFile.c_str())))
|
||||
{
|
||||
if (!PEM_write_bio_PUBKEY(bio, _pEVPPKey))
|
||||
{
|
||||
throw Poco::WriteFileException("Failed to write public key to file", publicKeyFile);
|
||||
std::string msg = Poco::format("EVPPKey::save('%s', '%s', '%s')\n",
|
||||
publicKeyFile, privateKeyFile, privateKeyPassphrase);
|
||||
msg.append(Poco::format("Failed to write public key '%s' to file", publicKeyFile));
|
||||
throw Poco::WriteFileException(getError(msg));
|
||||
}
|
||||
}
|
||||
else throw Poco::CreateFileException("Cannot create public key file");
|
||||
@@ -146,7 +297,12 @@ void EVPPKey::save(const std::string& publicKeyFile, const std::string& privateK
|
||||
if (!privateKeyFile.empty())
|
||||
{
|
||||
BIO* bio = BIO_new(BIO_s_file());
|
||||
if (!bio) throw Poco::IOException("Cannot create BIO for writing private key file", privateKeyFile);
|
||||
if (!bio)
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey::save(%s): Cannot create BIO for writing private key file\n", privateKeyFile);
|
||||
throw Poco::IOException(getError(msg));
|
||||
}
|
||||
try
|
||||
{
|
||||
if (BIO_write_filename(bio, const_cast<char*>(privateKeyFile.c_str())))
|
||||
@@ -163,9 +319,18 @@ void EVPPKey::save(const std::string& publicKeyFile, const std::string& privateK
|
||||
static_cast<int>(privateKeyPassphrase.length()), 0, 0);
|
||||
}
|
||||
if (!rc)
|
||||
throw Poco::FileException("Failed to write private key to file", privateKeyFile);
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey::save(%s):PEM_write_bio_PrivateKey()\n", privateKeyFile);
|
||||
throw Poco::FileException(getError(msg));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
std::string msg = Poco::format(
|
||||
"EVPPKey::save(%s):BIO_write_filename()\n", privateKeyFile);
|
||||
throw Poco::CreateFileException(getError(msg));
|
||||
}
|
||||
else throw Poco::CreateFileException("Cannot create private key file", privateKeyFile);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
@@ -182,11 +347,18 @@ void EVPPKey::save(std::ostream* pPublicKeyStream, std::ostream* pPrivateKeyStre
|
||||
if (pPublicKeyStream && (pPublicKeyStream != pPrivateKeyStream))
|
||||
{
|
||||
BIO* bio = BIO_new(BIO_s_mem());
|
||||
if (!bio) throw Poco::IOException("Cannot create BIO for writing public key");
|
||||
if (!bio)
|
||||
{
|
||||
std::string msg = "EVPPKey::save(ostream*, ostream*, const string&)\n";
|
||||
msg.append("Cannot create BIO for writing public key");
|
||||
throw Poco::IOException(getError(msg));
|
||||
}
|
||||
if (!PEM_write_bio_PUBKEY(bio, _pEVPPKey))
|
||||
{
|
||||
std::string msg = "EVPPKey::save(ostream*, ostream*, const string&)\n";
|
||||
msg.append("Failed to write public key to stream");
|
||||
BIO_free(bio);
|
||||
throw Poco::WriteFileException("Failed to write public key to stream");
|
||||
throw Poco::WriteFileException(getError(msg));
|
||||
}
|
||||
char* pData;
|
||||
long size = BIO_get_mem_data(bio, &pData);
|
||||
@@ -197,7 +369,12 @@ void EVPPKey::save(std::ostream* pPublicKeyStream, std::ostream* pPrivateKeyStre
|
||||
if (pPrivateKeyStream)
|
||||
{
|
||||
BIO* bio = BIO_new(BIO_s_mem());
|
||||
if (!bio) throw Poco::IOException("Cannot create BIO for writing public key");
|
||||
if (!bio)
|
||||
{
|
||||
std::string msg = "EVPPKey::save(ostream*, ostream*, const string&)\n";
|
||||
msg.append("Cannot create BIO for writing private key");
|
||||
throw Poco::IOException(getError(msg));
|
||||
}
|
||||
int rc = 0;
|
||||
if (privateKeyPassphrase.empty())
|
||||
rc = PEM_write_bio_PrivateKey(bio, _pEVPPKey, 0, 0, 0, 0, 0);
|
||||
@@ -207,8 +384,10 @@ void EVPPKey::save(std::ostream* pPublicKeyStream, std::ostream* pPrivateKeyStre
|
||||
static_cast<int>(privateKeyPassphrase.length()), 0, 0);
|
||||
if (!rc)
|
||||
{
|
||||
std::string msg = "EVPPKey::save(ostream*, ostream*, const string&)\n";
|
||||
msg.append("Failed to write private key to stream");
|
||||
BIO_free(bio);
|
||||
throw Poco::FileException("Failed to write private key to stream");
|
||||
throw Poco::FileException(getError(msg));
|
||||
}
|
||||
char* pData;
|
||||
long size = BIO_get_mem_data(bio, &pData);
|
||||
@@ -224,8 +403,11 @@ EVP_PKEY* EVPPKey::duplicate(const EVP_PKEY* pFromKey, EVP_PKEY** pToKey)
|
||||
"provided key pointer is null.");
|
||||
|
||||
*pToKey = EVP_PKEY_new();
|
||||
if (!*pToKey) throw NullPointerException("EVPPKey::duplicate(): "
|
||||
"EVP_PKEY_new() returned null.");
|
||||
if (!*pToKey)
|
||||
{
|
||||
std::string msg = "EVPPKey::duplicate():EVP_PKEY_new()\n";
|
||||
throw NullPointerException(getError(msg));
|
||||
}
|
||||
|
||||
int keyType = type(pFromKey);
|
||||
switch (keyType)
|
||||
@@ -238,7 +420,11 @@ EVP_PKEY* EVPPKey::duplicate(const EVP_PKEY* pFromKey, EVP_PKEY** pToKey)
|
||||
EVP_PKEY_set1_RSA(*pToKey, pRSA);
|
||||
RSA_free(pRSA);
|
||||
}
|
||||
else throw OpenSSLException("EVPPKey::duplicate(): EVP_PKEY_get1_RSA()");
|
||||
else
|
||||
{
|
||||
std::string msg = "EVPPKey::duplicate():EVP_PKEY_get1_RSA()\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case EVP_PKEY_EC:
|
||||
@@ -250,14 +436,24 @@ EVP_PKEY* EVPPKey::duplicate(const EVP_PKEY* pFromKey, EVP_PKEY** pToKey)
|
||||
EC_KEY_free(pEC);
|
||||
int cmp = EVP_PKEY_cmp_parameters(*pToKey, pFromKey);
|
||||
if (cmp < 0)
|
||||
throw OpenSSLException("EVPPKey::duplicate(): EVP_PKEY_cmp_parameters()");
|
||||
{
|
||||
std::string msg = "EVPPKey::duplicate():EVP_PKEY_cmp_parameters()\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
if (0 == cmp)
|
||||
{
|
||||
if(!EVP_PKEY_copy_parameters(*pToKey, pFromKey))
|
||||
throw OpenSSLException("EVPPKey::duplicate(): EVP_PKEY_copy_parameters()");
|
||||
{
|
||||
std::string msg = "EVPPKey::duplicate():EVP_PKEY_copy_parameters()\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
}
|
||||
}
|
||||
else throw OpenSSLException();
|
||||
else
|
||||
{
|
||||
std::string msg = "EVPPKey::duplicate():EVP_PKEY_get1_EC_KEY()\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -281,7 +477,8 @@ void EVPPKey::newECKey(const char* ecCurveName)
|
||||
EC_KEY_free(pEC);
|
||||
return;
|
||||
err:
|
||||
throw OpenSSLException("EVPPKey:newECKey()");
|
||||
std::string msg = "EVPPKey::newECKey()\n";
|
||||
throw OpenSSLException(getError(msg));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Vendored
+168
@@ -0,0 +1,168 @@
|
||||
//
|
||||
// Envelope.cpp
|
||||
//
|
||||
// Library: Crypto
|
||||
// Package: Envelope
|
||||
// Module: Envelope
|
||||
//
|
||||
// Copyright (c) 2008, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#include "Poco/Crypto/Envelope.h"
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
#if !defined(EVP_CIPHER_CTX_init)
|
||||
#define EVP_CIPHER_CTX_init(a)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
|
||||
Envelope::Envelope(int cipherNID): _pCipher(EVP_get_cipherbynid(cipherNID)),
|
||||
_pCtx(EVP_CIPHER_CTX_new())
|
||||
{
|
||||
poco_check_ptr(_pCipher);
|
||||
poco_check_ptr(_pCtx);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
if (1 != EVP_CIPHER_CTX_init(_pCtx))
|
||||
handleErrors(std::string("Envelope():EVP_CIPHER_CTX_init()"));
|
||||
#else
|
||||
EVP_CIPHER_CTX_init(_pCtx);
|
||||
#endif
|
||||
_iv.resize(ivSize(), 0);
|
||||
}
|
||||
|
||||
|
||||
Envelope::Envelope(const EVPPKey& key, int cipherNID):
|
||||
Envelope(cipherNID)
|
||||
{
|
||||
addKey(key);
|
||||
}
|
||||
|
||||
|
||||
Envelope::Envelope(const EVPPKeyVec& keys, int cipherNID):
|
||||
Envelope(cipherNID)
|
||||
{
|
||||
for (const auto& k : keys) addKey(k);
|
||||
}
|
||||
|
||||
|
||||
Envelope::~Envelope()
|
||||
{
|
||||
for (auto& pK : _pubKeys)
|
||||
EVP_PKEY_free(pK);
|
||||
EVP_CIPHER_CTX_free(_pCtx);
|
||||
}
|
||||
|
||||
|
||||
void Envelope::addKey(const EVPPKey& key)
|
||||
{
|
||||
EVP_PKEY* pKey;
|
||||
_pubKeys.push_back(EVPPKey::duplicate((const EVP_PKEY*)key, &pKey));
|
||||
_encKeys.emplace_back(EVP_PKEY_size(_pubKeys.back()));
|
||||
}
|
||||
|
||||
|
||||
const Envelope::ByteVec& Envelope::seal(const ByteVec& plainData)
|
||||
{
|
||||
std::vector<Byte*> pEncKeys(_encKeys.size(), 0);
|
||||
std::vector<int> encKeysSizes(_encKeys.size(), 0);
|
||||
int i = 0;
|
||||
for (const auto& k : _encKeys)
|
||||
pEncKeys[i++] = new Byte[k.size()];
|
||||
|
||||
int noOfKeys = static_cast<int>(_pubKeys.size());
|
||||
if (_encKeys.size() != EVP_SealInit(_pCtx, _pCipher, &pEncKeys[0], &encKeysSizes[0], &_iv[0], &_pubKeys[0], noOfKeys))
|
||||
{
|
||||
i = 0;
|
||||
for (; i < _encKeys.size(); ++i) delete [] pEncKeys[i];
|
||||
handleErrors(std::string("Envelope::seal():EVP_SealInit()"));
|
||||
}
|
||||
i = 0;
|
||||
for (auto& k : _encKeys)
|
||||
{
|
||||
if (encKeysSizes[i] != k.size())
|
||||
k.resize(encKeysSizes[i]);
|
||||
std::memcpy(&k[0], pEncKeys[i], encKeysSizes[i]);
|
||||
++i;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
for (; i < _encKeys.size(); ++i) delete [] pEncKeys[i];
|
||||
|
||||
int cipherTextLen = 0, len = 0;
|
||||
int plainDataSize = static_cast<int>(plainData.size());
|
||||
_encContent.resize(plainDataSize + blockSize());
|
||||
if (1 != EVP_SealUpdate(_pCtx, &_encContent[0], &len, &plainData[0], plainDataSize))
|
||||
handleErrors(std::string("Envelope::seal():EVP_SealUpdate()"));
|
||||
|
||||
cipherTextLen = len;
|
||||
poco_assert (cipherTextLen < _encContent.size());
|
||||
|
||||
if(1 != EVP_SealFinal(_pCtx, &_encContent[len], &len))
|
||||
handleErrors(std::string("Envelope::seal():EVP_SealFinal()"));
|
||||
cipherTextLen += len;
|
||||
poco_assert (cipherTextLen <= _encContent.size());
|
||||
_encContent.resize(cipherTextLen);
|
||||
|
||||
return _encContent;
|
||||
}
|
||||
|
||||
|
||||
const Envelope::ByteVec& Envelope::seal(const std::string& plainText)
|
||||
{
|
||||
return seal(ByteVec(plainText.begin(), plainText.end()));
|
||||
}
|
||||
|
||||
|
||||
Envelope::ByteVec Envelope::open(const EVPPKey& privKey, const ByteVec& encKey, const ByteVec& iv)
|
||||
{
|
||||
if (iv.size() > 0) _iv = iv;
|
||||
int encContentLen = static_cast<int>(_encContent.size());
|
||||
int blockSz = blockSize();
|
||||
int mod = encContentLen % blockSz;
|
||||
if (mod || (encContentLen < blockSz))
|
||||
{
|
||||
throw Poco::InvalidArgumentException(
|
||||
Poco::format("Envelope::open(): bad encrypted buffer size: %z (must be N x %d)",
|
||||
_encContent.size(), blockSz));
|
||||
}
|
||||
|
||||
int encKeyLen = static_cast<int>(encKey.size());
|
||||
EVP_PKEY* pKey = const_cast<EVP_PKEY*>((const EVP_PKEY*)privKey);
|
||||
if (1 != EVP_OpenInit(_pCtx, _pCipher, &encKey[0], encKeyLen, &_iv[0], pKey))
|
||||
handleErrors(std::string("Envelope::open():EVP_OpenInit()"));
|
||||
|
||||
ByteVec plainData(_encContent.size()+blockSz, 0);
|
||||
int len = 0;
|
||||
if(1 != EVP_OpenUpdate(_pCtx, &plainData[0], &len, &_encContent[0], encContentLen))
|
||||
handleErrors(std::string("Envelope::open():EVP_OpenUpdate()"));
|
||||
int totalLen = len;
|
||||
|
||||
if(1 != EVP_OpenFinal(_pCtx, &plainData[len], &len))
|
||||
handleErrors(std::string("Envelope::open():EVP_OpenFinal()"));
|
||||
totalLen += len;
|
||||
plainData.resize(totalLen);
|
||||
return plainData;
|
||||
}
|
||||
|
||||
|
||||
void Envelope::handleErrors(std::string&& msg)
|
||||
{
|
||||
unsigned long err;
|
||||
while ((err = ERR_get_error()))
|
||||
{
|
||||
if (!msg.empty()) msg.append("\n");
|
||||
msg.append(ERR_error_string(err, 0));
|
||||
}
|
||||
throw CryptoException(msg);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Crypto
|
||||
+45
-14
@@ -13,15 +13,16 @@
|
||||
|
||||
|
||||
#include "Poco/Crypto/OpenSSLInitializer.h"
|
||||
#include "Poco/Crypto/CryptoException.h"
|
||||
#include "Poco/RandomStream.h"
|
||||
#include "Poco/Thread.h"
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/crypto.h>
|
||||
#include <openssl/err.h>
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0907000L
|
||||
#include <openssl/conf.h>
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(POCO_OS_FAMILY_WINDOWS)
|
||||
#define POCO_STR_HELPER(x) #x
|
||||
#define POCO_STR(x) POCO_STR_HELPER(x)
|
||||
@@ -58,9 +59,17 @@ namespace Poco {
|
||||
namespace Crypto {
|
||||
|
||||
|
||||
Poco::FastMutex* OpenSSLInitializer::_mutexes(0);
|
||||
Poco::AtomicCounter OpenSSLInitializer::_rc;
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
Poco::FastMutex* OpenSSLInitializer::_mutexes(0);
|
||||
#endif
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
OSSL_PROVIDER* OpenSSLInitializer::_defaultProvider(0);
|
||||
OSSL_PROVIDER* OpenSSLInitializer::_legacyProvider(0);
|
||||
#endif
|
||||
|
||||
|
||||
OpenSSLInitializer::OpenSSLInitializer()
|
||||
{
|
||||
@@ -87,18 +96,15 @@ void OpenSSLInitializer::initialize()
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
CONF_modules_load(NULL, NULL, 0);
|
||||
#elif OPENSSL_VERSION_NUMBER >= 0x0907000L
|
||||
#else
|
||||
OPENSSL_config(NULL);
|
||||
#endif
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
OpenSSL_add_all_algorithms();
|
||||
|
||||
char seed[SEEDSIZE];
|
||||
RandomInputStream rnd;
|
||||
rnd.read(seed, sizeof(seed));
|
||||
RAND_seed(seed, SEEDSIZE);
|
||||
|
||||
|
||||
int nMutexes = CRYPTO_num_locks();
|
||||
_mutexes = new Poco::FastMutex[nMutexes];
|
||||
CRYPTO_set_locking_callback(&OpenSSLInitializer::lock);
|
||||
@@ -107,14 +113,33 @@ void OpenSSLInitializer::initialize()
|
||||
// https://sourceforge.net/p/poco/bugs/110/
|
||||
//
|
||||
// From http://www.openssl.org/docs/crypto/threads.html :
|
||||
// "If the application does not register such a callback using CRYPTO_THREADID_set_callback(),
|
||||
// then a default implementation is used - on Windows and BeOS this uses the system's
|
||||
// "If the application does not register such a callback using CRYPTO_THREADID_set_callback(),
|
||||
// then a default implementation is used - on Windows and BeOS this uses the system's
|
||||
// default thread identifying APIs"
|
||||
CRYPTO_set_id_callback(&OpenSSLInitializer::id);
|
||||
#endif
|
||||
CRYPTO_set_dynlock_create_callback(&OpenSSLInitializer::dynlockCreate);
|
||||
CRYPTO_set_dynlock_lock_callback(&OpenSSLInitializer::dynlock);
|
||||
CRYPTO_set_dynlock_destroy_callback(&OpenSSLInitializer::dynlockDestroy);
|
||||
|
||||
char seed[SEEDSIZE];
|
||||
RandomInputStream rnd;
|
||||
rnd.read(seed, sizeof(seed));
|
||||
RAND_seed(seed, SEEDSIZE);
|
||||
#endif
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
if (!_defaultProvider)
|
||||
{
|
||||
_defaultProvider = OSSL_PROVIDER_load(NULL, "default");
|
||||
if (!_defaultProvider) throw CryptoException("Failed to load OpenSSL default provider");
|
||||
}
|
||||
if (!_legacyProvider)
|
||||
{
|
||||
_legacyProvider = OSSL_PROVIDER_load(NULL, "legacy");
|
||||
if (!_legacyProvider) throw CryptoException("Failed to load OpenSSL legacy provider");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,6 +148,7 @@ void OpenSSLInitializer::uninitialize()
|
||||
{
|
||||
if (--_rc == 0)
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
EVP_cleanup();
|
||||
ERR_free_strings();
|
||||
CRYPTO_set_locking_callback(0);
|
||||
@@ -130,12 +156,14 @@ void OpenSSLInitializer::uninitialize()
|
||||
CRYPTO_set_id_callback(0);
|
||||
#endif
|
||||
delete [] _mutexes;
|
||||
|
||||
CONF_modules_free();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
|
||||
|
||||
void OpenSSLInitializer::lock(int mode, int n, const char* file, int line)
|
||||
{
|
||||
if (mode & CRYPTO_LOCK)
|
||||
@@ -177,6 +205,9 @@ void OpenSSLInitializer::dynlockDestroy(struct CRYPTO_dynlock_value* lock, const
|
||||
}
|
||||
|
||||
|
||||
#endif // OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
|
||||
|
||||
void initializeCrypto()
|
||||
{
|
||||
OpenSSLInitializer::initialize();
|
||||
|
||||
+12
-11
@@ -128,19 +128,12 @@ std::string PKCS12Container::extractFriendlyName(X509* pCert)
|
||||
std::string friendlyName;
|
||||
if(pCert)
|
||||
{
|
||||
STACK_OF(PKCS12_SAFEBAG)*pBags = 0;
|
||||
PKCS12_SAFEBAG*pBag = PKCS12_add_cert(&pBags, pCert);
|
||||
if(pBag)
|
||||
int length = 0;
|
||||
char* pBuffer = reinterpret_cast<char*>(X509_alias_get0(pCert, &length));
|
||||
if (pBuffer)
|
||||
{
|
||||
char* pBuffer = PKCS12_get_friendlyname(pBag);
|
||||
if(pBuffer)
|
||||
{
|
||||
friendlyName = pBuffer;
|
||||
OPENSSL_free(pBuffer);
|
||||
}
|
||||
if(pBags) sk_PKCS12_SAFEBAG_pop_free(pBags, PKCS12_SAFEBAG_free);
|
||||
friendlyName.append(pBuffer, length);
|
||||
}
|
||||
else throw OpenSSLException("PKCS12Container::extractFriendlyName()");
|
||||
}
|
||||
else throw NullPointerException("PKCS12Container::extractFriendlyName()");
|
||||
|
||||
@@ -171,7 +164,15 @@ void PKCS12Container::load(PKCS12* pPKCS12, const std::string& password)
|
||||
int certCount = sk_X509_num(pCA);
|
||||
for (int i = 0; i < certCount; ++i)
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
X509* pX509 = sk_X509_value(pCA, i);
|
||||
#else
|
||||
// Cert order is reversed on OpenSSL < 3.
|
||||
// https://github.com/openssl/openssl/issues/16421
|
||||
// https://github.com/openssl/openssl/pull/12641
|
||||
// https://github.com/jeroen/openssl/commit/f5eb85eb0fd432406a24abda6511c449eaee6162
|
||||
X509* pX509 = sk_X509_value(pCA, (certCount - i - 1));
|
||||
#endif
|
||||
if (pX509)
|
||||
{
|
||||
_caCertList.push_back(X509Certificate(pX509, true));
|
||||
|
||||
+2
-2
@@ -51,7 +51,7 @@ void RSADigestEngine::reset()
|
||||
_signature.clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
const DigestEngine::Digest& RSADigestEngine::digest()
|
||||
{
|
||||
if (_digest.empty())
|
||||
@@ -77,7 +77,7 @@ const DigestEngine::Digest& RSADigestEngine::signature()
|
||||
return _signature;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool RSADigestEngine::verify(const DigestEngine::Digest& sig)
|
||||
{
|
||||
digest();
|
||||
|
||||
+10
-17
@@ -21,9 +21,7 @@
|
||||
#include <openssl/pem.h>
|
||||
#include <openssl/rsa.h>
|
||||
#include <openssl/evp.h>
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
#include <openssl/bn.h>
|
||||
#endif
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@@ -66,7 +64,6 @@ RSAKeyImpl::RSAKeyImpl(const PKCS12Container& cont):
|
||||
RSAKeyImpl::RSAKeyImpl(int keyLength, unsigned long exponent): KeyPairImpl("rsa", KT_RSA_IMPL),
|
||||
_pRSA(0)
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
_pRSA = RSA_new();
|
||||
int ret = 0;
|
||||
BIGNUM* bn = 0;
|
||||
@@ -83,15 +80,11 @@ RSAKeyImpl::RSAKeyImpl(int keyLength, unsigned long exponent): KeyPairImpl("rsa"
|
||||
throw;
|
||||
}
|
||||
if (!ret) throw Poco::InvalidArgumentException("Failed to create RSA context");
|
||||
#else
|
||||
_pRSA = RSA_generate_key(keyLength, exponent, 0, 0);
|
||||
if (!_pRSA) throw Poco::InvalidArgumentException("Failed to create RSA context");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
RSAKeyImpl::RSAKeyImpl(const std::string& publicKeyFile,
|
||||
const std::string& privateKeyFile,
|
||||
RSAKeyImpl::RSAKeyImpl(const std::string& publicKeyFile,
|
||||
const std::string& privateKeyFile,
|
||||
const std::string& privateKeyPassphrase): KeyPairImpl("rsa", KT_RSA_IMPL),
|
||||
_pRSA(0)
|
||||
{
|
||||
@@ -109,7 +102,7 @@ RSAKeyImpl::RSAKeyImpl(const std::string& publicKeyFile,
|
||||
if (!pubKey)
|
||||
{
|
||||
int rc = BIO_reset(bio);
|
||||
// BIO_reset() normally returns 1 for success and 0 or -1 for failure.
|
||||
// BIO_reset() normally returns 1 for success and 0 or -1 for failure.
|
||||
// File BIOs are an exception, they return 0 for success and -1 for failure.
|
||||
if (rc != 0) throw Poco::FileException("Failed to load public key", publicKeyFile);
|
||||
pubKey = PEM_read_bio_RSA_PUBKEY(bio, &_pRSA, 0, 0);
|
||||
@@ -174,7 +167,7 @@ RSAKeyImpl::RSAKeyImpl(std::istream* pPublicKeyStream,
|
||||
if (!publicKey)
|
||||
{
|
||||
int rc = BIO_reset(bio);
|
||||
// BIO_reset() normally returns 1 for success and 0 or -1 for failure.
|
||||
// BIO_reset() normally returns 1 for success and 0 or -1 for failure.
|
||||
// File BIOs are an exception, they return 0 for success and -1 for failure.
|
||||
if (rc != 1) throw Poco::FileException("Failed to load public key");
|
||||
publicKey = PEM_read_bio_RSA_PUBKEY(bio, &_pRSA, 0, 0);
|
||||
@@ -293,7 +286,7 @@ void RSAKeyImpl::save(const std::string& publicKeyFile,
|
||||
}
|
||||
BIO_free(bio);
|
||||
}
|
||||
|
||||
|
||||
if (!privateKeyFile.empty())
|
||||
{
|
||||
BIO* bio = BIO_new(BIO_s_file());
|
||||
@@ -306,8 +299,8 @@ void RSAKeyImpl::save(const std::string& publicKeyFile,
|
||||
if (privateKeyPassphrase.empty())
|
||||
rc = PEM_write_bio_RSAPrivateKey(bio, _pRSA, 0, 0, 0, 0, 0);
|
||||
else
|
||||
rc = PEM_write_bio_RSAPrivateKey(bio, _pRSA, EVP_des_ede3_cbc(),
|
||||
reinterpret_cast<unsigned char*>(const_cast<char*>(privateKeyPassphrase.c_str())),
|
||||
rc = PEM_write_bio_RSAPrivateKey(bio, _pRSA, EVP_des_ede3_cbc(),
|
||||
reinterpret_cast<unsigned char*>(const_cast<char*>(privateKeyPassphrase.c_str())),
|
||||
static_cast<int>(privateKeyPassphrase.length()), 0, 0);
|
||||
if (!rc) throw Poco::FileException("Failed to write private key to file", privateKeyFile);
|
||||
}
|
||||
@@ -350,10 +343,10 @@ void RSAKeyImpl::save(std::ostream* pPublicKeyStream,
|
||||
if (privateKeyPassphrase.empty())
|
||||
rc = PEM_write_bio_RSAPrivateKey(bio, _pRSA, 0, 0, 0, 0, 0);
|
||||
else
|
||||
rc = PEM_write_bio_RSAPrivateKey(bio, _pRSA, EVP_des_ede3_cbc(),
|
||||
reinterpret_cast<unsigned char*>(const_cast<char*>(privateKeyPassphrase.c_str())),
|
||||
rc = PEM_write_bio_RSAPrivateKey(bio, _pRSA, EVP_des_ede3_cbc(),
|
||||
reinterpret_cast<unsigned char*>(const_cast<char*>(privateKeyPassphrase.c_str())),
|
||||
static_cast<int>(privateKeyPassphrase.length()), 0, 0);
|
||||
if (!rc)
|
||||
if (!rc)
|
||||
{
|
||||
BIO_free(bio);
|
||||
throw Poco::FileException("Failed to write private key to stream");
|
||||
|
||||
+11
-6
@@ -121,7 +121,7 @@ X509Certificate& X509Certificate::operator = (X509Certificate&& cert) noexcept
|
||||
}
|
||||
|
||||
|
||||
void X509Certificate::swap(X509Certificate& cert)
|
||||
void X509Certificate::swap(X509Certificate& cert) noexcept
|
||||
{
|
||||
using std::swap;
|
||||
swap(cert._issuerName, _issuerName);
|
||||
@@ -416,10 +416,14 @@ X509Certificate::List X509Certificate::readPEM(const std::string& pemFileName)
|
||||
{
|
||||
List caCertList;
|
||||
BIO* pBIO = BIO_new_file(pemFileName.c_str(), "r");
|
||||
if (pBIO == NULL) throw OpenFileException("X509Certificate::readPEM()");
|
||||
if (pBIO == NULL) throw OpenFileException(Poco::format("X509Certificate::readPEM(%s)", pemFileName));
|
||||
X509* x = PEM_read_bio_X509(pBIO, NULL, 0, NULL);
|
||||
if (!x) throw OpenSSLException(Poco::format("X509Certificate::readPEM(%s)", pemFileName));
|
||||
while(x)
|
||||
if (!x)
|
||||
{
|
||||
BIO_free(pBIO);
|
||||
throw OpenSSLException(Poco::format("X509Certificate::readPEM(%s)", pemFileName));
|
||||
}
|
||||
while (x)
|
||||
{
|
||||
caCertList.push_back(X509Certificate(x));
|
||||
x = PEM_read_bio_X509(pBIO, NULL, 0, NULL);
|
||||
@@ -432,14 +436,15 @@ X509Certificate::List X509Certificate::readPEM(const std::string& pemFileName)
|
||||
void X509Certificate::writePEM(const std::string& pemFileName, const List& list)
|
||||
{
|
||||
BIO* pBIO = BIO_new_file(pemFileName.c_str(), "a");
|
||||
if (pBIO == NULL) throw OpenFileException("X509Certificate::writePEM()");
|
||||
if (pBIO == NULL) throw OpenFileException(Poco::format("X509Certificate::writePEM(%s)", pemFileName));
|
||||
List::const_iterator it = list.begin();
|
||||
List::const_iterator end = list.end();
|
||||
for (; it != end; ++it)
|
||||
{
|
||||
if (!PEM_write_bio_X509(pBIO, const_cast<X509*>(it->certificate())))
|
||||
{
|
||||
throw OpenSSLException("X509Certificate::writePEM()");
|
||||
BIO_free(pBIO);
|
||||
throw OpenSSLException(Poco::format("X509Certificate::writePEM(%s)", pemFileName));
|
||||
}
|
||||
}
|
||||
BIO_free(pBIO);
|
||||
|
||||
+6
-1
@@ -13,13 +13,18 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
objects = CryptoTestSuite Driver \
|
||||
CryptoTest DigestEngineTest ECTest \
|
||||
EVPTest RSATest PKCS12ContainerTest
|
||||
EVPTest RSATest PKCS12ContainerTest \
|
||||
EnvelopeTest
|
||||
|
||||
target = testrunner
|
||||
target_version = 1
|
||||
|
||||
@@ -582,6 +582,10 @@
|
||||
RelativePath=".\src\PKCS12ContainerTest.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\EnvelopeTest.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\RSATest.h"
|
||||
>
|
||||
@@ -610,6 +614,10 @@
|
||||
RelativePath=".\src\PKCS12ContainerTest.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\EnvelopeTest.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\RSATest.cpp"
|
||||
>
|
||||
|
||||
@@ -602,6 +602,7 @@
|
||||
<ClInclude Include="src\CryptoTestSuite.h"/>
|
||||
<ClInclude Include="src\DigestEngineTest.h"/>
|
||||
<ClInclude Include="src\ECTest.h"/>
|
||||
<ClInclude Include="src\EnvelopeTest.h"/>
|
||||
<ClInclude Include="src\EVPTest.h"/>
|
||||
<ClInclude Include="src\PKCS12ContainerTest.h"/>
|
||||
<ClInclude Include="src\RSATest.h"/>
|
||||
@@ -622,6 +623,9 @@
|
||||
<ClCompile Include="src\ECTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EnvelopeTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Crypto">
|
||||
<UniqueIdentifier>{0307e461-0372-4b61-b88a-24f59d5291f5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9dff95b8-7a0a-42a2-882d-240353eebc86}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Crypto\Header Files">
|
||||
<UniqueIdentifier>{ea60f0b1-8f41-4785-b21c-ea51871b27b6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c461d935-f1d4-468f-8e89-a06090c1b7d6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Crypto\Source Files">
|
||||
<UniqueIdentifier>{73a5e4b2-0a40-4682-adcd-f76a09839671}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dcfe4ffa-6b62-4c48-9625-6fa8d16841f6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{1cf95bad-cc85-45a5-82db-4348109089a6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{66610ad9-d08d-4cd7-b3d2-d6d71a7d9ac5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{e596f9e4-e909-41be-9311-df2d6d3747aa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0cfb4e9f-5fe7-42dd-96f1-3dc5e779bf88}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{4484ecb8-1194-4fc5-bb53-264ad9a608b2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0cd7e466-afb0-40c7-abff-08147e0e6da7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{4d620dde-5cd7-4b0e-a142-d965960c8a72}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{89a0f0f0-fd2a-49aa-91f2-5b766adcd945}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{be860c27-4ecf-4076-bf9a-214fec9a6bb5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e110d68e-1724-4d5e-8ab5-f774c2735147}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -42,6 +42,9 @@
|
||||
<ClInclude Include="src\PKCS12ContainerTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\EnvelopeTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RSATest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -65,6 +68,9 @@
|
||||
<ClCompile Include="src\PKCS12ContainerTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EnvelopeTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSATest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
||||
@@ -602,6 +602,7 @@
|
||||
<ClInclude Include="src\CryptoTestSuite.h"/>
|
||||
<ClInclude Include="src\DigestEngineTest.h"/>
|
||||
<ClInclude Include="src\ECTest.h"/>
|
||||
<ClInclude Include="src\EnvelopeTest.h"/>
|
||||
<ClInclude Include="src\EVPTest.h"/>
|
||||
<ClInclude Include="src\PKCS12ContainerTest.h"/>
|
||||
<ClInclude Include="src\RSATest.h"/>
|
||||
@@ -622,6 +623,9 @@
|
||||
<ClCompile Include="src\ECTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EnvelopeTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Crypto">
|
||||
<UniqueIdentifier>{2bb088de-648b-44f3-a6da-7e01203baa0c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c36620ad-ed1f-44db-b632-628f09517b5a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Crypto\Header Files">
|
||||
<UniqueIdentifier>{b0434cc3-d68a-4a24-a60e-ba34498152ea}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{93ac862f-ef66-4c96-82c6-82f03c87b786}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Crypto\Source Files">
|
||||
<UniqueIdentifier>{c7b2facf-5022-4c9b-85b2-55ca7ff19a47}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c59358e6-8395-4e21-b952-d8f99d0805c9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{cbd4a023-92b8-4bb5-a9df-435c6a7afe13}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f96aacb4-a5dc-4cd9-9af3-9181ca3d08e8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{2a3ebbe8-0b82-4b0b-b75a-2a14e7cf8510}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0f12e848-51bd-4dcb-ac5a-21cfe7a2d3f9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{6384c5af-9c91-4a65-b82a-f21cd1e0889e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{79f7b368-e662-4165-b04b-4a1d652b6a32}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{c41d57c8-f31f-4791-ba37-a1976e798c72}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4c17d29d-4e86-4175-8704-3d1374a9e47c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{4c8e8c4a-0480-47c4-ab2e-0271c7874e63}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d54ac5e8-d98b-4c54-a8a4-8553a21a9ac7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -42,6 +42,9 @@
|
||||
<ClInclude Include="src\PKCS12ContainerTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\EnvelopeTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RSATest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -65,6 +68,9 @@
|
||||
<ClCompile Include="src\PKCS12ContainerTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EnvelopeTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSATest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
||||
+5
-1
@@ -157,7 +157,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>15.0.28307.799</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>16.0.32629.160</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">TestSuited</TargetName>
|
||||
@@ -602,6 +602,7 @@
|
||||
<ClInclude Include="src\CryptoTestSuite.h"/>
|
||||
<ClInclude Include="src\DigestEngineTest.h"/>
|
||||
<ClInclude Include="src\ECTest.h"/>
|
||||
<ClInclude Include="src\EnvelopeTest.h"/>
|
||||
<ClInclude Include="src\EVPTest.h"/>
|
||||
<ClInclude Include="src\PKCS12ContainerTest.h"/>
|
||||
<ClInclude Include="src\RSATest.h"/>
|
||||
@@ -622,6 +623,9 @@
|
||||
<ClCompile Include="src\ECTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EnvelopeTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Crypto">
|
||||
<UniqueIdentifier>{0dc0ac78-ca59-458b-8c95-bb50bba12e83}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8e27cadf-c720-479f-92da-b1e97f437438}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Crypto\Header Files">
|
||||
<UniqueIdentifier>{7ab4046f-488c-47f4-b6db-18fe2cc37af5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{91a5793c-8b68-45d0-b350-877dd6cf2c02}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Crypto\Source Files">
|
||||
<UniqueIdentifier>{a2b63aa7-58ba-4f3a-b391-a3f32a67bce7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a14e5add-e33d-424b-be23-0b8371e22609}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{92de59df-1db3-4ac4-a545-9e16c5a4aaeb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f231f366-be62-4292-ab26-f91a41191403}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{859f2c78-4de9-4aa2-b113-d5b2fc4fda8f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ec44c7f3-b2a1-4b59-9081-8e61ddef1c44}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{62840282-6976-4ef5-934c-9e7ef7f4aad1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{728bece6-f76d-483c-a028-52f91599a7e7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{c2dfb797-2cf1-48e9-a3db-9578c1be834d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{57064194-c6d7-414b-9f0d-a1707f6e0c8d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{68a624c7-5f73-4259-9035-b8c7eb047dd9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{60671a47-3546-4b5d-b1e9-275110dd36ca}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -42,6 +42,9 @@
|
||||
<ClInclude Include="src\PKCS12ContainerTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\EnvelopeTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RSATest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -65,6 +68,9 @@
|
||||
<ClCompile Include="src\PKCS12ContainerTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EnvelopeTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSATest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
||||
@@ -0,0 +1,932 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug_shared|ARM64">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_shared|Win32">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_shared|x64">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|ARM64">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|Win32">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|x64">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|ARM64">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|Win32">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|x64">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|ARM64">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|Win32">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|x64">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|ARM64">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|Win32">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|x64">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|ARM64">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|Win32">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|x64">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>TestSuite</ProjectName>
|
||||
<ProjectGuid>{C1B1BB96-5198-48EB-AB48-9A0A0B54FB15}</ProjectGuid>
|
||||
<RootNamespace>TestSuite</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||
<ImportGroup Label="ExtensionSettings"/>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>16.0.32629.160</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">TestSuite</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">TestSuite</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">TestSuite</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">TestSuite</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">TestSuite</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">TestSuite</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">TestSuite</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">TestSuite</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">TestSuite</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">
|
||||
<OutDir>binA64\</OutDir>
|
||||
<IntDir>objA64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">
|
||||
<OutDir>binA64\</OutDir>
|
||||
<IntDir>objA64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">
|
||||
<OutDir>binA64\static_mt\</OutDir>
|
||||
<IntDir>objA64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">
|
||||
<OutDir>binA64\static_mt\</OutDir>
|
||||
<IntDir>objA64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">
|
||||
<OutDir>binA64\static_md\</OutDir>
|
||||
<IntDir>objA64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">
|
||||
<OutDir>binA64\static_md\</OutDir>
|
||||
<IntDir>objA64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<OutDir>bin\</OutDir>
|
||||
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<OutDir>bin\</OutDir>
|
||||
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<OutDir>bin\static_mt\</OutDir>
|
||||
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<OutDir>bin\static_mt\</OutDir>
|
||||
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<OutDir>bin\static_md\</OutDir>
|
||||
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<OutDir>bin\static_md\</OutDir>
|
||||
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<OutDir>bin64\</OutDir>
|
||||
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<OutDir>bin64\</OutDir>
|
||||
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<OutDir>bin64\static_mt\</OutDir>
|
||||
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<OutDir>bin64\static_mt\</OutDir>
|
||||
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<OutDir>bin64\static_md\</OutDir>
|
||||
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<OutDir>bin64\static_md\</OutDir>
|
||||
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitd.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>binA64\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>binA64\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineARM64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnit.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>binA64\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineARM64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>binA64\static_mt\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>binA64\static_mt\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineARM64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>binA64\static_mt\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineARM64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>binA64\static_md\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>binA64\static_md\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineARM64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>binA64\static_md\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineARM64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitd.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnit.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin\static_mt\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin\static_md\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitd.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin64\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnit.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin64\static_mt\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>bin64\static_md\TestSuited.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\CryptoTest.h"/>
|
||||
<ClInclude Include="src\CryptoTestSuite.h"/>
|
||||
<ClInclude Include="src\DigestEngineTest.h"/>
|
||||
<ClInclude Include="src\ECTest.h"/>
|
||||
<ClInclude Include="src\EnvelopeTest.h"/>
|
||||
<ClInclude Include="src\EVPTest.h"/>
|
||||
<ClInclude Include="src\PKCS12ContainerTest.h"/>
|
||||
<ClInclude Include="src\RSATest.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\CryptoTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CryptoTestSuite.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DigestEngineTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Driver.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ECTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EnvelopeTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PKCS12ContainerTest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSATest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||
<ImportGroup Label="ExtensionTargets"/>
|
||||
</Project>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Crypto">
|
||||
<UniqueIdentifier>{acf5407e-78f8-481f-aede-24ca7504422d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Crypto\Header Files">
|
||||
<UniqueIdentifier>{ed75d974-1e6e-4d97-83fb-7111122dba8b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Crypto\Source Files">
|
||||
<UniqueIdentifier>{0271bc10-a0c8-408a-8b2b-64e557c63f32}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{30319608-5ad4-43c1-af6e-84729e9e9aa6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{aa5fc0e5-cee3-4f44-8a6a-7f64fbbda341}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{d2e3ae91-4bc3-4259-ab5d-9bc19d47d37c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{9e497b70-abc5-4962-8853-36eb7d61b4ba}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{d16fc517-f3ee-4181-acac-c11efb90d9e8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\CryptoTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\DigestEngineTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\ECTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\EVPTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PKCS12ContainerTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\EnvelopeTest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RSATest.h">
|
||||
<Filter>Crypto\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\CryptoTestSuite.h">
|
||||
<Filter>_Suite\Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\CryptoTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DigestEngineTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ECTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EVPTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PKCS12ContainerTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\EnvelopeTest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RSATest.cpp">
|
||||
<Filter>Crypto\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\CryptoTestSuite.cpp">
|
||||
<Filter>_Suite\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Driver.cpp">
|
||||
<Filter>_Driver\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "EVPTest.h"
|
||||
#include "DigestEngineTest.h"
|
||||
#include "PKCS12ContainerTest.h"
|
||||
#include "EnvelopeTest.h"
|
||||
|
||||
|
||||
CppUnit::Test* CryptoTestSuite::suite()
|
||||
@@ -33,5 +34,6 @@ CppUnit::Test* CryptoTestSuite::suite()
|
||||
pSuite->addTest(EVPTest::suite());
|
||||
pSuite->addTest(DigestEngineTest::suite());
|
||||
pSuite->addTest(PKCS12ContainerTest::suite());
|
||||
pSuite->addTest(EnvelopeTest::suite());
|
||||
return pSuite;
|
||||
}
|
||||
+1
-1
@@ -47,7 +47,7 @@ void DigestEngineTest::testMD5()
|
||||
|
||||
engine.update("abcdefghijklmnopqrstuvwxyz");
|
||||
assertTrue (DigestEngine::digestToHex(engine.digest()) == "c3fcd3d76192e4007dfb496cca67e13b");
|
||||
|
||||
|
||||
engine.update("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
|
||||
engine.update("abcdefghijklmnopqrstuvwxyz0123456789");
|
||||
assertTrue (DigestEngine::digestToHex(engine.digest()) == "d174ab98d277d9f5a5611c2c9f419d9f");
|
||||
|
||||
+5
-3
@@ -13,6 +13,7 @@
|
||||
#include "CppUnit/TestRunner.h"
|
||||
#include "CryptoTestSuite.h"
|
||||
#include "Poco/Crypto/Crypto.h"
|
||||
#include "Poco/Exception.h"
|
||||
|
||||
|
||||
class CryptoInitializer
|
||||
@@ -22,7 +23,7 @@ public:
|
||||
{
|
||||
Poco::Crypto::initializeCrypto();
|
||||
}
|
||||
|
||||
|
||||
~CryptoInitializer()
|
||||
{
|
||||
Poco::Crypto::uninitializeCrypto();
|
||||
@@ -33,11 +34,12 @@ public:
|
||||
int main(int ac, char **av)
|
||||
{
|
||||
CryptoInitializer ci;
|
||||
|
||||
|
||||
std::vector<std::string> args;
|
||||
for (int i = 0; i < ac; ++i)
|
||||
args.push_back(std::string(av[i]));
|
||||
CppUnit::TestRunner runner;
|
||||
runner.addTest("CryptoTestSuite", CryptoTestSuite::suite());
|
||||
return runner.run(args) ? 0 : 1;
|
||||
CppUnitPocoExceptionText (exc);
|
||||
return runner.run(args, exc) ? 0 : 1;
|
||||
}
|
||||
+182
@@ -9,9 +9,13 @@
|
||||
|
||||
|
||||
#include "EVPTest.h"
|
||||
#include "PKCS12ContainerTest.h"
|
||||
#include "Poco/Crypto/RSAKey.h"
|
||||
#include "Poco/Crypto/ECKey.h"
|
||||
#include "Poco/Crypto/EVPPKey.h"
|
||||
#include "Poco/Crypto/CipherFactory.h"
|
||||
#include "Poco/Crypto/Cipher.h"
|
||||
#include "Poco/Crypto/X509Certificate.h"
|
||||
#include "Poco/TemporaryFile.h"
|
||||
#include "Poco/StreamCopier.h"
|
||||
#include "CppUnit/TestCaller.h"
|
||||
@@ -28,6 +32,58 @@ using Poco::TemporaryFile;
|
||||
using Poco::StreamCopier;
|
||||
|
||||
|
||||
static const std::string anyPemRSA(
|
||||
"-----BEGIN CERTIFICATE-----\r\n"
|
||||
"MIICaDCCAdECCQCzfxSsk7yaLjANBgkqhkiG9w0BAQUFADBzMQswCQYDVQQGEwJB\r\n"
|
||||
"VDESMBAGA1UECBMJQ2FyaW50aGlhMRIwEAYDVQQHEwlTdC4gSmFrb2IxDzANBgNV\r\n"
|
||||
"BAoTBkFwcEluZjEPMA0GA1UEAxMGQXBwSW5mMRowGAYJKoZIhvcNAQkBFgthcHBA\r\n"
|
||||
"aW5mLmNvbTAeFw0wNjAzMDExMzA3MzFaFw0wNjAzMzExMzA3MzFaMH4xCzAJBgNV\r\n"
|
||||
"BAYTAkFUMRIwEAYDVQQIEwlDYXJpbnRoaWExETAPBgNVBAcTCFN0IEpha29iMRww\r\n"
|
||||
"GgYDVQQKExNBcHBsaWVkIEluZm9ybWF0aWNzMQowCAYDVQQDFAEqMR4wHAYJKoZI\r\n"
|
||||
"hvcNAQkBFg9pbmZvQGFwcGluZi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\r\n"
|
||||
"AoGBAJHGyXDHyCYoWz+65ltNwwZbhwOGnxr9P1WMATuFJh0bPBZxKbZRdbTm9KhZ\r\n"
|
||||
"OlvsEIsfgiYdsxURYIqXfEgISYLZcZY0pQwGEOmB+0NeC/+ENSfOlNSthx6zSVlc\r\n"
|
||||
"zhJ7+dJOGwepHAiLr1fRuc5jogYLraE+lKTnqAAFfzwvti77AgMBAAEwDQYJKoZI\r\n"
|
||||
"hvcNAQEFBQADgYEAY/ZoeY1ukkEJX7259NeoVM0oahlulWV0rlCqyaeosOiDORPT\r\n"
|
||||
"m6X1w/5MTCf9VyaD1zukoSZ4QqNVjHFXcXidbB7Tgt3yRuZ5PC5LIFCDPv9mgPne\r\n"
|
||||
"mUA70yfctNfza2z3ZiQ6NDkW3mZX+1tmxYIrJQIrkVeYeqf1Gh2nyZrUMcE=\r\n"
|
||||
"-----END CERTIFICATE-----\r\n"
|
||||
"-----BEGIN RSA PRIVATE KEY-----\r\n"
|
||||
"Proc-Type: 4,ENCRYPTED\r\n"
|
||||
"DEK-Info: DES-EDE3-CBC,E7AE93C9E49184EA\r\n"
|
||||
"\r\n"
|
||||
"A2IqzNcWs+I5vzV+i+woDk56+yr58eU0Onw8eEvXkLjnSc58JU4327IF7yUbKWdW\r\n"
|
||||
"Q7BYGGOkVFiZ7ANOwviDg5SUhxRDWCcW8dS6/p1vfdQ1C3qj2OwJjkpg0aDBIzJn\r\n"
|
||||
"FzgguT3MF3ama77vxv0S3kOfmCj62MLqPGpj5pQ0/1hefRFbL8oAX8bXUN7/rmGM\r\n"
|
||||
"Zc0QyzFZv2iQ04dY/6TNclwKPB4H0On4K+8BMs3PRkWA0clCaQaFO2+iwnk3XZfe\r\n"
|
||||
"+MsKUEbLCpAQeYspYv1cw38dCdWq1KTP5aJk+oXgwjfX5cAaPTz74NTqTIsCcaTD\r\n"
|
||||
"3vy7ukJYFlDR9Kyo7z8rMazYrKJslhnuRH0BhK9st9McwL957j5tZmrKyraCcmCx\r\n"
|
||||
"dMAGcsis1va3ayYZpIpFqA4EhYrTM+6N8ZRfUap20+b5IQwHfTQDejUhL6rBwy7j\r\n"
|
||||
"Ti5yD83/itoOMyXq2sV/XWfVD5zk/P5iv22O1EAQMhhnPB9K/I/JhuSGQJfn3cNh\r\n"
|
||||
"ykOUYT0+vDeSeEVa+FVEP1W35G0alTbKbNs5Tb8KxJ3iDJUxokM//SvPXZy9hOVX\r\n"
|
||||
"Y05imB04J15DaGbAHlNzunhuJi7121WV/JRXZRW9diE6hwpD8rwqi3FMuRUmy7U9\r\n"
|
||||
"aFA5poKRAYlo9YtZ3YpFyjGKB6MfCQcB2opuSnQ/gbugV41m67uQ4CDwWLaNRkTb\r\n"
|
||||
"GlsMBNcHnidg15Bsat5HaB7l250ukrI13Uw1MYdDUzaS3gPfw9aC4F2w0p3U+DPH\r\n"
|
||||
"80/zePxtroR7T4/+rI136Rl+aMXDMOEGCX1TVP8rjuZzuRyUSUKC8Q==\r\n"
|
||||
"-----END RSA PRIVATE KEY-----\r\n"
|
||||
"-----BEGIN CERTIFICATE-----\r\n"
|
||||
"MIICXTCCAcYCCQC1Vk/N8qR4AjANBgkqhkiG9w0BAQUFADBzMQswCQYDVQQGEwJB\r\n"
|
||||
"VDESMBAGA1UECBMJQ2FyaW50aGlhMRIwEAYDVQQHEwlTdC4gSmFrb2IxDzANBgNV\r\n"
|
||||
"BAoTBkFwcEluZjEPMA0GA1UEAxMGQXBwSW5mMRowGAYJKoZIhvcNAQkBFgthcHBA\r\n"
|
||||
"aW5mLmNvbTAeFw0wNjAyMjcxMzI3MThaFw0wNjAzMjkxMzI3MThaMHMxCzAJBgNV\r\n"
|
||||
"BAYTAkFUMRIwEAYDVQQIEwlDYXJpbnRoaWExEjAQBgNVBAcTCVN0LiBKYWtvYjEP\r\n"
|
||||
"MA0GA1UEChMGQXBwSW5mMQ8wDQYDVQQDEwZBcHBJbmYxGjAYBgkqhkiG9w0BCQEW\r\n"
|
||||
"C2FwcEBpbmYuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsFXiPuicN\r\n"
|
||||
"Im4oJwF8NuaFN+lgYwcZ6dAO3ILIR3kLA2PxF8HSQLfF8J8a4odZhLhctIMAKTxm\r\n"
|
||||
"k0w8TW5qhL8QLdGzY9vzvkgdKOkan2t3sMeXJAfrM1AphTsmgntAQazGZjOj5p4W\r\n"
|
||||
"jDnxQ+VXAylqwjHh49eSBxM3wgoscF4iLQIDAQABMA0GCSqGSIb3DQEBBQUAA4GB\r\n"
|
||||
"AIpfLdXiKchPvFMhQS8xTtXvrw5dVL3yImUMYs4GQi8RrjGmfGB3yMAR7B/b8v4a\r\n"
|
||||
"+ztfusgWAWiUKuSGTk4S8YB0fsFlmOv0WDr+PyZ4Lui/a8opbyzGE7rqpnF/s0GO\r\n"
|
||||
"M7uLCNNwIN7WhmxcWV0KZU1wTppoSWPJda1yTbBzF9XP\r\n"
|
||||
"-----END CERTIFICATE-----\r\n"
|
||||
);
|
||||
|
||||
|
||||
EVPTest::EVPTest(const std::string& name): CppUnit::TestCase(name)
|
||||
{
|
||||
}
|
||||
@@ -512,6 +568,124 @@ void EVPTest::testECEVPSaveLoadFileNoPass()
|
||||
}
|
||||
|
||||
|
||||
void EVPTest::testRSAEVPKeyFromX509()
|
||||
{
|
||||
std::istringstream str(anyPemRSA);
|
||||
X509Certificate cert(str);
|
||||
EVPPKey publicKey(cert);
|
||||
std::istringstream str2(anyPemRSA);
|
||||
EVPPKey privateKey(0, &str2, "test");
|
||||
Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(publicKey);
|
||||
Cipher::Ptr pCipher2 = CipherFactory::defaultFactory().createCipher(privateKey);
|
||||
std::string val("lets do some encryption");
|
||||
std::string enc = pCipher->encryptString(val);
|
||||
std::string dec = pCipher2->decryptString(enc);
|
||||
assertTrue (dec == val);
|
||||
}
|
||||
|
||||
|
||||
void EVPTest::testRSAEVPKeyFromPKCS12()
|
||||
{
|
||||
std::string file = PKCS12ContainerTest::getTestFilesPath("full");
|
||||
PKCS12Container pkcs12(file.c_str(), "crypto");
|
||||
assertTrue (pkcs12.hasKey());
|
||||
EVPPKey pKey(pkcs12);
|
||||
assertTrue (EVP_PKEY_RSA == pKey.type());
|
||||
Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(pKey);
|
||||
Cipher::Ptr pCipher2 = CipherFactory::defaultFactory().createCipher(pKey);
|
||||
std::string val("lets do some encryption");
|
||||
std::string enc = pCipher->encryptString(val);
|
||||
std::string dec = pCipher2->decryptString(enc);
|
||||
assertTrue (dec == val);
|
||||
}
|
||||
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
|
||||
void EVPTest::testRSAEVPKeyByLength()
|
||||
{
|
||||
try
|
||||
{
|
||||
EVPPKey key(EVP_PKEY_RSA, 1024);
|
||||
std::ostringstream strPub;
|
||||
std::ostringstream strPriv;
|
||||
key.save(&strPub, &strPriv);
|
||||
std::string pubKey = strPub.str();
|
||||
std::string privKey = strPriv.str();
|
||||
|
||||
// now do the round trip
|
||||
std::istringstream iPub(pubKey);
|
||||
std::istringstream iPriv(privKey);
|
||||
EVPPKey key2(&iPub, &iPriv);
|
||||
|
||||
assertTrue (key == key2);
|
||||
assertTrue (!(key != key2));
|
||||
|
||||
EVPPKey keyNE(EVP_PKEY_RSA, 2048);
|
||||
assertTrue (key != keyNE);
|
||||
assertTrue (!(key == keyNE));
|
||||
assertTrue (key2 != keyNE);;
|
||||
assertTrue (!(key2 == keyNE));
|
||||
|
||||
std::istringstream iPriv2(privKey);
|
||||
EVPPKey key3(0, &iPriv2);
|
||||
std::ostringstream strPub3;
|
||||
key3.save(&strPub3);
|
||||
std::string pubFromPrivate = strPub3.str();
|
||||
assertTrue (pubFromPrivate == pubKey);
|
||||
}
|
||||
catch(Poco::Exception& ex)
|
||||
{
|
||||
std::cerr << ex.displayText() << std::endl;
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
|
||||
void EVPTest::testECEVPKeyByLength()
|
||||
{
|
||||
try
|
||||
{
|
||||
EVPPKey key(EVP_PKEY_EC, NID_X9_62_prime256v1);
|
||||
std::ostringstream strPub;
|
||||
std::ostringstream strPriv;
|
||||
key.save(&strPub, &strPriv);
|
||||
std::string pubKey = strPub.str();
|
||||
std::string privKey = strPriv.str();
|
||||
|
||||
// now do the round trip
|
||||
std::istringstream iPub(pubKey);
|
||||
std::istringstream iPriv(privKey);
|
||||
EVPPKey key2(&iPub, &iPriv);
|
||||
|
||||
assertTrue (key == key2);
|
||||
assertTrue (!(key != key2));
|
||||
|
||||
EVPPKey keyNE(EVP_PKEY_EC, NID_X9_62_prime256v1);
|
||||
assertTrue (key != keyNE);
|
||||
assertTrue (!(key == keyNE));
|
||||
assertTrue (key2 != keyNE);;
|
||||
assertTrue (!(key2 == keyNE));
|
||||
|
||||
std::istringstream iPriv2(privKey);
|
||||
EVPPKey key3(0, &iPriv2);
|
||||
std::ostringstream strPub3;
|
||||
key3.save(&strPub3);
|
||||
std::string pubFromPrivate = strPub3.str();
|
||||
assertTrue (pubFromPrivate == pubKey);
|
||||
}
|
||||
catch(Poco::Exception& ex)
|
||||
{
|
||||
std::cerr << ex.displayText() << std::endl;
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // OPENSSL_VERSION_NUMBER >= 0x30000000
|
||||
#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
|
||||
|
||||
void EVPTest::setUp()
|
||||
{
|
||||
}
|
||||
@@ -534,6 +708,14 @@ CppUnit::Test* EVPTest::suite()
|
||||
CppUnit_addTest(pSuite, EVPTest, testECEVPSaveLoadStreamNoPass);
|
||||
CppUnit_addTest(pSuite, EVPTest, testECEVPSaveLoadFile);
|
||||
CppUnit_addTest(pSuite, EVPTest, testECEVPSaveLoadFileNoPass);
|
||||
CppUnit_addTest(pSuite, EVPTest, testRSAEVPKeyFromX509);
|
||||
CppUnit_addTest(pSuite, EVPTest, testRSAEVPKeyFromPKCS12);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
CppUnit_addTest(pSuite, EVPTest, testRSAEVPKeyByLength);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
CppUnit_addTest(pSuite, EVPTest, testECEVPKeyByLength);
|
||||
#endif // OPENSSL_VERSION_NUMBER >= 0x30000000
|
||||
#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
|
||||
return pSuite;
|
||||
}
|
||||
+10
@@ -34,6 +34,16 @@ public:
|
||||
void testECEVPSaveLoadFile();
|
||||
void testECEVPSaveLoadFileNoPass();
|
||||
|
||||
void testRSAEVPKeyFromX509();
|
||||
void testRSAEVPKeyFromPKCS12();
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
void testRSAEVPKeyByLength();
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
void testECEVPKeyByLength();
|
||||
#endif // OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
|
||||
void setUp();
|
||||
void tearDown();
|
||||
|
||||
|
||||
+147
@@ -0,0 +1,147 @@
|
||||
//
|
||||
// EnvelopeTest.cpp
|
||||
//
|
||||
// Copyright (c) 2012, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#include "EnvelopeTest.h"
|
||||
#include "CppUnit/TestCaller.h"
|
||||
#include "CppUnit/TestSuite.h"
|
||||
#include "Poco/Crypto/Envelope.h"
|
||||
#include "Poco/Crypto/EVPPKey.h"
|
||||
#include <iostream>
|
||||
|
||||
|
||||
using Poco::Crypto::Envelope;
|
||||
using Poco::Crypto::EVPPKey;
|
||||
|
||||
|
||||
EnvelopeTest::EnvelopeTest(const std::string& name): CppUnit::TestCase(name)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
EnvelopeTest::~EnvelopeTest()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void EnvelopeTest::testOneKeyRSA()
|
||||
{
|
||||
try
|
||||
{
|
||||
EVPPKey key(EVP_PKEY_RSA, 1024);
|
||||
Envelope env(key, NID_aes_256_cbc);
|
||||
assertEqual(env.cipherNID(), NID_aes_256_cbc);
|
||||
std::string dec = "let's encrypt some text";
|
||||
env.seal(dec);
|
||||
assertTrue(env.openAsString(key, env.keys()[0]) == dec);
|
||||
}
|
||||
catch(const Poco::Exception& e)
|
||||
{
|
||||
std::cerr << e.displayText() << '\n';
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EnvelopeTest::testMultiKeyRSA()
|
||||
{
|
||||
try
|
||||
{
|
||||
Envelope::EVPPKeyVec keyVec;
|
||||
keyVec.emplace_back(EVP_PKEY_RSA, 1024);
|
||||
keyVec.emplace_back(EVP_PKEY_RSA, 2048);
|
||||
keyVec.emplace_back(EVP_PKEY_RSA, 1024);
|
||||
Envelope env(keyVec, NID_aes_256_cbc);
|
||||
assertEqual(env.cipherNID(), NID_aes_256_cbc);
|
||||
std::string dec = "let's encrypt some text";
|
||||
env.seal(dec);
|
||||
int i = 0;
|
||||
for (const auto& key : keyVec)
|
||||
{
|
||||
assertTrue(env.openAsString(key, env.keys()[i++]) == dec);
|
||||
}
|
||||
}
|
||||
catch(const Poco::Exception& e)
|
||||
{
|
||||
std::cerr << e.displayText() << '\n';
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EnvelopeTest::testRSATransfer()
|
||||
{
|
||||
try
|
||||
{
|
||||
EVPPKey key(EVP_PKEY_RSA, 1024);
|
||||
Envelope env1(key, NID_aes_256_cbc);
|
||||
std::string dec = "let's encrypt some text";
|
||||
|
||||
Envelope env2(key, NID_aes_256_cbc);
|
||||
env2.setContent(env1.seal(dec));
|
||||
assertTrue(env2.openAsString(key, env1.keys()[0], env1.iv()) == dec);
|
||||
}
|
||||
catch(const Poco::Exception& e)
|
||||
{
|
||||
std::cerr << e.displayText() << '\n';
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EnvelopeTest::testRSAMultiTransfer()
|
||||
{
|
||||
try
|
||||
{
|
||||
Envelope::EVPPKeyVec keyVec;
|
||||
keyVec.emplace_back(EVP_PKEY_RSA, 1024);
|
||||
keyVec.emplace_back(EVP_PKEY_RSA, 2048);
|
||||
keyVec.emplace_back(EVP_PKEY_RSA, 1024);
|
||||
|
||||
Envelope env0(keyVec, NID_aes_256_cbc);
|
||||
std::string dec = "let's encrypt some text";
|
||||
|
||||
const Envelope::ByteVec enc = env0.seal(dec);
|
||||
|
||||
int i = 0;
|
||||
for (const auto& key : keyVec)
|
||||
{
|
||||
Envelope env(key, NID_aes_256_cbc);
|
||||
env.setContent(enc);
|
||||
assertTrue(env.openAsString(key, env0.keys()[i++], env0.iv()) == dec);
|
||||
}
|
||||
}
|
||||
catch(const Poco::Exception& e)
|
||||
{
|
||||
std::cerr << e.displayText() << '\n';
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
void EnvelopeTest::setUp()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void EnvelopeTest::tearDown()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
CppUnit::Test* EnvelopeTest::suite()
|
||||
{
|
||||
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("EnvelopeTest");
|
||||
|
||||
CppUnit_addTest(pSuite, EnvelopeTest, testOneKeyRSA);
|
||||
CppUnit_addTest(pSuite, EnvelopeTest, testMultiKeyRSA);
|
||||
CppUnit_addTest(pSuite, EnvelopeTest, testRSATransfer);
|
||||
CppUnit_addTest(pSuite, EnvelopeTest, testRSAMultiTransfer);
|
||||
|
||||
return pSuite;
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
//
|
||||
// EnvelopeTest.h
|
||||
//
|
||||
// Definition of the EnvelopeTest class.
|
||||
//
|
||||
// Copyright (c) 2012, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef EnvelopeTest_INCLUDED
|
||||
#define EnvelopeTest_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Crypto/Crypto.h"
|
||||
#include "CppUnit/TestCase.h"
|
||||
|
||||
|
||||
class EnvelopeTest: public CppUnit::TestCase
|
||||
{
|
||||
public:
|
||||
EnvelopeTest(const std::string& name);
|
||||
~EnvelopeTest();
|
||||
|
||||
void testOneKeyRSA();
|
||||
void testMultiKeyRSA();
|
||||
void testRSATransfer();
|
||||
void testRSAMultiTransfer();
|
||||
|
||||
void setUp();
|
||||
void tearDown();
|
||||
|
||||
static CppUnit::Test* suite();
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
#endif // EnvelopeTest_INCLUDED
|
||||
+41
-41
@@ -134,29 +134,29 @@ void PKCS12ContainerTest::fullList(const PKCS12Container::CAList& caList,
|
||||
assertTrue (caNamesList[certOrder[1]].empty());
|
||||
}
|
||||
|
||||
assertTrue (caList[certOrder[0]].subjectName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[0]].subjectName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Intermediate CA v3");
|
||||
assertTrue (caList[certOrder[0]].issuerName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[0]].commonName() == "CV Root CA v3");
|
||||
assertTrue (caList[certOrder[0]].commonName() == "CV Intermediate CA v3");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_COUNTRY) == "CH");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_LOCALITY_NAME).empty());
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE) == "Zug");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Crypto Vally");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_ORGANIZATION_UNIT_NAME).empty());
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_PKCS9_EMAIL_ADDRESS).empty());
|
||||
assertTrue (caList[certOrder[0]].serialNumber() == "C3ECA1FCEAA16055");
|
||||
assertTrue (caList[certOrder[0]].serialNumber() == "1000");
|
||||
assertTrue (caList[certOrder[0]].version() == 3);
|
||||
assertTrue (caList[certOrder[0]].signatureAlgorithm() == "sha256WithRSAEncryption");
|
||||
|
||||
assertTrue (caList[certOrder[1]].subjectName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Intermediate CA v3");
|
||||
assertTrue (caList[certOrder[1]].subjectName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[1]].issuerName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[1]].commonName() == "CV Intermediate CA v3");
|
||||
assertTrue (caList[certOrder[1]].commonName() == "CV Root CA v3");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_COUNTRY) == "CH");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_LOCALITY_NAME).empty());
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE) == "Zug");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Crypto Vally");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_ORGANIZATION_UNIT_NAME).empty());
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_PKCS9_EMAIL_ADDRESS).empty());
|
||||
assertTrue (caList[certOrder[1]].serialNumber() == "1000");
|
||||
assertTrue (caList[certOrder[1]].serialNumber() == "C3ECA1FCEAA16055");
|
||||
assertTrue (caList[certOrder[1]].version() == 3);
|
||||
assertTrue (caList[certOrder[1]].signatureAlgorithm() == "sha256WithRSAEncryption");
|
||||
}
|
||||
@@ -200,36 +200,36 @@ void PKCS12ContainerTest::certsOnlyList(const PKCS12Container::CAList& caList,
|
||||
|
||||
if (caNamesList.size())
|
||||
{
|
||||
assertTrue (caNamesList[certOrder[0]].empty());
|
||||
assertTrue (caNamesList[certOrder[1]].empty());
|
||||
assertTrue (caNamesList[certOrder[0]] == "vally-ca");
|
||||
assertTrue (caNamesList[certOrder[1]] == "vally-ca");
|
||||
assertTrue (caNamesList[certOrder[2]].empty());
|
||||
assertTrue (caNamesList[certOrder[3]] == "vally-ca");
|
||||
assertTrue (caNamesList[certOrder[4]] == "vally-ca");
|
||||
assertTrue (caNamesList[certOrder[3]].empty());
|
||||
assertTrue (caNamesList[certOrder[4]].empty());
|
||||
}
|
||||
|
||||
assertTrue (caList[certOrder[0]].subjectName() == "C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3");
|
||||
assertTrue (caList[certOrder[0]].issuerName() == "C=US,O=Internet Security Research Group,CN=ISRG Root X1");
|
||||
assertTrue (caList[certOrder[0]].commonName() == "Let's Encrypt Authority X3");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_COUNTRY) == "US");
|
||||
assertTrue (caList[certOrder[0]].subjectName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Intermediate CA v3");
|
||||
assertTrue (caList[certOrder[0]].issuerName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[0]].commonName() == "CV Intermediate CA v3");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_COUNTRY) == "CH");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_LOCALITY_NAME).empty());
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE).empty());
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Let's Encrypt");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE) == "Zug");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Crypto Vally");
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_ORGANIZATION_UNIT_NAME).empty());
|
||||
assertTrue (caList[certOrder[0]].subjectName(X509Certificate::NID_PKCS9_EMAIL_ADDRESS).empty());
|
||||
assertTrue (caList[certOrder[0]].serialNumber() == "D3B17226342332DCF40528512AEC9C6A");
|
||||
assertTrue (caList[certOrder[0]].serialNumber()== "1000");
|
||||
assertTrue (caList[certOrder[0]].version() == 3);
|
||||
assertTrue (caList[certOrder[0]].signatureAlgorithm() == "sha256WithRSAEncryption");
|
||||
|
||||
assertTrue (caList[certOrder[1]].subjectName() == "C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3");
|
||||
assertTrue (caList[certOrder[1]].issuerName() == "O=Digital Signature Trust Co.,CN=DST Root CA X3");
|
||||
assertTrue (caList[certOrder[1]].commonName() == "Let's Encrypt Authority X3");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_COUNTRY) == "US");
|
||||
assertTrue (caList[certOrder[1]].subjectName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[1]].issuerName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[1]].commonName() == "CV Root CA v3");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_COUNTRY) == "CH");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_LOCALITY_NAME).empty());
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE).empty());
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Let's Encrypt");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE) == "Zug");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Crypto Vally");
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_ORGANIZATION_UNIT_NAME).empty());
|
||||
assertTrue (caList[certOrder[1]].subjectName(X509Certificate::NID_PKCS9_EMAIL_ADDRESS).empty());
|
||||
assertTrue (caList[certOrder[1]].serialNumber() == "0A0141420000015385736A0B85ECA708");
|
||||
assertTrue (caList[certOrder[1]].serialNumber() == "C3ECA1FCEAA16055");
|
||||
assertTrue (caList[certOrder[1]].version() == 3);
|
||||
assertTrue (caList[certOrder[1]].signatureAlgorithm() == "sha256WithRSAEncryption");
|
||||
|
||||
@@ -246,31 +246,32 @@ void PKCS12ContainerTest::certsOnlyList(const PKCS12Container::CAList& caList,
|
||||
assertTrue (caList[certOrder[2]].version() == 3);
|
||||
assertTrue (caList[certOrder[2]].signatureAlgorithm() == "sha256WithRSAEncryption");
|
||||
|
||||
assertTrue (caList[certOrder[3]].subjectName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[3]].issuerName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[3]].commonName() == "CV Root CA v3");
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_COUNTRY) == "CH");
|
||||
assertTrue (caList[certOrder[3]].subjectName() == "C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3");
|
||||
assertTrue (caList[certOrder[3]].issuerName() == "O=Digital Signature Trust Co.,CN=DST Root CA X3");
|
||||
assertTrue (caList[certOrder[3]].commonName() == "Let's Encrypt Authority X3");
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_COUNTRY) == "US");
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_LOCALITY_NAME).empty());
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE) == "Zug");
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Crypto Vally");
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE).empty());
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Let's Encrypt");
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_ORGANIZATION_UNIT_NAME).empty());
|
||||
assertTrue (caList[certOrder[3]].subjectName(X509Certificate::NID_PKCS9_EMAIL_ADDRESS).empty());
|
||||
assertTrue (caList[certOrder[3]].serialNumber() == "C3ECA1FCEAA16055");
|
||||
assertTrue (caList[certOrder[3]].serialNumber() == "0A0141420000015385736A0B85ECA708");
|
||||
assertTrue (caList[certOrder[3]].version() == 3);
|
||||
assertTrue (caList[certOrder[3]].signatureAlgorithm() == "sha256WithRSAEncryption");
|
||||
|
||||
assertTrue (caList[certOrder[4]].subjectName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Intermediate CA v3");
|
||||
assertTrue (caList[certOrder[4]].issuerName() == "C=CH,ST=Zug,O=Crypto Vally,CN=CV Root CA v3");
|
||||
assertTrue (caList[certOrder[4]].commonName() == "CV Intermediate CA v3");
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_COUNTRY) == "CH");
|
||||
assertTrue (caList[certOrder[4]].subjectName() == "C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3");
|
||||
assertTrue (caList[certOrder[4]].issuerName() == "C=US,O=Internet Security Research Group,CN=ISRG Root X1");
|
||||
assertTrue (caList[certOrder[4]].commonName() == "Let's Encrypt Authority X3");
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_COUNTRY) == "US");
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_LOCALITY_NAME).empty());
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE) == "Zug");
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Crypto Vally");
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_STATE_OR_PROVINCE).empty());
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_ORGANIZATION_NAME) == "Let's Encrypt");
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_ORGANIZATION_UNIT_NAME).empty());
|
||||
assertTrue (caList[certOrder[4]].subjectName(X509Certificate::NID_PKCS9_EMAIL_ADDRESS).empty());
|
||||
assertTrue (caList[certOrder[4]].serialNumber()== "1000");
|
||||
assertTrue (caList[certOrder[4]].serialNumber() == "D3B17226342332DCF40528512AEC9C6A");
|
||||
assertTrue (caList[certOrder[4]].version() == 3);
|
||||
assertTrue (caList[certOrder[4]].signatureAlgorithm() == "sha256WithRSAEncryption");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -281,9 +282,8 @@ void PKCS12ContainerTest::testPEMReadWrite()
|
||||
std::string file = getTestFilesPath("certs-only", "pem");
|
||||
X509Certificate::List certsOnly = X509Certificate::readPEM(file);
|
||||
assertTrue (certsOnly.size() == 5);
|
||||
// PEM is written by openssl in reverse order from p12
|
||||
std::vector<int> certOrder;
|
||||
for(int i = (int)certsOnly.size() - 1; i >= 0; --i) certOrder.push_back(i);
|
||||
for(int i = 0; i < certsOnly.size(); ++i) certOrder.push_back(i);
|
||||
certsOnlyList(certsOnly, PKCS12Container::CANameList(), certOrder);
|
||||
|
||||
TemporaryFile tmpFile;
|
||||
@@ -301,7 +301,7 @@ void PKCS12ContainerTest::testPEMReadWrite()
|
||||
assertTrue (full.size() == 2);
|
||||
|
||||
certOrder.clear();
|
||||
for(int i = (int)full.size() - 1; i >= 0; --i) certOrder.push_back(i);
|
||||
for(int i = 0; i < full.size(); ++i) certOrder.push_back(i);
|
||||
fullList(full, PKCS12Container::CANameList(), certOrder);
|
||||
|
||||
TemporaryFile tmpFile2;
|
||||
|
||||
+3
-2
@@ -35,9 +35,10 @@ public:
|
||||
|
||||
static CppUnit::Test* suite();
|
||||
|
||||
private:
|
||||
std::string getTestFilesPath(const std::string& name,
|
||||
static std::string getTestFilesPath(const std::string& name,
|
||||
const std::string& ext = "p12");
|
||||
|
||||
private:
|
||||
void certsOnly(const Poco::Crypto::PKCS12Container& pkcs12);
|
||||
void certsOnlyList(const Poco::Crypto::PKCS12Container::CAList& caList,
|
||||
const Poco::Crypto::PKCS12Container::CANameList& caNamesList,
|
||||
|
||||
+32
-2
@@ -15,7 +15,10 @@
|
||||
#include "Poco/Crypto/CipherFactory.h"
|
||||
#include "Poco/Crypto/Cipher.h"
|
||||
#include "Poco/Crypto/X509Certificate.h"
|
||||
#include "Poco/Path.h"
|
||||
#include "Poco/File.h"
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
|
||||
|
||||
using namespace Poco::Crypto;
|
||||
@@ -203,6 +206,33 @@ void RSATest::testRSACipher()
|
||||
std::string dec = pCipher->decryptString(enc);
|
||||
assertTrue (dec == val);
|
||||
}
|
||||
|
||||
RSAKey key(RSAKey::KL_1024, RSAKey::EXP_SMALL);
|
||||
std::string pubKeyFile = Poco::Path::temp() + "poco.key.pub";
|
||||
std::string privKeyFile = Poco::Path::temp() + "poco.key.priv";
|
||||
|
||||
if (Poco::File(pubKeyFile).exists()) Poco::File(pubKeyFile).remove();
|
||||
if (Poco::File(privKeyFile).exists()) Poco::File(privKeyFile).remove();
|
||||
std::ofstream strPub(pubKeyFile);
|
||||
std::ofstream strPriv(privKeyFile);
|
||||
key.save(&strPub, &strPriv);
|
||||
strPub.close();
|
||||
strPriv.close();
|
||||
|
||||
Poco::Crypto::RSAKey encryptKey(pubKeyFile);
|
||||
Poco::Crypto::RSAKey decryptKey(pubKeyFile, privKeyFile);
|
||||
|
||||
Poco::Crypto::CipherFactory factory;
|
||||
auto iengine = factory.createCipher(encryptKey);
|
||||
auto oengine = factory.createCipher(decryptKey);
|
||||
|
||||
std::string ss = "test_str";
|
||||
auto enc = iengine->encryptString(ss);
|
||||
auto dec = oengine->decryptString(enc);
|
||||
assertEqual (ss, dec);
|
||||
|
||||
delete iengine;
|
||||
delete oengine;
|
||||
}
|
||||
|
||||
|
||||
@@ -221,7 +251,7 @@ void RSATest::testRSACipherLarge()
|
||||
sizes.push_back (16383);
|
||||
sizes.push_back (16384);
|
||||
sizes.push_back (16385);
|
||||
|
||||
|
||||
Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(RSAKey(RSAKey::KL_1024, RSAKey::EXP_SMALL));
|
||||
for (std::vector<std::size_t>::const_iterator it = sizes.begin(); it != sizes.end(); ++it)
|
||||
{
|
||||
@@ -243,7 +273,7 @@ void RSATest::testCertificate()
|
||||
Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(publicKey);
|
||||
Cipher::Ptr pCipher2 = CipherFactory::defaultFactory().createCipher(privateKey);
|
||||
std::string val("lets do some encryption");
|
||||
|
||||
|
||||
std::string enc = pCipher->encryptString(val);
|
||||
std::string dec = pCipher2->decryptString(enc);
|
||||
assertTrue (dec == val);
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ public:
|
||||
{
|
||||
Poco::Crypto::initializeCrypto();
|
||||
}
|
||||
|
||||
|
||||
~CryptoInitializer()
|
||||
{
|
||||
Poco::Crypto::uninitializeCrypto();
|
||||
@@ -42,7 +42,7 @@ int _tmain(int argc, wchar_t* argv[])
|
||||
std::wcstombs(buffer, argv[i], sizeof(buffer));
|
||||
args.push_back(std::string(buffer));
|
||||
}
|
||||
CppUnit::TestRunner runner;
|
||||
CppUnit::TestRunner runner;
|
||||
runner.addTest("CryptoTestSuite", CryptoTestSuite::suite());
|
||||
return runner.run(args) ? 0 : 1;
|
||||
}
|
||||
+1
-1
@@ -22,7 +22,7 @@ public:
|
||||
{
|
||||
Poco::Crypto::initializeCrypto();
|
||||
}
|
||||
|
||||
|
||||
~CryptoInitializer()
|
||||
{
|
||||
Poco::Crypto::uninitializeCrypto();
|
||||
|
||||
Reference in new issue
Block a user