S2OPC OPCUA Toolkit
Macros | Typedefs | Enumerations
sopc_pki_decl.h File Reference

Defines the common declarations for the PKI objects. The structures and macros defined in this file are required before including library-specific files (from lib_itf). More...

#include "sopc_crypto_decl.h"

Go to the source code of this file.

Macros

#define SOPC_PKI_MAX_NB_CERT_REJECTED   10
 
#define SOPC_PKI_MAX_NB_CERT_AND_CRL   50
 

Typedefs

typedef struct SOPC_PKIProvider SOPC_PKIProvider
 
typedef struct SOPC_PKI_Profile SOPC_PKI_Profile
 
typedef struct SOPC_PKI_ChainProfile SOPC_PKI_ChainProfile
 
typedef struct SOPC_PKI_LeafProfile SOPC_PKI_LeafProfile
 
typedef SOPC_ReturnStatus SOPC_FnValidateCert(SOPC_PKIProvider *pPKI, const SOPC_CertificateList *pToValidate, const SOPC_PKI_Profile *pProfile, uint32_t *error)
 

Enumerations

enum  SOPC_PKI_MdSign {
  SOPC_PKI_MD_SHA1, SOPC_PKI_MD_SHA256, SOPC_PKI_MD_SHA1_AND_SHA256, SOPC_PKI_MD_SHA1_OR_ABOVE,
  SOPC_PKI_MD_SHA256_OR_ABOVE
}
 Message digests for signatures. More...
 
enum  SOPC_PKI_PkAlgo { SOPC_PKI_PK_ANY, SOPC_PKI_PK_RSA }
 Public key algorithms. More...
 
enum  SOPC_PKI_EllipticCurves { SOPC_PKI_CURVES_ANY }
 Elliptic curves for ECDSA. More...
 
enum  SOPC_PKI_KeyUsage_Mask {
  SOPC_PKI_KU_NONE = 0x0000, SOPC_PKI_KU_NON_REPUDIATION = 0x0001, SOPC_PKI_KU_DIGITAL_SIGNATURE = 0x0002, SOPC_PKI_KU_KEY_ENCIPHERMENT = 0x0004,
  SOPC_PKI_KU_KEY_DATA_ENCIPHERMENT = 0x0008, SOPC_PKI_KU_KEY_CERT_SIGN = 0x0010, SOPC_PKI_KU_KEY_CRL_SIGN = 0x00100
}
 Key usage. More...
 
enum  SOPC_PKI_ExtendedKeyUsage_Mask { SOPC_PKI_EKU_NONE = 0x0000, SOPC_PKI_EKU_CLIENT_AUTH = 0x0001, SOPC_PKI_EKU_SERVER_AUTH = 0x0002 }
 Extended Key usage. More...
 
enum  SOPC_PKI_Type { SOPC_PKI_TYPE_CLIENT_APP, SOPC_PKI_TYPE_SERVER_APP, SOPC_PKI_TYPE_USER }
 Type of PKI. More...
 

Detailed Description

Defines the common declarations for the PKI objects. The structures and macros defined in this file are required before including library-specific files (from lib_itf).

Avoids the circular dependencies.

Macro Definition Documentation

◆ SOPC_PKI_MAX_NB_CERT_REJECTED

#define SOPC_PKI_MAX_NB_CERT_REJECTED   10

◆ SOPC_PKI_MAX_NB_CERT_AND_CRL

#define SOPC_PKI_MAX_NB_CERT_AND_CRL   50

Typedef Documentation

◆ SOPC_PKIProvider

◆ SOPC_PKI_Profile

◆ SOPC_PKI_ChainProfile

◆ SOPC_PKI_LeafProfile

◆ SOPC_FnValidateCert

typedef SOPC_ReturnStatus SOPC_FnValidateCert(SOPC_PKIProvider *pPKI, const SOPC_CertificateList *pToValidate, const SOPC_PKI_Profile *pProfile, uint32_t *error)

Enumeration Type Documentation

◆ SOPC_PKI_MdSign

Message digests for signatures.

Enumerator
SOPC_PKI_MD_SHA1 
SOPC_PKI_MD_SHA256 
SOPC_PKI_MD_SHA1_AND_SHA256 
SOPC_PKI_MD_SHA1_OR_ABOVE 
SOPC_PKI_MD_SHA256_OR_ABOVE 

◆ SOPC_PKI_PkAlgo

Public key algorithms.

Enumerator
SOPC_PKI_PK_ANY 
SOPC_PKI_PK_RSA 

◆ SOPC_PKI_EllipticCurves

Elliptic curves for ECDSA.

Enumerator
SOPC_PKI_CURVES_ANY 

◆ SOPC_PKI_KeyUsage_Mask

Key usage.

Enumerator
SOPC_PKI_KU_NONE 
SOPC_PKI_KU_NON_REPUDIATION 
SOPC_PKI_KU_DIGITAL_SIGNATURE 
SOPC_PKI_KU_KEY_ENCIPHERMENT 
SOPC_PKI_KU_KEY_DATA_ENCIPHERMENT 
SOPC_PKI_KU_KEY_CERT_SIGN 
SOPC_PKI_KU_KEY_CRL_SIGN 

◆ SOPC_PKI_ExtendedKeyUsage_Mask

Extended Key usage.

Enumerator
SOPC_PKI_EKU_NONE 
SOPC_PKI_EKU_CLIENT_AUTH 
SOPC_PKI_EKU_SERVER_AUTH 

◆ SOPC_PKI_Type

Type of PKI.

Enumerator
SOPC_PKI_TYPE_CLIENT_APP 

Application client to validate server certificates

SOPC_PKI_TYPE_SERVER_APP 

Application server to validate client certificates

SOPC_PKI_TYPE_USER 

Application server to validate user certificates