[IOT-1947][IOT-2761][IOT-3228] Rm PEM/DER convert
[iotivity.git] / resource / csdk / connectivity / common / inc / parsechain.h
1 /* ****************************************************************
2  *
3  * Copyright 2017 Samsung Electronics All Rights Reserved.
4  *
5  *
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  ******************************************************************/
20
21 #ifndef U_PARSECHAIN_H_
22 #define U_PARSECHAIN_H_
23
24 #include <mbedtls/ssl.h>
25 #include "casecurityinterface.h"
26
27 #ifdef __cplusplus
28 extern "C"
29 {
30 #endif
31
32 /**
33  * Parse chain of X.509 certificates.
34  *
35  * @param[out] crt     container for X.509 certificates
36  * @param[in]  certs   array of X.509 certificates
37  * @param[in]  errNum  number of certificates that failed to parse
38  *
39  * @return  number of successfully parsed certificates or -1 on error
40  */
41 int ParseChain(mbedtls_x509_crt *crt, const ByteArrayLL_t *certs, int *errNum);
42
43 /**
44  * Free chain of X.509 certificates.
45  *
46  * @param[in]  certs   array of X.509 certificates
47  */
48 void FreeCertChain(ByteArrayLL_t *certs);
49
50 #ifdef __cplusplus
51 }
52 #endif
53
54 #endif /* U_ARRAYLIST_H_ */