mirror of
https://github.com/openssl/openssl.git
synced 2025-04-06 20:20:50 +08:00
fips: add function to detect if the self tests are running
Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Viktor Dukhovni <viktor@openssl.org> (Merged from https://github.com/openssl/openssl/pull/26838)
This commit is contained in:
parent
92159b48e9
commit
e36d00e53b
21
include/internal/fips.h
Normal file
21
include/internal/fips.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#ifndef OSSL_INTERNAL_FIPS_H
|
||||
# define OSSL_INTERNAL_FIPS_H
|
||||
# pragma once
|
||||
|
||||
# ifdef FIPS_MODULE
|
||||
|
||||
/* Return 1 if the FIPS self tests are running and 0 otherwise */
|
||||
int ossl_fips_self_testing(void);
|
||||
|
||||
# endif /* FIPS_MODULE */
|
||||
|
||||
#endif
|
@ -17,6 +17,7 @@
|
||||
#include <openssl/proverr.h>
|
||||
#include <openssl/rand.h>
|
||||
#include "internal/e_os.h"
|
||||
#include "internal/fips.h"
|
||||
#include "internal/tsan_assist.h"
|
||||
#include "prov/providercommon.h"
|
||||
#include "crypto/rand.h"
|
||||
@ -301,6 +302,12 @@ static void set_fips_state(int state)
|
||||
tsan_store(&FIPS_state, state);
|
||||
}
|
||||
|
||||
/* Return 1 if the FIPS self tests are running and 0 otherwise */
|
||||
int ossl_fips_self_testing(void)
|
||||
{
|
||||
return tsan_load(&FIPS_state) == FIPS_STATE_SELFTEST;
|
||||
}
|
||||
|
||||
/* This API is triggered either on loading of the FIPS module or on demand */
|
||||
int SELF_TEST_post(SELF_TEST_POST_PARAMS *st, int on_demand_test)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user