S2OPC OPCUA Toolkit
|
Defines the cryptographic profiles: constants and struct. More...
#include <stdint.h>
#include "sopc_crypto_decl.h"
#include "sopc_enums.h"
#include "sopc_secret_buffer.h"
#include "s2opc_common_export.h"
Go to the source code of this file.
Data Structures | |
struct | SOPC_CryptoProfile |
SOPC_CryptoProfiles gather pointers to cryptographic functions of the security policies of OPC UA Services. More... | |
struct | SOPC_CryptoProfile_PubSub |
SOPC_CryptoProfiles_PubSub gather pointers to cryptographic functions of the security policies of OPC UA PubSub. More... | |
Typedefs | |
typedef SOPC_ReturnStatus | FnSymmetricEncrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenPlainText, const SOPC_ExposedBuffer *pKey, const SOPC_ExposedBuffer *pIV, uint8_t *pOutput, uint32_t lenOutput) |
typedef SOPC_ReturnStatus | FnSymmetricDecrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenCipherText, const SOPC_ExposedBuffer *pKey, const SOPC_ExposedBuffer *pIV, uint8_t *pOutput, uint32_t lenOutput) |
typedef SOPC_ReturnStatus | FnSymmetricSign(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_ExposedBuffer *pKey, uint8_t *pOutput) |
typedef SOPC_ReturnStatus | FnSymmetricVerify(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_ExposedBuffer *pKey, const uint8_t *pSignature) |
typedef SOPC_ReturnStatus | FnGenerateRandom(const SOPC_CryptoProvider *pProvider, SOPC_ExposedBuffer *pData, uint32_t lenData) |
typedef SOPC_ReturnStatus | FnDerivePseudoRandomData(const SOPC_CryptoProvider *pProvider, const SOPC_ExposedBuffer *pSecret, uint32_t lenSecret, const SOPC_ExposedBuffer *pSeed, uint32_t lenSeed, SOPC_ExposedBuffer *pOutput, uint32_t lenOutput) |
typedef SOPC_ReturnStatus | FnAsymmetricEncrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenPlainText, const SOPC_AsymmetricKey *pKey, uint8_t *pOutput) |
typedef SOPC_ReturnStatus | FnAsymmetricDecrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenCipherText, const SOPC_AsymmetricKey *pKey, uint8_t *pOutput, uint32_t *lenWritten) |
typedef SOPC_ReturnStatus | FnAsymmetricSign(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_AsymmetricKey *pKey, uint8_t *pSignature) |
typedef SOPC_ReturnStatus | FnAsymmetricVerify(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_AsymmetricKey *pKey, const uint8_t *pSignature) |
typedef SOPC_ReturnStatus | FnCertificateVerify(const SOPC_CryptoProvider *pCrypto, const SOPC_CertificateList *pCert) |
typedef SOPC_ReturnStatus | FnPubSubCrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_ExposedBuffer *pKey, const SOPC_ExposedBuffer *pKeyNonce, const SOPC_ExposedBuffer *pRandom, uint32_t uSequenceNumber, uint8_t *pOutput) |
Functions | |
const SOPC_CryptoProfile * | SOPC_CryptoProfile_Get (const char *uri) |
const SOPC_CryptoProfile_PubSub * | SOPC_CryptoProfile_PubSub_Get (const char *uri) |
Defines the cryptographic profiles: constants and struct.
#define SOPC_SecurityPolicy_Invalid_ID 0 |
#define SOPC_SecurityPolicy_Basic256Sha256_URI "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256" |
#define SOPC_SecurityPolicy_Basic256Sha256_ID 1 |
#define SOPC_SecurityPolicy_Basic256_URI "http://opcfoundation.org/UA/SecurityPolicy#Basic256" |
#define SOPC_SecurityPolicy_Basic256_ID 2 |
#define SOPC_SecurityPolicy_None_URI "http://opcfoundation.org/UA/SecurityPolicy#None" |
#define SOPC_SecurityPolicy_None_ID 3 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_URI "http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep" |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_ID 5 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_URI "http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss" |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_ID 6 |
#define SOPC_SecurityPolicy_Basic256Sha256_SymmLen_Block 16 |
#define SOPC_SecurityPolicy_Basic256Sha256_SymmLen_CryptoKey 32 |
#define SOPC_SecurityPolicy_Basic256Sha256_SymmLen_SignKey 32 |
#define SOPC_SecurityPolicy_Basic256Sha256_SymmLen_Signature 32 |
#define SOPC_SecurityPolicy_Basic256Sha256_CertLen_Thumbprint 20 |
#define SOPC_SecurityPolicy_Basic256Sha256_AsymLen_OAEP_Hash 20 /*< RSA OAEP uses SHA-1 */ |
#define SOPC_SecurityPolicy_Basic256Sha256_AsymLen_KeyMinBits 2048 |
#define SOPC_SecurityPolicy_Basic256Sha256_AsymLen_KeyMaxBits 4096 |
#define SOPC_SecurityPolicy_Basic256Sha256_URI_SignAlgo "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" |
#define SOPC_SecurityPolicy_Basic256Sha256_SecureChannelNonceLength 32 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_Block 16 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_CryptoKey 16 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_SignKey 32 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_Signature 32 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_CertLen_Thumbprint 20 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_OAEP_Hash 20 /*< RSA OAEP uses SHA-1 */ |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_KeyMinBits 2048 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_KeyMaxBits 4096 |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_URI_SignAlgo "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" |
#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SecureChannelNonceLength 32 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_Block 16 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_CryptoKey 32 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_SignKey 32 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_Signature 32 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_CertLen_Thumbprint 20 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_OAEP_Hash 32 /*< RSA OAEP uses SHA2-256 */ |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_KeyMinBits 2048 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_KeyMaxBits 4096 |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_URI_SignAlgo "http://opcfoundation.org/UA/security/rsa-pss-sha2-256" |
#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SecureChannelNonceLength 32 |
#define SOPC_SecurityPolicy_Basic256_SymmLen_Block 16 |
#define SOPC_SecurityPolicy_Basic256_SymmLen_CryptoKey 32 |
#define SOPC_SecurityPolicy_Basic256_SymmLen_SignKey 24 |
#define SOPC_SecurityPolicy_Basic256_SymmLen_Signature 20 |
#define SOPC_SecurityPolicy_Basic256_CertLen_Thumbprint 20 |
#define SOPC_SecurityPolicy_Basic256_AsymLen_OAEP_Hash 20 /*< RSA OAEP uses SHA-1 */ |
#define SOPC_SecurityPolicy_Basic256_AsymLen_KeyMinBits 1024 |
#define SOPC_SecurityPolicy_Basic256_AsymLen_KeyMaxBits 2048 |
#define SOPC_SecurityPolicy_Basic256_URI_SignAlgo "http://www.w3.org/2000/09/xmldsig#rsa-sha1" |
#define SOPC_SecurityPolicy_Basic256_SecureChannelNonceLength 32 |
#define SOPC_SecurityPolicy_PubSub_Aes256_URI "http://opcfoundation.org/UA/SecurityPolicy#PubSub-Aes256-CTR" |
#define SOPC_SecurityPolicy_PubSub_Aes256_ID 4 |
#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_CryptoKey 32 |
#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_SignKey 32 |
#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_Signature 32 |
#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_KeyNonce 4 |
#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_MessageRandom 4 |
typedef SOPC_ReturnStatus FnSymmetricEncrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenPlainText, const SOPC_ExposedBuffer *pKey, const SOPC_ExposedBuffer *pIV, uint8_t *pOutput, uint32_t lenOutput) |
typedef SOPC_ReturnStatus FnSymmetricDecrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenCipherText, const SOPC_ExposedBuffer *pKey, const SOPC_ExposedBuffer *pIV, uint8_t *pOutput, uint32_t lenOutput) |
typedef SOPC_ReturnStatus FnSymmetricSign(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_ExposedBuffer *pKey, uint8_t *pOutput) |
typedef SOPC_ReturnStatus FnSymmetricVerify(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_ExposedBuffer *pKey, const uint8_t *pSignature) |
typedef SOPC_ReturnStatus FnGenerateRandom(const SOPC_CryptoProvider *pProvider, SOPC_ExposedBuffer *pData, uint32_t lenData) |
typedef SOPC_ReturnStatus FnDerivePseudoRandomData(const SOPC_CryptoProvider *pProvider, const SOPC_ExposedBuffer *pSecret, uint32_t lenSecret, const SOPC_ExposedBuffer *pSeed, uint32_t lenSeed, SOPC_ExposedBuffer *pOutput, uint32_t lenOutput) |
typedef SOPC_ReturnStatus FnAsymmetricEncrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenPlainText, const SOPC_AsymmetricKey *pKey, uint8_t *pOutput) |
typedef SOPC_ReturnStatus FnAsymmetricDecrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenCipherText, const SOPC_AsymmetricKey *pKey, uint8_t *pOutput, uint32_t *lenWritten) |
typedef SOPC_ReturnStatus FnAsymmetricSign(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_AsymmetricKey *pKey, uint8_t *pSignature) |
typedef SOPC_ReturnStatus FnAsymmetricVerify(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_AsymmetricKey *pKey, const uint8_t *pSignature) |
typedef SOPC_ReturnStatus FnCertificateVerify(const SOPC_CryptoProvider *pCrypto, const SOPC_CertificateList *pCert) |
typedef SOPC_ReturnStatus FnPubSubCrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_ExposedBuffer *pKey, const SOPC_ExposedBuffer *pKeyNonce, const SOPC_ExposedBuffer *pRandom, uint32_t uSequenceNumber, uint8_t *pOutput) |
const SOPC_CryptoProfile* SOPC_CryptoProfile_Get | ( | const char * | uri | ) |
const SOPC_CryptoProfile_PubSub* SOPC_CryptoProfile_PubSub_Get | ( | const char * | uri | ) |
S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpAes256Sha256RsaPss |
S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpAes128Sha256RsaOaep |
S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpBasic256Sha256 |
S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpBasic256 |
S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpNone |
S2OPC_COMMON_EXPORT const SOPC_CryptoProfile_PubSub sopc_g_cppsPubSubAes256 |
S2OPC_COMMON_EXPORT const SOPC_CryptoProfile_PubSub sopc_g_cppsNone |