PLUGIN_PROVIDE(XOF, XOF_SHAKE_128),
PLUGIN_PROVIDE(XOF, XOF_SHAKE_256),
#endif
-#ifndef OPENSSL_NO_SHA1
+#if !defined(OPENSSL_NO_SHA1) && \
+ (OPENSSL_VERSION_NUMBER < 0x30000000L || !defined(OPENSSL_NO_DEPRECATED))
/* keyed sha1 hasher (aka prf) */
PLUGIN_REGISTER(PRF, openssl_sha1_prf_create),
PLUGIN_PROVIDE(PRF, PRF_KEYED_SHA1),
* for more details.
*/
+/* direct access to the state and the SHA1_* API have been deprecated with
+ * OpenSSL 3, so at some point this won't work anymore */
+#define OPENSSL_SUPPRESS_DEPRECATED
+
+#include <openssl/opensslv.h>
#include <openssl/opensslconf.h>
-#ifndef OPENSSL_NO_SHA1
+#if !defined(OPENSSL_NO_SHA1) && \
+ (OPENSSL_VERSION_NUMBER < 0x30000000L || !defined(OPENSSL_NO_DEPRECATED))
#include "openssl_sha1_prf.h"
METHOD(prf_t, get_bytes, bool,
private_openssl_sha1_prf_t *this, chunk_t seed, uint8_t *bytes)
{
-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
if (!SHA1_Update(&this->ctx, seed.ptr, seed.len))
{
return FALSE;
}
-#else /* OPENSSL_VERSION_NUMBER < 1.0 */
- SHA1_Update(&this->ctx, seed.ptr, seed.len);
-#endif
if (bytes)
{
METHOD(prf_t, set_key, bool,
private_openssl_sha1_prf_t *this, chunk_t key)
{
-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
if (!SHA1_Init(&this->ctx))
{
return FALSE;
}
-#else /* OPENSSL_VERSION_NUMBER < 1.0 */
- SHA1_Init(&this->ctx);
-#endif
if (key.len % 4)
{
return &this->public;
}
-#endif /* OPENSSL_NO_SHA1 */
+#endif /* !OPENSSL_NO_SHA1 && SHA_LONG */