提交 6b6abd62 编写于 作者: D Dr. Stephen Henson

Set flags in ECDH and ECDSA methods for FIPS.

上级 7eabad42
...@@ -75,6 +75,14 @@ struct ecdh_method ...@@ -75,6 +75,14 @@ struct ecdh_method
char *app_data; char *app_data;
}; };
/* If this flag is set the ECDH method is FIPS compliant and can be used
* in FIPS mode. This is set in the validated module method. If an
* application sets this flag in its own methods it is its responsibility
* to ensure the result is compliant.
*/
#define ECDH_FLAG_FIPS_METHOD 0x1
typedef struct ecdh_data_st { typedef struct ecdh_data_st {
/* EC_KEY_METH_DATA part */ /* EC_KEY_METH_DATA part */
int (*init)(EC_KEY *); int (*init)(EC_KEY *);
......
...@@ -91,7 +91,7 @@ static ECDH_METHOD openssl_ecdh_meth = { ...@@ -91,7 +91,7 @@ static ECDH_METHOD openssl_ecdh_meth = {
NULL, /* init */ NULL, /* init */
NULL, /* finish */ NULL, /* finish */
#endif #endif
0, /* flags */ ECDH_FLAG_FIPS_METHOD, /* flags */
NULL /* app_data */ NULL /* app_data */
}; };
......
...@@ -82,6 +82,14 @@ struct ecdsa_method ...@@ -82,6 +82,14 @@ struct ecdsa_method
char *app_data; char *app_data;
}; };
/* If this flag is set the ECDSA method is FIPS compliant and can be used
* in FIPS mode. This is set in the validated module method. If an
* application sets this flag in its own methods it is its responsibility
* to ensure the result is compliant.
*/
#define ECDSA_FLAG_FIPS_METHOD 0x1
typedef struct ecdsa_data_st { typedef struct ecdsa_data_st {
/* EC_KEY_METH_DATA part */ /* EC_KEY_METH_DATA part */
int (*init)(EC_KEY *); int (*init)(EC_KEY *);
......
...@@ -79,7 +79,7 @@ static ECDSA_METHOD openssl_ecdsa_meth = { ...@@ -79,7 +79,7 @@ static ECDSA_METHOD openssl_ecdsa_meth = {
NULL, /* init */ NULL, /* init */
NULL, /* finish */ NULL, /* finish */
#endif #endif
0, /* flags */ ECDSA_FLAG_FIPS_METHOD, /* flags */
NULL /* app_data */ NULL /* app_data */
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册