117fd14ceSopenharmony_ci/* 217fd14ceSopenharmony_ci * Copyright (C) 2023 Huawei Device Co., Ltd. 317fd14ceSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 417fd14ceSopenharmony_ci * you may not use this file except in compliance with the License. 517fd14ceSopenharmony_ci * You may obtain a copy of the License at 617fd14ceSopenharmony_ci * 717fd14ceSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 817fd14ceSopenharmony_ci * 917fd14ceSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1017fd14ceSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1117fd14ceSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1217fd14ceSopenharmony_ci * See the License for the specific language governing permissions and 1317fd14ceSopenharmony_ci * limitations under the License. 1417fd14ceSopenharmony_ci */ 1517fd14ceSopenharmony_ci 1617fd14ceSopenharmony_ci#ifndef CREDS_MANAGER_H 1717fd14ceSopenharmony_ci#define CREDS_MANAGER_H 1817fd14ceSopenharmony_ci 1917fd14ceSopenharmony_ci#include "identity_manager.h" 2017fd14ceSopenharmony_ci#include "json_utils.h" 2117fd14ceSopenharmony_ci 2217fd14ceSopenharmony_ci#ifdef __cplusplus 2317fd14ceSopenharmony_ciextern "C" { 2417fd14ceSopenharmony_ci#endif 2517fd14ceSopenharmony_ci 2617fd14ceSopenharmony_ciint32_t AddCertInfoToJson(const CertInfo *certInfo, CJson *out); 2717fd14ceSopenharmony_ciint32_t GetCredInfosByPeerIdentity(CJson *in, IdentityInfoVec *vec); 2817fd14ceSopenharmony_ciint32_t GetCredInfoByPeerUrl(const CJson *in, const Uint8Buff *presharedUrl, IdentityInfo **returnInfo); 2917fd14ceSopenharmony_ciint32_t GetSharedSecretByUrl( 3017fd14ceSopenharmony_ci const CJson *in, const Uint8Buff *presharedUrl, ProtocolAlgType protocolType, Uint8Buff *sharedSecret); 3117fd14ceSopenharmony_ciint32_t GetCredInfoByPeerCert(const CJson *in, const CertInfo *certInfo, IdentityInfo **returnInfo); 3217fd14ceSopenharmony_ciint32_t GetSharedSecretByPeerCert( 3317fd14ceSopenharmony_ci const CJson *in, const CertInfo *peerCertInfo, ProtocolAlgType protocolType, Uint8Buff *sharedSecret); 3417fd14ceSopenharmony_ci 3517fd14ceSopenharmony_ci#ifdef __cplusplus 3617fd14ceSopenharmony_ci} 3717fd14ceSopenharmony_ci#endif 3817fd14ceSopenharmony_ci 3917fd14ceSopenharmony_ci#endif