S2OPC OPCUA Toolkit
Loading...
Searching...
No Matches
sopc_pki_decl.h
Go to the documentation of this file.
1/*
2 * Licensed to Systerel under one or more contributor license
3 * agreements. See the NOTICE file distributed with this work
4 * for additional information regarding copyright ownership.
5 * Systerel licenses this file to you under the Apache
6 * License, Version 2.0 (the "License"); you may not use this
7 * file except in compliance with the License. You may obtain
8 * a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
29#ifndef SOPC_CRYPTO_PKI_DECL_H_
30#define SOPC_CRYPTO_PKI_DECL_H_
31
32#include "sopc_crypto_decl.h"
33
34/* The maximum number of rejected certificate stored by the PKI */
35#ifndef SOPC_PKI_MAX_NB_CERT_REJECTED
36#define SOPC_PKI_MAX_NB_CERT_REJECTED 10
37#endif
38
39/* The maximum number of trusted/issuer certificate/CRL stored by the PKI */
40#ifndef SOPC_PKI_MAX_NB_CERT_AND_CRL
41#define SOPC_PKI_MAX_NB_CERT_AND_CRL 50
42#endif
43
44/*
45 The directory store shall be organized as follows:
46 .
47 |
48 ---- <Directory_store_name>
49 |
50 |---- trusted
51 | |
52 | ---- certs
53 | ---- crl
54 |---- issuers
55 | |
56 | ---- certs
57 | ---- crl
58 |---- rejected
59 |
60 ---- (updatedTrustList) [automatically created for runtime update persistence]
61 | |
62 | ---- trusted
63 | | |
64 | | ---- certs
65 | | ---- crl
66 | ---- issuers
67 | |
68 | ---- certs
69 | ---- crl
70*/
71
83
92
100
114
124
134
140typedef void SOPC_PKIProviderUpdateCb(uintptr_t updateParam);
141
146
148 const SOPC_CertificateList* pToValidate,
149 const SOPC_PKI_Profile* pProfile,
150 uint32_t* error);
151
152#endif /* SOPC_CRYPTO_PKI_DECL_H_ */
Defines the common declarations for the cryptographic objects. The structures and macros defined in t...
enum _SOPC_ReturnStatus SOPC_ReturnStatus
Common enumerations for S2OPC.
SOPC_PKI_ExtendedKeyUsage_Mask
Extended Key usage.
Definition sopc_pki_decl.h:119
@ SOPC_PKI_EKU_CLIENT_AUTH
Definition sopc_pki_decl.h:121
@ SOPC_PKI_EKU_NONE
Definition sopc_pki_decl.h:120
@ SOPC_PKI_EKU_SERVER_AUTH
Definition sopc_pki_decl.h:122
SOPC_PKI_PkAlgo
Public key algorithms.
Definition sopc_pki_decl.h:88
@ SOPC_PKI_PK_ANY
Definition sopc_pki_decl.h:89
@ SOPC_PKI_PK_RSA
Definition sopc_pki_decl.h:90
SOPC_PKI_MdSign
Message digests for signatures.
Definition sopc_pki_decl.h:76
@ SOPC_PKI_MD_SHA1
Definition sopc_pki_decl.h:77
@ SOPC_PKI_MD_SHA1_OR_ABOVE
Definition sopc_pki_decl.h:80
@ SOPC_PKI_MD_SHA1_AND_SHA256
Definition sopc_pki_decl.h:79
@ SOPC_PKI_MD_SHA256
Definition sopc_pki_decl.h:78
@ SOPC_PKI_MD_SHA256_OR_ABOVE
Definition sopc_pki_decl.h:81
SOPC_PKI_KeyUsage_Mask
Key usage.
Definition sopc_pki_decl.h:105
@ SOPC_PKI_KU_NON_REPUDIATION
Definition sopc_pki_decl.h:107
@ SOPC_PKI_KU_KEY_CRL_SIGN
Definition sopc_pki_decl.h:112
@ SOPC_PKI_KU_NONE
Definition sopc_pki_decl.h:106
@ SOPC_PKI_KU_KEY_CERT_SIGN
Definition sopc_pki_decl.h:111
@ SOPC_PKI_KU_KEY_DATA_ENCIPHERMENT
Definition sopc_pki_decl.h:110
@ SOPC_PKI_KU_DIGITAL_SIGNATURE
Definition sopc_pki_decl.h:108
@ SOPC_PKI_KU_KEY_ENCIPHERMENT
Definition sopc_pki_decl.h:109
SOPC_PKI_EllipticCurves
Elliptic curves for ECDSA.
Definition sopc_pki_decl.h:97
@ SOPC_PKI_CURVES_ANY
Definition sopc_pki_decl.h:98
SOPC_PKI_Type
Type of PKI.
Definition sopc_pki_decl.h:129
@ SOPC_PKI_TYPE_SERVER_APP
Definition sopc_pki_decl.h:131
@ SOPC_PKI_TYPE_USER
Definition sopc_pki_decl.h:132
@ SOPC_PKI_TYPE_CLIENT_APP
Definition sopc_pki_decl.h:130
SOPC_ReturnStatus SOPC_FnValidateCert(SOPC_PKIProvider *pPKI, const SOPC_CertificateList *pToValidate, const SOPC_PKI_Profile *pProfile, uint32_t *error)
Definition sopc_pki_decl.h:147
void SOPC_PKIProviderUpdateCb(uintptr_t updateParam)
Type of the callback triggered on PKI certificates update.
Definition sopc_pki_decl.h:140
The signed public key representation.
Definition key_manager_cyclone.h:60
The PKIProvider object for the Public Key Infrastructure.
Definition sopc_pki_struct_lib_internal.h:39
Structure containing the certificate chain profile for the validation with SOPC_PKIProvider_ValidateC...
Definition sopc_pki_struct_lib_internal.h:120
Structure containing the leaf certificate profile for validation with SOPC_PKIProvider_ValidateCertif...
Definition sopc_pki_struct_lib_internal.h:91
Structure containing the validation configuration.
Definition sopc_pki_struct_lib_internal.h:146