问题标签 [cng]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 与 ECDsaCng 算法一起使用的密钥必须具有 ECDsa 算法组
我有以下问题,找不到解决方案:
在使用 APN(Apple 推送通知)API 时,我实现了令牌化授权。这是苹果在推送通知 API 上的新授权方式。
Apple 为我提供了私钥,我用它来创建 c# CngKey 对象,然后我用它来签署数据。
结果是签名令牌,然后我在使用 API 和发送推送通知时将其用作授权标头。
它在我的开发机器上运行良好,但是当我将它部署到 Windows Server 时,当此代码运行时,我得到下一个:
我找不到解决方案,它是 Windows 密钥存储或类似的东西....
我应该怎么办?
c++ - 抑制强键保护 UI
CryptUIWizImport
是否可以在签名期间以及在本地系统中导入 pfx 文件期间使用 Microsoft 的加密功能而无需 UI 输入密码?如何?
细节:
我开发了一个应用程序,使用存储在计算机上的私钥在 c++ 中对数据进行签名。私钥受强密钥保护。我无法抑制强键保护 UI。我确实尝试使用参数CRYPTUI_WIZ_NO_UI
for CryptUIWizImport
,但 UI 仍然存在。是否可以在后台自动化该过程?如何?
c# - 无法使用指定的密钥对初始化 RSACng 类的新实例
我想创建一个 RSACng 类的新实例,但具有指定的密钥对。
以上将使用随机的 2,048 位密钥对初始化 RSACng 类的新实例。但是,我们可以CngKey
在声明 RSACng 时传递一个实例。
上面将使用特定的私钥初始化一个CngKey
对象(私钥是从 PEM 文件中获得的,pkcs8 格式)但这只会使用私钥初始化 RSACng 对象。如何使用密钥对(都在 PEM 文件中)对其进行初始化?
c++ - C++ 使用 CNG 从模数和指数导入 RSA 公钥
我正在尝试使用 CNG 使用作为参数给出的公钥加密一些数据。调用 NCryptImportKey 函数时,我收到一个未在 msdn 页面中列出的 NTE_BAD_DATA 错误。
我的代码:
我如何构建 MyRSAPublicBlob 的示例:
我做错了什么?
c++ - c++ 从 xml 导入 CAPI/CNG 中的 RSA 私钥
我在这个问题中读到了关于 Importing a public key from native components 的内容。我尝试根据 BLOB 文档对私钥执行相同的操作,但出现 NTE_BAD_DATA 错误。
我的想法可行吗?如果是这样,你能帮忙吗?
我的尝试:
c# - 使用加密c#在PKCS8中导出CngKey
如何通过加密将 CngKey 导出到 PKCS#8?
将 ExportPolicy 设置为 AllowPlainTextExport 允许导出密钥,但只能以纯文本形式导出。我想创建一个用对称密钥加密的 PCKS8 blob。
谢谢
.net - .NET 4.6.2 中的 WCF 是否支持 CNG KSP 中带有 PK 的服务器证书?
在 Windows 上,TLS 服务器证书(位于证书存储中)附带一个私钥 (PK),该私钥位于 CSP 密钥库或 CNG 密钥库中。PK 结束的位置,可以在导入证书时指定(即在最近的 Windows 版本上),例如使用-sp
(subject's provider) 参数到makecert
.
现在,如果未指定提供程序,则默认值不友好。PK 最终出现在 CNG KSP 中,并且将无法被 WCF 使用。
微软表示“ .NET Framework 4.6.1 及更早版本不支持这些证书,因为它们使用旧版 CryptoAPI 来处理 CNG/KSP 证书。将这些证书与 .NET Framework 4.6.1 及更早版本一起使用将导致异常。 ”
但是,我看到安装在连接服务器端的 .NET framework 4.6.1 和 .NET framework 4.6.2 之间的行为完全相同。发生的情况是服务器出现(根据自己的日志)正在愉快地侦听指定端口,但端口未打开(根据netstat -a
)。Invalid provider type specified
当服务器尝试打开端口时,Windows 事件日志会提及。
如果重要的话,服务器和实际端口之间有 net.tcp 端口共享。
是否有人使用 CNG KSP 中的服务器证书成功运行任何版本的 .NET(使用 WCF)? 上面的 Microsoft 文档是否完全不正确?
c# - .NET wrapper for DPAPI-NG and user group access configuration
I have a number of workstations which are part of my domain, each running some .NET application. One central server stores secrets which I would like to be encrypted by a key which is accessible to all users of the system which have the appropriate user group.
I found that .NET does offer a wrapper for DPAPI, but I was wondering if the same applies for DPAPI-NG, where a wrapper function exists for NCryptProtectSecret and NCreatProtectionDescription. Furthermore, how would I go about configuring the descriptor, so as to only allow a specific user group from my domain to decrypt the secret?
In case there is no wrapper I'd have to import the ncrypt.dll and work with that. Can anyone who has experience with this library confirm that this URL has an up-to-date API https://msdn.microsoft.com/en-us/library/windows/desktop/hh706795(v=vs.85).aspx?
c# - “密钥集不存在”试图创建 CngKeyStore
尝试使用非管理员帐户调用 CngKeyStore.Open(),并且最初收到“拒绝访问”异常。授予用户帐户对 c:\programdata\microsoft\crypto\keys 文件夹的访问权限后,现在出现上述“密钥集不存在”异常。
用户是否必须是管理员才能创建密钥?或者非管理员帐户可以做到这一点,如果可以,怎么做?
我在这里的 MS 文档中找不到明确的答案 :https://msdn.microsoft.com/en-us/library/windows/desktop/aa376210( v= vs.85).aspx 或这里: https:// /msdn.microsoft.com/en-us/library/system.security.cryptography.cngkey(v=vs.110).aspx
谢谢!
c# - C# 中 CngKey 的 EC 私钥
我需要将 BouncyCastle 生成的 EC 私钥转换为 C# 中的 CngKey。最终,我正在尝试创建一个可以导入 Windows 密钥存储的 PKCS12,并遵循此处找到的信息和代码示例。
EC密钥对生成如下:
创建一个 CngKey:
在网上搜索,以上应该可以工作,例如,请参见此处。相反,我收到一个未知错误异常
(加密异常)在
System.Security.Cryptography.NCryptNative.ImportKey()
。如果我传递CngKeyBlobFormat.EccPrivateBlob
给CngKey.Import()
,我会得到一个无效的数据异常。
作为 .NET、CNG 和 Cryto 的新手,我觉得我忽略了一些东西。任何想法,将不胜感激。
谢谢!