cryptopp820 DLL and the base64 classes

31 views
Skip to first unread message

Andrew Marlow

unread,
Oct 10, 2019, 3:13:25 PM10/10/19
to Crypto++ Users
Hello everyone,

I've just tried to use cryptopp820 on Windows as a DLL and have found what I think is an issue. The base64 encode decode classes are absent from the DLL. They are present in the static library. I understand the historical reason for this in earlier versions of cryptopp. It's to do with FIPS compliancy and the fact that the base64 algorithms are not FIPS compliant and therefore needed to be removed. However, FIPS compliancy has been formerly abandoned now so I think these classes should be included, just like they are in the static library. Any thoughts please?

Razvan Cojocaru

unread,
Oct 10, 2019, 3:40:03 PM10/10/19
to cryptop...@googlegroups.com, Andrew Marlow
FWIW, as a crypto++ user that needs the base64 functionality and would
like to be able to use the library both as a static library _and_ a DLL,
I vote that the functionality be exposed.

Jeffrey Walton

unread,
Oct 11, 2019, 12:47:20 PM10/11/19
to Crypto++ Users


On Thursday, October 10, 2019 at 3:13:25 PM UTC-4, Andrew Marlow wrote:
Hello everyone,

I've just tried to use cryptopp820 on Windows as a DLL and have found what I think is an issue. The base64 encode decode classes are absent from the DLL. They are present in the static library. I understand the historical reason for this in earlier versions of cryptopp. It's to do with FIPS compliancy and the fact that the base64 algorithms are not FIPS compliant and therefore needed to be removed. However, FIPS compliancy has been formerly abandoned now so I think these classes should be included, just like they are in the static library. Any thoughts please?

It is expected.

The DLL is (was) a FIPS DLL. It only contains the classes needed to support FIPS and nothing more. As Razvan pointed out, you use the "DLL Import" version of the static library to get the remainder of the classes.

The FIPS DLL is in sunset mode. Crypto++ is no longer on NIST's validated cryptography list. The library was moved to the historical validation list several years ago.

Also see https://cryptopp.com/wiki/FIPS_DLL on the wiki. If you really want to use a DLL, then see https://cryptopp.com/wiki/Wrapper_DLL on the wiki.

Jeff
Reply all
Reply to author
Forward
0 new messages