cng相关内容
我是密码学新手,在Windows上尝试使用C#.NET解决这个问题让我摸不着头脑 我生成了一条椭圆曲线P-256(也称为。Secp256r1和prime256v1)密钥使用以下命令: openssl ecparam –name prime256v1 -genkey –noout –out private.key 我使用以下命令生成了证书签名请求: openssl req –new
..
我有一个 PKCS #12 (PFX) 文件,它是一个带有 CNG RSA 密钥的证书,我想导出私钥. MIIJ4gIBAzCCCZ4GCSqGSIb3DQEHAaCCCY8EggmLMIIJhzCCBgAGCSqGSIb3DQEHAaCCBfEEggXtMIIF6TCCBeUGCyqGSIb3DQEMCgECOIIE/CCBPowHAYKKoZIhvcNAQwBAzAOBAjBalb3hEiY
..
我在 VS2013 ARM Developer Prompt 下工作.我正在尝试使用 Microsoft 的下一代加密技术 (CNG),但遇到了一些不小的问题. 我正在尝试编译一个简单的测试程序: #include #include int main(int argc, char* argv[]){BCRYPT_ALG_HANDLE hProvid
..
我知道 MS CNG 私人有这种格式 -BCRYPT_ECCKEY_BLOBBYTE X[cbKey]//大端.BYTE Y[cbKey]//大端.BYTE d[cbKey]//大端. 因此尝试导入以下关键字节 - byte[] ec256PrivKB ={//魔法 + CBLength0x45, 0x43, 0x53, 0x31, 0x20, 0x00, 0x00, 0x00,//X0x
..
我有一个导出的 RSAParameters 私钥,我想将它导入另一台机器.我可以将 new 密钥保存到本地计算机或用户容器中,但我无法尝试导入 现有 密钥. 下面的代码将生成一个新的密钥对,我知道我可以直接在容器中生成一个新密钥 - 但我希望能够生成一个密钥并将同一个密钥导入到少数不同的计算机中. 如何获取 RSAParameters 或 XML 字符串(任一)并将其导入本地用户(或机
..
我正在寻找一种跨平台的方式来共享用于 ECDSA 签名的公钥.从 CngKey 和标准 .NET 加密库的性能角度来看,我有一件很棒的事情,但后来我无法弄清楚 33(或 65)字节公钥(使用 secp256r1/P256)是如何变成 104 字节的by MS.. Ergo,我不支持跨平台签名和验证.. 我现在正在使用 BouncyCastle,但神圣的手榴弹速度太慢了! 所以,寻找以下
..
我正在努力将几个安全库移植到 Windows Phone 8 和 Windows Store 8 平台.我需要一个提供随机数的函数. Win32 有 CryptGenRandom 甚至 RtlGenRandom.Windows 应用商店 10 和通用 Windows 具有 BCryptGenRandom.但是,Windows Phone 8 和 Windows Store 8 存在漏洞,因为
..
我在 VS2013 ARM 开发人员提示下工作.我正在尝试使用 Microsoft 的下一代加密技术 (CNG),但遇到了一些重大问题. 我正在尝试编译一个简单的测试程序: #include #include int main(int argc, char* argv[]){BCRYPT_ALG_HANDLE hProvider = NULL;NTSTATUS ret = BCryptOp
..
我正在尝试使用 BCryptEncrypt 对某些 AAD 进行身份验证,但该函数因 STATUS_INVALID_PARAMETER 而失败.BCryptEncrypt 需要 10 个参数.参数之一是BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO.BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO 需要另外 13 个参数. 运行我的测试程
..
这可能听起来像一个奇怪的问题,我实际上不得不问这个问题感觉有点奇怪,但在花了几个小时查看添加的 bcrypt 例程的 MSDN 文档后在 Vista 中,我几乎得出结论,没有实际的 bcrypt 支持! 根据维基百科: bcrypt 是一种用于密码的自适应加密散列函数... 基于 Blowfish 密码 ... 除了结合盐以防止彩虹表攻击,bcrypt 是一种自适应hash:随着时间的
..
我正在使用加密下一代 API (CNG) 实施 ECDHE.我成功生成了公钥和私钥.对于预共享密钥,我使用 BCryptSecretAgreement API,它返回预共享密钥秘密句柄 (BCRYPT_SECRET_HANDLE). 如何将预共享密钥作为 BYTE 数组从 BCRYPT_SECRET_HANDLE 导出? 解决方案 从 Windows 10 开始,您可以使用 BCRY
..
如何通过加密将CngKey导出到PKCS#8? 静态void Main(string [] args){CngKeyCreationParameters ckcParams = new CngKeyCreationParameters(){ExportPolicy = CngExportPolicies.AllowExport,KeyCreationOptions = CngKeyCreatio
..
我的应用程序充当总机,在两方之间传输非常敏感的消息,并且我试图弄清如何在不“看"他们试图发送的消息的情况下做到这一点. 我有一个HSM,并且为发件人生成了一个密钥对-他们将使用我给他们的公钥对消息进行加密,并且我可以使用我在服务器中拥有的私钥对消息进行解密HSM. 然后我将通过使用最终接收者的公共密钥对消息进行加密来传递该消息. 是否可以在HSM内部链接这两个操作,而无需在我的应
..
我在pem文件中具有以下格式的ASN.1编码的RSA私钥: ----- BEGIN RSA私钥-----base64编码的pkcs8密钥-----结束RSA私钥----- 现在,要将其导入到我的 RSACng 对象中,我需要遵循以下步骤: 读取文件并提取编码的密钥 将 base64 转换为字节以获取pkcs8密钥的 byte [] 将ASN.1(DER)中的 byte [
..
我正在准备一个微型驱动程序,以使用Microsoft CNG的 NCryptSignHash 功能执行智能卡登录. 当我使用智能卡中的SECP521R1 EC密钥执行签名时,它将生成长度为139的签名数据作为ECC签名数据格式: ECDSASignature :: = SEQUENCE {r整数整数} 样本签名数据为 请注意,该代码在某种程度上是允许的,因为它不需要SEQUEN
..
我对尝试从数字签名中读取字段感兴趣。我有调用CryptQueryObject,然后CryptMsgGetParam来获取某些字段,最后是CertFindCertificateInStore来加载证书的代码。 有没有关于如何使用下一代密码学API的提示?微软告诉我CryptQueryObject已弃用,但没有指向它的替换。 解决方案 CryptDecodeObject [Ex] 未标记
..
我正在写CNG提供程序。具体来说,坚持实施 NCryptExportKey API。我正在尝试从硬件密钥管理器转换EC密钥(用于签名,ECDSA256)。硬件密钥管理器以ASN格式提供密钥。我参考了MSDN文档,其中提到公钥X和Y值(BCRYPT_ECCKEY_BLOB结构)采用大端格式。但在关于stackoverflow的另一篇文章中(导入公众(从其他地方输入CngKey?),那么Magic值似
..
从旧版程序中 再见[] rsaPrivateKeyExport = RSACryptoProvider.ExportCspBlob(true); 这些密钥存储在文件中。 作为旧版刷新的一部分,我需要使用CNG RSA密钥。 类似于读取旧的blob然后进行转换: CngKey cngPrv = CngKey.Import(rsaPrvKeyExport, CngKey
..
Microsoft页面提供有关 CngKey.Import 。哪些实际格式实际上由以下 CngKeyBlobFormat 属性? EccPrivateBlob EccPublicBlob GenericPrivateBlob GenericPublicBlob OpaqueTransportBlob Pkcs8PrivateBlob 仅PKCS#8私钥格式略微暗示了密钥的格式
..
我有一个导出的RSAParameters私钥,我想将其导入另一台计算机。我可以将 new 密钥保存到本地计算机或用户容器中,但是在尝试导入现有密钥时遇到了麻烦。 下面的代码将生成一个新的密钥对,我知道我可以直接将一个新密钥直接生成到容器中,但是我希望能够生成一个密钥并将同一密钥导入到不同的密钥中 如何获取RSAParameters或XML字符串(一个)并将其导入本地用户(或计算机)容器
..