PKCS#7 signature not signed with a trusted key

使用systemback安装新系统时,出现重复登录的现象
进入ctrl+alt+f1文本模式后,界面一直在持续刷新 PKCS#7 signature not signed with a trusted key
首先判断问题是出自于nvidia显卡驱动的问题,系统盘中的显卡驱动并不适配当前电脑的显卡驱动。

但是! 这并不影响输入指令
只是看不清楚输入指令的内容。

登录–输入密码—卸载显卡驱动(sudo apt-get remove nvidia-* --输入密码—Y---卸载完后将不会接着刷PKCS#7了)
即可正常进入桌面,重新选择对应的显卡驱动安装即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用CSP接口进行PKCS#1签名的示例代码: ```c++ #include <Windows.h> #include <wincrypt.h> #include <iostream> #pragma comment(lib, "Crypt32.lib") int main() { HCRYPTPROV hProv = NULL; if (!CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { std::cerr << "Failed to acquire context: " << GetLastError() << std::endl; return 1; } const char* message = "Hello, world!"; const DWORD messageSize = strlen(message); HCRYPTHASH hHash = NULL; if (!CryptCreateHash(hProv, CALG_SHA_256, 0, 0, &hHash)) { std::cerr << "Failed to create hash: " << GetLastError() << std::endl; CryptReleaseContext(hProv, 0); return 1; } if (!CryptHashData(hHash, reinterpret_cast<const BYTE*>(message), messageSize, 0)) { std::cerr << "Failed to hash data: " << GetLastError() << std::endl; CryptDestroyHash(hHash); CryptReleaseContext(hProv, 0); return 1; } DWORD signatureSize = 0; if (!CryptSignHash(hHash, AT_SIGNATURE, NULL, 0, NULL, &signatureSize)) { std::cerr << "Failed to determine signature size: " << GetLastError() << std::endl; CryptDestroyHash(hHash); CryptReleaseContext(hProv, 0); return 1; } std::cout << "Signature size: " << signatureSize << std::endl; BYTE* signature = new BYTE[signatureSize]; if (!CryptSignHash(hHash, AT_SIGNATURE, NULL, 0, signature, &signatureSize)) { std::cerr << "Failed to sign hash: " << GetLastError() << std::endl; delete[] signature; CryptDestroyHash(hHash); CryptReleaseContext(hProv, 0); return 1; } std::cout << "Signature: "; for (DWORD i = 0; i < signatureSize; ++i) { std::cout << std::hex << static_cast<int>(signature[i]); } std::cout << std::endl; delete[] signature; CryptDestroyHash(hHash); CryptReleaseContext(hProv, 0); return 0; } ``` 该代码使用 `CryptAcquireContext` 函数获取一个CSP句柄,使用 `CryptCreateHash` 函数创建一个SHA-256哈希对象,并使用 `CryptHashData` 函数将消息哈希计算。接着,使用 `CryptSignHash` 函数进行PKCS#1签名。注意,使用 `CryptSignHash` 函数签名前,需要先确定签名所需的缓冲区大小,可以通过传递一个空的缓冲区和缓冲区大小为0的参数调用该函数来确定签名所需的缓冲区大小。签名结果为字节数组,可以将其转换为十六进制字符串进行显示。最后,使用 `CryptDestroyHash` 和 `CryptReleaseContext` 函数释放资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值