/* * Copyright (c) 2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "verify_impl.h" namespace OHOS { namespace CryptoFramework { VerifyImpl::VerifyImpl(HcfVerify *verify) { this->verify_ = verify; } VerifyImpl::~VerifyImpl() { HcfObjDestroy(this->verify_); } HcfResult VerifyImpl::Init(HcfPubKey *pubKey) { if (this->verify_ == nullptr) { return HCF_INVALID_PARAMS; } return this->verify_->init(verify_, nullptr, pubKey); } HcfResult VerifyImpl::Update(HcfBlob *input) { if (this->verify_ == nullptr) { return HCF_INVALID_PARAMS; } return this->verify_->update(verify_, input); } bool VerifyImpl::Verify(HcfBlob *data, HcfBlob signatureData, int32_t *errCode) { if (this->verify_ == nullptr) { *errCode = HCF_INVALID_PARAMS; return false; } *errCode = HCF_SUCCESS; return this->verify_->verify(verify_, data, &signatureData); } HcfResult VerifyImpl::Recover(HcfBlob input, HcfBlob *output) { if (this->verify_ == nullptr) { return HCF_INVALID_PARAMS; } return this->verify_->recover(verify_, &input, output); } HcfResult VerifyImpl::SetVerifySpecByNum(int32_t itemValue) { if (this->verify_ == nullptr) { return HCF_INVALID_PARAMS; } return this->verify_->setVerifySpecInt(verify_, PSS_SALT_LEN_INT, itemValue); } HcfResult VerifyImpl::SetVerifySpecByArr(HcfBlob itemValue) { if (this->verify_ == nullptr) { return HCF_INVALID_PARAMS; } return this->verify_->setVerifySpecUint8Array(verify_, SM2_USER_ID_UINT8ARR, itemValue); } HcfResult VerifyImpl::GetVerifySpecString(SignSpecItem item, char *itemValue) { if (this->verify_ == nullptr) { return HCF_INVALID_PARAMS; } return this->verify_->getVerifySpecString(verify_, item, &itemValue); } HcfResult VerifyImpl::GetVerifySpecNum(SignSpecItem item, int32_t *itemValue) { if (this->verify_ == nullptr) { return HCF_INVALID_PARAMS; } return this->verify_->getVerifySpecInt(verify_, item, itemValue); } } }