S2OPC OPCUA Toolkit
Data Structures | Macros | Typedefs | Functions | Variables
sopc_crypto_profiles.h File Reference

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...
 

Macros

#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
 

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_CryptoProfileSOPC_CryptoProfile_Get (const char *uri)
 
const SOPC_CryptoProfile_PubSubSOPC_CryptoProfile_PubSub_Get (const char *uri)
 

Variables

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
 

Detailed Description

Defines the cryptographic profiles: constants and struct.

Note
The constants defined in this file are mainly based on the test specification (Part 7).

Macro Definition Documentation

◆ SOPC_SecurityPolicy_Invalid_ID

#define SOPC_SecurityPolicy_Invalid_ID   0

◆ SOPC_SecurityPolicy_Basic256Sha256_URI

#define SOPC_SecurityPolicy_Basic256Sha256_URI   "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"

◆ SOPC_SecurityPolicy_Basic256Sha256_ID

#define SOPC_SecurityPolicy_Basic256Sha256_ID   1

◆ SOPC_SecurityPolicy_Basic256_URI

#define SOPC_SecurityPolicy_Basic256_URI   "http://opcfoundation.org/UA/SecurityPolicy#Basic256"

◆ SOPC_SecurityPolicy_Basic256_ID

#define SOPC_SecurityPolicy_Basic256_ID   2

◆ SOPC_SecurityPolicy_None_URI

#define SOPC_SecurityPolicy_None_URI   "http://opcfoundation.org/UA/SecurityPolicy#None"

◆ SOPC_SecurityPolicy_None_ID

#define SOPC_SecurityPolicy_None_ID   3

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_URI

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_URI   "http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep"

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_ID

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_ID   5

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_URI

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_URI   "http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss"

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_ID

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_ID   6

◆ SOPC_SecurityPolicy_Basic256Sha256_SymmLen_Block

#define SOPC_SecurityPolicy_Basic256Sha256_SymmLen_Block   16

◆ SOPC_SecurityPolicy_Basic256Sha256_SymmLen_CryptoKey

#define SOPC_SecurityPolicy_Basic256Sha256_SymmLen_CryptoKey   32

◆ SOPC_SecurityPolicy_Basic256Sha256_SymmLen_SignKey

#define SOPC_SecurityPolicy_Basic256Sha256_SymmLen_SignKey   32

◆ SOPC_SecurityPolicy_Basic256Sha256_SymmLen_Signature

#define SOPC_SecurityPolicy_Basic256Sha256_SymmLen_Signature   32

◆ SOPC_SecurityPolicy_Basic256Sha256_CertLen_Thumbprint

#define SOPC_SecurityPolicy_Basic256Sha256_CertLen_Thumbprint   20

◆ SOPC_SecurityPolicy_Basic256Sha256_AsymLen_OAEP_Hash

#define SOPC_SecurityPolicy_Basic256Sha256_AsymLen_OAEP_Hash   20 /*< RSA OAEP uses SHA-1 */

◆ SOPC_SecurityPolicy_Basic256Sha256_AsymLen_KeyMinBits

#define SOPC_SecurityPolicy_Basic256Sha256_AsymLen_KeyMinBits   2048

◆ SOPC_SecurityPolicy_Basic256Sha256_AsymLen_KeyMaxBits

#define SOPC_SecurityPolicy_Basic256Sha256_AsymLen_KeyMaxBits   4096

◆ SOPC_SecurityPolicy_Basic256Sha256_URI_SignAlgo

#define SOPC_SecurityPolicy_Basic256Sha256_URI_SignAlgo   "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"

◆ SOPC_SecurityPolicy_Basic256Sha256_SecureChannelNonceLength

#define SOPC_SecurityPolicy_Basic256Sha256_SecureChannelNonceLength   32

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_Block

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_Block   16

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_CryptoKey

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_CryptoKey   16

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_SignKey

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_SignKey   32

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_Signature

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SymmLen_Signature   32

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_CertLen_Thumbprint

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_CertLen_Thumbprint   20

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_OAEP_Hash

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_OAEP_Hash   20 /*< RSA OAEP uses SHA-1 */

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_KeyMinBits

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_KeyMinBits   2048

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_KeyMaxBits

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_AsymLen_KeyMaxBits   4096

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_URI_SignAlgo

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_URI_SignAlgo   "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"

◆ SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SecureChannelNonceLength

#define SOPC_SecurityPolicy_Aes128Sha256RsaOaep_SecureChannelNonceLength   32

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_Block

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_Block   16

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_CryptoKey

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_CryptoKey   32

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_SignKey

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_SignKey   32

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_Signature

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SymmLen_Signature   32

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_CertLen_Thumbprint

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_CertLen_Thumbprint   20

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_OAEP_Hash

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_OAEP_Hash   32 /*< RSA OAEP uses SHA2-256 */

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_KeyMinBits

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_KeyMinBits   2048

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_KeyMaxBits

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_AsymLen_KeyMaxBits   4096

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_URI_SignAlgo

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_URI_SignAlgo   "http://opcfoundation.org/UA/security/rsa-pss-sha2-256"

◆ SOPC_SecurityPolicy_Aes256Sha256RsaPss_SecureChannelNonceLength

#define SOPC_SecurityPolicy_Aes256Sha256RsaPss_SecureChannelNonceLength   32

◆ SOPC_SecurityPolicy_Basic256_SymmLen_Block

#define SOPC_SecurityPolicy_Basic256_SymmLen_Block   16

◆ SOPC_SecurityPolicy_Basic256_SymmLen_CryptoKey

#define SOPC_SecurityPolicy_Basic256_SymmLen_CryptoKey   32

◆ SOPC_SecurityPolicy_Basic256_SymmLen_SignKey

#define SOPC_SecurityPolicy_Basic256_SymmLen_SignKey   24

◆ SOPC_SecurityPolicy_Basic256_SymmLen_Signature

#define SOPC_SecurityPolicy_Basic256_SymmLen_Signature   20

◆ SOPC_SecurityPolicy_Basic256_CertLen_Thumbprint

#define SOPC_SecurityPolicy_Basic256_CertLen_Thumbprint   20

◆ SOPC_SecurityPolicy_Basic256_AsymLen_OAEP_Hash

#define SOPC_SecurityPolicy_Basic256_AsymLen_OAEP_Hash   20 /*< RSA OAEP uses SHA-1 */

◆ SOPC_SecurityPolicy_Basic256_AsymLen_KeyMinBits

#define SOPC_SecurityPolicy_Basic256_AsymLen_KeyMinBits   1024

◆ SOPC_SecurityPolicy_Basic256_AsymLen_KeyMaxBits

#define SOPC_SecurityPolicy_Basic256_AsymLen_KeyMaxBits   2048

◆ SOPC_SecurityPolicy_Basic256_URI_SignAlgo

#define SOPC_SecurityPolicy_Basic256_URI_SignAlgo   "http://www.w3.org/2000/09/xmldsig#rsa-sha1"

◆ SOPC_SecurityPolicy_Basic256_SecureChannelNonceLength

#define SOPC_SecurityPolicy_Basic256_SecureChannelNonceLength   32

◆ SOPC_SecurityPolicy_PubSub_Aes256_URI

#define SOPC_SecurityPolicy_PubSub_Aes256_URI   "http://opcfoundation.org/UA/SecurityPolicy#PubSub-Aes256-CTR"

◆ SOPC_SecurityPolicy_PubSub_Aes256_ID

#define SOPC_SecurityPolicy_PubSub_Aes256_ID   4

◆ SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_CryptoKey

#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_CryptoKey   32

◆ SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_SignKey

#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_SignKey   32

◆ SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_Signature

#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_Signature   32

◆ SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_KeyNonce

#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_KeyNonce   4

◆ SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_MessageRandom

#define SOPC_SecurityPolicy_PubSub_Aes256_SymmLen_MessageRandom   4

Typedef Documentation

◆ FnSymmetricEncrypt

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)

◆ FnSymmetricDecrypt

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)

◆ FnSymmetricSign

typedef SOPC_ReturnStatus FnSymmetricSign(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_ExposedBuffer *pKey, uint8_t *pOutput)

◆ FnSymmetricVerify

typedef SOPC_ReturnStatus FnSymmetricVerify(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_ExposedBuffer *pKey, const uint8_t *pSignature)

◆ FnGenerateRandom

typedef SOPC_ReturnStatus FnGenerateRandom(const SOPC_CryptoProvider *pProvider, SOPC_ExposedBuffer *pData, uint32_t lenData)

◆ FnDerivePseudoRandomData

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)

◆ FnAsymmetricEncrypt

typedef SOPC_ReturnStatus FnAsymmetricEncrypt(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenPlainText, const SOPC_AsymmetricKey *pKey, uint8_t *pOutput)

◆ FnAsymmetricDecrypt

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)

◆ FnAsymmetricSign

typedef SOPC_ReturnStatus FnAsymmetricSign(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_AsymmetricKey *pKey, uint8_t *pSignature)

◆ FnAsymmetricVerify

typedef SOPC_ReturnStatus FnAsymmetricVerify(const SOPC_CryptoProvider *pProvider, const uint8_t *pInput, uint32_t lenInput, const SOPC_AsymmetricKey *pKey, const uint8_t *pSignature)

◆ FnCertificateVerify

typedef SOPC_ReturnStatus FnCertificateVerify(const SOPC_CryptoProvider *pCrypto, const SOPC_CertificateList *pCert)

◆ FnPubSubCrypt

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)

Function Documentation

◆ SOPC_CryptoProfile_Get()

const SOPC_CryptoProfile* SOPC_CryptoProfile_Get ( const char *  uri)

◆ SOPC_CryptoProfile_PubSub_Get()

const SOPC_CryptoProfile_PubSub* SOPC_CryptoProfile_PubSub_Get ( const char *  uri)

Variable Documentation

◆ sopc_g_cpAes256Sha256RsaPss

S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpAes256Sha256RsaPss

◆ sopc_g_cpAes128Sha256RsaOaep

S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpAes128Sha256RsaOaep

◆ sopc_g_cpBasic256Sha256

S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpBasic256Sha256

◆ sopc_g_cpBasic256

S2OPC_COMMON_EXPORT const SOPC_CryptoProfile sopc_g_cpBasic256

◆ sopc_g_cpNone

◆ sopc_g_cppsPubSubAes256

S2OPC_COMMON_EXPORT const SOPC_CryptoProfile_PubSub sopc_g_cppsPubSubAes256

◆ sopc_g_cppsNone