open62541/tests/testing-plugins/testing_policy.h
2018-06-26 11:52:52 +02:00

66 lines
1.6 KiB
C

/* 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