# vbspro_vbsauth **Repository Path**: haloos/vbspro_vbsauth ## Basic Information - **Project Name**: vbspro_vbsauth - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-06-30 - **Last Updated**: 2025-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vbsauth代码仓库说明 ## 代码仓库简介 vbsauth模块主要为vbs身份认证提供相关密码学适配接口。 ## 功能列表 1. pki身份证书的获取 2. 系统ca证书获取 3. 身份密钥签名接口 4. 对称密码身份验证hmac接口 5. 证书吊销列表获取 ## 代码目录 - vbspro-vbsauth源代码在haloosspace/vbs/vbspro/vbsauth目录下,目录结构如下图所示: ```Plain ├── CMakeLists.txt ├── libvbsauth │   ├── cmake │   ├── include │   └── src │   ├── fakevehservice # 模拟安全模块实现 │   └── utils # 日志相关工具类 ├── README.MD └── script # 默认测试密钥生成脚本 ``` ## 用法 ```Plain #include "VBSAuthManager.h" void main() { VBSAuthManager& auth = VBSAuthManager::instance(); int ret = auth.init(); if (ret != VBSAuthErrorCode::NO_ERROR) { return -1; } //sign std::string message = "hello world"; std::vector sig; int ret = auth.signSha256( reinterpret_cast(message.data()), message.size(), sig ); if (ret != VBSAuthErrorCode::NO_ERROR) { return -1; } //load ca ret = auth.loadCA(out); if (ret != VBSAuthErrorCode::NO_ERROR) { return -1; } //load certificate ret = auth.loadCertificate(cert); if (ret != VBSAuthErrorCode::NO_ERROR) { return -1; } //load crl ret = auth.loadCRL(crl); if (ret != VBSAuthErrorCode::NO_ERROR) { return -1; } //hmac std::string message = "data to hmac"; std::vector mac; int ret = auth.hmacSha256( MVBS_AES_KEY_ID::DEFAULT_KEY, reinterpret_cast(message.data()), message.size(), mac ); if (ret != VBSAuthErrorCode::NO_ERROR) { return -1; } } ``` ## 注意事项 > **⚠️ 注意:** > > 由于底层硬件密码模块以及 PKI 身份管理模块并不包含在本模块中,因此为了保证整体功能的正常运行,**采用了 `fake` 方式进行模拟**。 > > - **生产环境中**,需要实现 `fakevehservice/fake_veh_pki_if.h` 中的所有接口,以保证功能完整。 > > - 目前提供了默认密钥相关逻辑,**仅用于调试**。在生产环境中,不应以明文代码的方式预置密钥,**所有密钥应存储在底层安全模块**中,确保安全性。