/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef OPEN62541_TESTING_POLICY_H #define OPEN62541_TESTING_POLICY_H #ifdef __cplusplus extern "C" { #endif #include "ua_plugin_securitypolicy.h" #include "ua_plugin_log.h" typedef struct funcs_called { UA_Boolean asym_enc; UA_Boolean asym_dec; UA_Boolean sym_enc; UA_Boolean sym_dec; UA_Boolean asym_sign; UA_Boolean asym_verify; UA_Boolean sym_sign; UA_Boolean sym_verify; UA_Boolean newContext; UA_Boolean deleteContext; UA_Boolean makeCertificateThumbprint; UA_Boolean generateKey; UA_Boolean generateNonce; UA_Boolean setLocalSymEncryptingKey; UA_Boolean setLocalSymSigningKey; UA_Boolean setLocalSymIv; UA_Boolean setRemoteSymEncryptingKey; UA_Boolean setRemoteSymSigningKey; UA_Boolean setRemoteSymIv; } funcs_called; typedef struct key_sizes { size_t sym_enc_blockSize; size_t sym_sig_keyLen; size_t sym_sig_size; size_t sym_enc_keyLen; size_t asym_rmt_sig_size; size_t asym_lcl_sig_size; size_t asym_rmt_ptext_blocksize; size_t asym_rmt_blocksize; size_t asym_rmt_enc_key_size; size_t asym_lcl_enc_key_size; } key_sizes; UA_StatusCode UA_EXPORT TestingPolicy(UA_SecurityPolicy *policy, UA_ByteString localCertificate, funcs_called *fCalled, const key_sizes *kSizes); #ifdef __cplusplus } #endif #endif //OPEN62541_TESTING_POLICY_H