ua_securitypolicies.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /* This work is licensed under a Creative Commons CCZero 1.0 Universal License.
  2. * See http://creativecommons.org/publicdomain/zero/1.0/ for more information.
  3. *
  4. * Copyright 2017-2018 (c) Mark Giraud, Fraunhofer IOSB
  5. * Copyright 2017 (c) Stefan Profanter, fortiss GmbH
  6. * Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG
  7. */
  8. #ifndef UA_SECURITYPOLICIES_H_
  9. #define UA_SECURITYPOLICIES_H_
  10. #include "ua_plugin_securitypolicy.h"
  11. #include <mbedtls/md.h>
  12. _UA_BEGIN_DECLS
  13. UA_EXPORT UA_StatusCode
  14. UA_SecurityPolicy_None(UA_SecurityPolicy *policy,
  15. UA_CertificateVerification *certificateVerification,
  16. const UA_ByteString localCertificate, const UA_Logger *logger);
  17. #ifdef UA_ENABLE_ENCRYPTION
  18. UA_EXPORT UA_StatusCode
  19. UA_SecurityPolicy_Basic128Rsa15(UA_SecurityPolicy *policy,
  20. UA_CertificateVerification *certificateVerification,
  21. const UA_ByteString localCertificate,
  22. const UA_ByteString localPrivateKey,
  23. const UA_Logger *logger);
  24. UA_EXPORT UA_StatusCode
  25. UA_SecurityPolicy_Basic256(UA_SecurityPolicy *policy,
  26. UA_CertificateVerification *certificateVerification,
  27. const UA_ByteString localCertificate,
  28. const UA_ByteString localPrivateKey, const UA_Logger *logger);
  29. UA_EXPORT UA_StatusCode
  30. UA_SecurityPolicy_Basic256Sha256(UA_SecurityPolicy *policy,
  31. UA_CertificateVerification *certificateVerification,
  32. const UA_ByteString localCertificate,
  33. const UA_ByteString localPrivateKey,
  34. const UA_Logger *logger);
  35. /* Internal definitions for reuse between policies */
  36. UA_StatusCode
  37. generateKey_sha1p(mbedtls_md_context_t *sha1MdContext,
  38. const UA_ByteString *secret, const UA_ByteString *seed,
  39. UA_ByteString *out);
  40. #endif
  41. _UA_END_DECLS
  42. #endif /* UA_SECURITYPOLICIES_H_ */