12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /* This work is licensed under a Creative Commons CCZero 1.0 Universal License.
- * See http://creativecommons.org/publicdomain/zero/1.0/ for more information.
- *
- * Copyright 2019 (c) Fraunhofer IOSB (Author: Julius Pfrommer)
- */
- #ifndef UA_SECURITYPOLICY_MBEDTLS_COMMON_H_
- #define UA_SECURITYPOLICY_MBEDTLS_COMMON_H_
- #include "ua_plugin_securitypolicy.h"
- #include <mbedtls/md.h>
- #include <mbedtls/x509_crt.h>
- #include <mbedtls/ctr_drbg.h>
- #define UA_SHA1_LENGTH 20
- _UA_BEGIN_DECLS
- #ifdef UA_ENABLE_ENCRYPTION
- void
- swapBuffers(UA_ByteString *const bufA, UA_ByteString *const bufB);
- void
- mbedtls_hmac(mbedtls_md_context_t *context, const UA_ByteString *key,
- const UA_ByteString *in, unsigned char *out);
- UA_StatusCode
- mbedtls_generateKey(mbedtls_md_context_t *context,
- const UA_ByteString *secret, const UA_ByteString *seed,
- UA_ByteString *out);
- UA_StatusCode
- mbedtls_verifySig_sha1(mbedtls_x509_crt *certificate, const UA_ByteString *message,
- const UA_ByteString *signature);
- UA_StatusCode
- mbedtls_sign_sha1(mbedtls_pk_context *localPrivateKey,
- mbedtls_ctr_drbg_context *drbgContext,
- const UA_ByteString *message,
- UA_ByteString *signature);
- UA_StatusCode
- mbedtls_thumbprint_sha1(const UA_ByteString *certificate,
- UA_ByteString *thumbprint);
- /* Set the hashing scheme before calling
- * E.g. mbedtls_rsa_set_padding(context, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA1); */
- UA_StatusCode
- mbedtls_encrypt_rsaOaep(mbedtls_rsa_context *context,
- mbedtls_ctr_drbg_context *drbgContext,
- UA_ByteString *data, const size_t plainTextBlockSize);
- UA_StatusCode
- mbedtls_decrypt_rsaOaep(mbedtls_pk_context *localPrivateKey,
- mbedtls_ctr_drbg_context *drbgContext,
- UA_ByteString *data);
- #endif
- _UA_END_DECLS
- #endif /* UA_SECURITYPOLICY_MBEDTLS_COMMON_H_ */
|