Hi Jeff, I followed your MSBuild steps and the test still failed for me (results below).
Try this to specify the platform toolset: 1. Open VS2017 x64 Developer Prompt 2. cd to cryptopp 3. msbuild /p:Configuration=Release;Platform=x64,WindowsTargetPlatformVersion=10.0.16299.0,PlatformToolset=v141 cryptlib.vcxproj 4. msbuild /p:Configuration=Release;Platform=x64,WindowsTargetPlatformVersion=10.0.16299.0,PlatformToolset=v141 cryptest.vcxproj 5. msbuild /p:Configuration=Release;Platform=x64,WindowsTargetPlatformVersion=10.0.16299.0,PlatformToolset=v141 /t:CopyCryptestToRoot cryptest.vcxproj Note: depending on the Visual Studio updates, you may need to change your WindowsTargetPlatformVersion to whichever version is available. I don't think this has any affect on how Crypt++ is built. Daniele, thanks for confirming this. It's great to know I'm not the only one experiencing this problem! I'm assuming the failure will be triggered on all machines running the library, not just the machine used to build the solution, correct? As such, is this a problem that can be fixed? Or is the solution to simply to disable optimization and/or upgrade the older hardware? *cryptest.log:*Using seed: 1525095110 Testing Settings... passed: Your machine is little endian. passed: Aligned data access (no CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS). passed: sizeof(byte) == 1 passed: sizeof(word16) == 2 passed: sizeof(word32) == 4 passed: sizeof(word64) == 8 passed: sizeof(hword) == 4, sizeof(word) == 8 passed: cacheLineSize == 64 hasSSE2 == 1, hasSSSE3 == 1, hasSSE4.1 == 1, hasSSE4.2 == 1, hasAESNI == 0, hasCLMUL == 0, hasRDRAND == 0, hasRDSEED == 0, hasSHA == 0, isP4 == 0 ... Rijndael (AES) validation suite running... passed: Algorithm key lengths FAILED 000102030405060708090A0B0C0D0E0F 0D184627AA361E7C61220D4E111859EA 0A940BB5416EF045F1C39458C653EA5A FAILED 00010203050607080A0B0C0D0F101112 2F3F1F1B1DD997E62378F5C8B30374CF D8F532538289EF7D06B506A4FD5BE9C9 FAILED 14151617191A1B1C1E1F202123242526 9826EE07A9754B263AA10DB4B3F3B660 59AB30F4D4EE6E4FF9907EF65B1FB68C FAILED 28292A2B2D2E2F30323334353738393A CA1CBDF8F91991DFF39E86AC93B58BC0 BF1ED2FCB2AF3FD41443B56D85025CB1 FAILED 00010203050607080A0B0C0D0F10111214151617191A1B1C 83DBA2FC05FE11A9F8CAB1714FF8E18D DFF4945E0336DF4C1C56BC700EFF837F FAILED 1E1F20212324252628292A2B2D2E2F30323334353738393A 980DDA4A5E7CB931C62D45F53EFB68E0 B6FDDEF4752765E347D5D2DC196D1252 FAILED 3C3D3E3F41424344464748494B4C4D4E5051525355565758 FBB0D50A539EC7C7D063F04098232C34 D23684E3D963B3AFCF1A114ACA90CBD6 FAILED 00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 9A02CEA3D7B8991406C07A381842B099 1946DABF6A03A2A2C3D0B05080AED6FC FAILED 28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E A3FCFC328B282E9BEF82A2F62A04E5B6 5ED301D747D3CC715445EBDEC62F2FB4 Testing SymmetricCipher algorithm AES/ECB. incorrectly decrypted: D6D069162B19B0E8D0D9401D973B80107EE162BB46A80A88896878CDB9416DE41E3778C479C18459673AFD875D84213A1A8427CBC3FAAB9C1DB4C458101EB1B4 Test FAILED. Skipping to next test. incorrectly decrypted: 921237DF0D3EB491E5C1FD2150294B3A094E4C5898B68A9FF7A2BE05F6F47ED659B1F5E268DB2E968D675C937C1E5D807851D6CDD81DF62555B463F048537343 Test FAILED. Skipping to next test. incorrectly decrypted: 6200164DC594B5C590D7F3D7D4CBD6AD79E539D269B9A2B279B8F3D7F790B60346457BAA6CBC243AA5406563A890B2F1B7DC0F989FFF0E1FAF61E39605FAFD53 Test FAILED. Skipping to next test. incorrectly decrypted: 79EB66F64B5861BC0521238B2CCBCE1E79696768C2ED02ED074DEE9FE12E43091DE97B5A7465FA486F7883FBED9AAB77C46F0D58FC1BAA130772C2EF8EFC7D33FF48A480AC06C9BF6599BE6553B2637691B2EA1A157C3E70377E4E686B6598FFC4007C1EB7454A75B6F4F36B6F5634C268798F9DACA2E99DD7FB5CCECB66245DE18B74A5F9D47D49C3F1F97C67FF6412FC8FEECB93220349EFCD3246FD5391B80301B55BE6B167B27C81243F563591FEFBB0E43B9371214CB116F4718EA909CEB6AB3D2C36DA2CADBE7EFD7C10A96618EC6148BD7C7EEB4980AE710534EF1CC59A87355573B1298E5E17CEE3FBDB0CB96D71E0389395E76DF05727484FBFB0C1 Test FAILED. Skipping to next test. Testing SymmetricCipher algorithm AES/CBC. incorrectly decrypted: 314F49DEEE6BFE3F039F04872CE6464DC61F845708754DB5EFC821B7495B1738B80178DF176BF56FBA6612C30B05BCE451ECE854B1CFEC5AF56531CABCFB3556 Test FAILED. Skipping to next test. incorrectly decrypted: FA34BB33F17DAA3E3573D54E86D384D52069F2226B1BC3FE0BBE6F84F40BEBF64F26C5C1D8B57F24F91175A8C7685BE714A5C695153E7555D3C1658956EE07FD Test FAILED. Skipping to next test. incorrectly decrypted: A0B9FB65B1F3D181F38C457BBE48A03F07EE79AD36E34FEB4B50585151C57766DBC92CC57A470AE715733A202CC247873EE10597FB65EF6D0631C6EE9A5F6177 Test FAILED. Skipping to next test. incorrectly decrypted: 05704C39B186F020E69A94CBBE6D70D9 Test FAILED. Skipping to next test. incorrectly decrypted: A078D6E183882264FF0FD2C04E7A6285263E4B71846F5D38DC4918A3F99DCAEA Test FAILED. Skipping to next test. incorrectly decrypted: 0AB24F26E95A18AD050CC60F6A40B67E9817910E599A6AE01AD5B8DDCDEE91E28D5D1B88A4D9802A697DEE2AF25FC859 Test FAILED. Skipping to next test. incorrectly decrypted: 3C763B4ACE39312559C92383B6C722C5DE4673E8E089A4745AFBF20989C75F6D295E27DA3639AEA134F774481DEB17CF62709B804BE6213AE5F494CAE553B023 Test FAILED. Skipping to next test. incorrectly decrypted: 34BFE889866736EBFBEC1222152644FB1C415CF371B9271845B3677A91F8DC5644871412B1AE9E2455C84BF1CF08B3EF56DDA6F5D8BAD05BA73660561D9F611539BE207778BEE3393AA0948FC4D3DE3D6300EC891A49F357EAF549AB85C5F26C3BF929226624DCF376A9E4A81526D2CD4C00409E86F011707140538787E5E8CF1DAF91436DDB4BC0CEE03052CEDC1E09302599232D415C25BC1707DC797E170145CA9505DE5B3E0B649C256CF715884B76D7C0D15F7636BBB44128BAED5A069EAD84EE9C817C1CBDC2781483AB3AFE92F7FC3523F209F2146E9146C602F74CABF075E8D26523FCA1BB67F009667F4A3AFE30B591BC2616232D436449C5852886 Test FAILED. Skipping to next test. Testing SymmetricCipher algorithm AES/CFB. ....... Testing SymmetricCipher algorithm AES/OFB. .... Testing SymmetricCipher algorithm AES/CTR. ............. Tests complete. Total tests = 36. Failed tests = 12. SOME TESTS FAILED! ... Oops! Not all tests passed. Seed used was 1525095110 Test started at Mon Apr 30 09:31:50 2018 Test ended at Mon Apr 30 09:31:54 2018 -Luke On Thursday, April 26, 2018 at 1:03:41 PM UTC-4, [email protected] wrote: > > Hello, > > I have recently updated one of my projects to Visual Studio 2017 and the > v141 toolset. After the update, Crypto++ no longer correctly encrypted or > decrypted my data. To determine whether this was an error in my code or > the library itself, I downloaded a fresh copy of the source for crypto++ 7 > and built cryptest. Cryptest also fails under Visual Studio v141. It > appears that 12 of the 36 tests in the Rijndael (AES) validation suite are > failing. But, if I change the project settings and disable optimization > (/Od instead of /O2), all the tests appear to pass. Also, if I disable ASM > and leave optimizations turned on (/O2), the tests also pass. > > > *Test Summary:* > > - v141 /O2 - FAILED > - v141 /Od - passed > - v141 /O2 CRYPTOPP_DISABLE_ASM - passed > - v141 /Od CRYPTOPP_DISABLE_ASM - passed > > I can't tell from the results whether this is a problem with crypt++ or > with one of the Visual Studio components. > > Steps to reproduce, OS, and Visual Studio information are below. > > The output log of cryptest.exe has been attached. > > Please let me know if you need more info or would like me to try anything > different. > > *Steps to reproduce:* > > 1. Download and extract cryptopp700.zip. > 2. Open cryptest.sln using Visual Studio 2017. > 3. Change build configuration to Release x64. > 4. Open cryptest and cryptlib project properties and change Windows > SDK Version to 10.0.16299.0, and Platform Toolset to Visual Studio 2017 > (v141). Close the project properties page. > 5. Right-click cryptest and build the project. > 6. Open command prompt and change directory to the crypto++ solution > folder. > 7. Run "x64\Output\Release\cryptest.exe v" > > The test was done on Windows 7 Professional using an Intel Core i5 750 CPU. > > > *Microsoft Visual Studio Professional 2017:* > Version 15.6.6 > VisualStudio.15.Release/15.6.6+27428.2037 > Microsoft .NET Framework > Version 4.7.02558 > > Installed Version: Professional > > Visual C++ 2017 00370-10200-32245-AA568 > Microsoft Visual C++ 2017 > > ASP.NET and Web Tools 2017 15.0.40314.0 > ASP.NET and Web Tools 2017 > > C# Tools 2.7.0-beta3-62715-05. Commit Hash: > db02128e6e3c4bdfc93e6ec425ac9162b4d4fe80 > C# components used in the IDE. Depending on your project type and > settings, a different version of the compiler may be used. > > Common Azure Tools 1.10 > Provides common services for use by Azure Mobile Services and Microsoft > Azure Tools. > > JavaScript Language Service 2.0 > JavaScript Language Service > > Microsoft JVM Debugger 1.0 > Provides support for connecting the Visual Studio debugger to JDWP > compatible Java Virtual Machines > > Microsoft MI-Based Debugger 1.0 > Provides support for connecting Visual Studio to MI compatible debuggers > > Microsoft Visual C++ Wizards 1.0 > Microsoft Visual C++ Wizards > > Microsoft Visual Studio VC Package 1.0 > Microsoft Visual Studio VC Package > > NuGet Package Manager 4.6.0 > NuGet Package Manager in Visual Studio. For more information about NuGet, > visit http://docs.nuget.org/. > > ProjectServicesPackage Extension 1.0 > ProjectServicesPackage Visual Studio Extension Detailed Info > > Test Adapter for Boost.Test 1.0 > Enables Visual Studio's testing tools with unit tests written for > Boost.Test. The use terms and Third Party Notices are available in the > extension installation directory. > > Test Adapter for Google Test 1.0 > Enables Visual Studio's testing tools with unit tests written for Google > Test. The use terms and Third Party Notices are available in the extension > installation directory. > > Visual Basic Tools 2.7.0-beta3-62715-05. Commit Hash: > db02128e6e3c4bdfc93e6ec425ac9162b4d4fe80 > Visual Basic components used in the IDE. Depending on your project type > and settings, a different version of the compiler may be used. > > Visual Studio Code Debug Adapter Host Package 1.0 > Interop layer for hosting Visual Studio Code debug adapters in Visual > Studio > > Visual Studio Tools for CMake 1.0 > Visual Studio Tools for CMake > -- You received this message because you are subscribed to "Crypto++ Users". More information about Crypto++ and this group is available at http://www.cryptopp.com and http://groups.google.com/forum/#!forum/cryptopp-users. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
