问题标签 [x509certficiate2]
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# - 如何在c#中访问具有相同通用名称的2个证书中的最新证书
如何从 c# 中的 windows 证书存储中访问具有相同通用名称的 2 个证书中的最新证书或稍后将过期的证书。我正在使用 X509Store.Certificates.Find 获取证书,但它返回给我一个证书列表,它们具有相同的 CN 名称,但我想要最新的。
PS:我不想通过指纹访问它,因为每次证书到期时我都必须更改它
java - 如何将 SHA1 证书作为 PrivateKeyEntry 类型而不是trustedCertEntry 导入密钥库
我确实有一个 Jks 文件(key.jks),其中一个别名为 abc 的现有 SHA1 证书(server.cer)。证书已过期,我必须用我得到的新证书更新它。上一个条目的条目类型为PrivateKeyEntry。我删除了旧条目,并尝试使用 keytool import 命令导入新证书,它始终将 entryType 添加为trustedCertEntry,因此握手失败。我正在使用的命令在下面 。
keytool -import -keystore key.jks -storepass changeit -alias abc -file server.cer
如何将此证书添加为 PrivateKeyEntry 类型。我使用与旧证书相同的别名。任何帮助 非常感谢
android - 如何从 pfx 获得证书
我正在为客户端开发一个 android 应用程序(这是我第一次这样做),我需要建立一个安全连接,他们给了我一个 pfx 文件,但我没有密码,也没有关于这个证书的任何数据,我是证书和 https 连接是全新的,我需要知道的是 pfx 是否足以确保应用程序可以通过 https 连接,或者我需要向我的客户询问其他任何内容,我知道我需要获取证书文件将其导入应用程序,但我没有此 pfx 文件的密码。对不起,我的英语不好。
为了清楚起见,我不是要求证书本身的实施,我只需要知道我需要什么来开始实施(文件、有关证书的信息等)。
openssl - 使用 openssl 生成自签名证书时如何添加扩展密钥使用字符串
我在“windows 2012R2”上使用 open ssl 来生成自签名证书。使用下面的命令我可以生成证书,openssl req -new -x509 -key ab.key -out ab.crt。
但是,我需要添加一个扩展的密钥使用字符串服务器身份验证(1.3.6.1.5.5.7.3.1),我无法在上面的命令中弄清楚如何做到这一点。
我试图修改 C:\Program Files\OpenSSL-Win64\bin\cnf\openssl.cnf。extendedKeyUsage = serverAuth。
但它没有添加扩展密钥使用字符串。
c# - X509Certificate 获取私钥到期日期
我没有找到如何从 X509Certificate2 获取私钥到期日期的方法。.NET 是否有可能,或者我应该使用一些第三方库来获取这些信息?
httpclient - 客户端证书获取“请求已中止:无法创建 SSL/TLS 安全通道”
几年前,我努力让我们的代码包含客户端证书。(请参阅Elasticsearch NEST HttpClientHandler Certificate上的最后一篇文章)。我试图在另一个项目中使用相同的代码,但它失败了:
大多数建议都围绕设置 ServicePointManager.SecurityProtocol = Tls12; 我已经尝试了所有的组合。
我试图缩小范围并简单地添加
直接使用 HttpClientHandler
来自https://damienbod.com/2019/09/07/using-certificate-authentication-with-ihttpclientfactory-and-httpclient/的示例
这在一个方法中完成了整个事情(读取证书、附加到处理程序并发出请求)。如果我在独立项目中运行此代码,它工作正常。我正在尝试从 Service Fabric 中托管的 WebApi 运行它。调试时,可以看到证书已获取并正确添加到处理程序中。正如 Fiddler 所验证的那样,该调用永远不会从我的代码中消失(即从未发出过)。
我们正在另一个解决方案中的 Service Fabric 中执行此操作,并且一切正常。
还有其他东西可能会丢失吗?
谢谢!
PS添加完整的例外
c# - 证书安装 (Linux)
我不是linux用户,所以证书导入有问题。我有几个.cer
文件,并且使用 Windows 运行良好,我只是使用X509Store.Add()
了方法并且商店中出现了一个新证书,但在 linux 中没有任何反应。有没有办法以某种方式解决这种行为?谢谢!
java - REPOSTING - SSL Pinning 以避免 mitm 和加密 api 请求/响应
[转帖]
我正在构建一个 android 应用程序,客户端希望我进行 SSL Pinning 以避免任何 Mitm 攻击。我已经对我的 API 请求(JSON 格式)和相应的响应(JSON 格式)实现了完整的加密和解密。
通过谷歌搜索和阅读一些博客,我对 Mitm 攻击的理解是,攻击者可以拦截请求,修改数据并将其发送到后端服务器,然后更改响应并将其推送回带有错误数据的客户端应用程序。但是由于我的请求和响应是完全加密的(加密),是否仍然可以对我的应用程序进行 Mitm 攻击并更改数据?
我知道请求仍然可以被截获并且攻击者可以看到加密的数据,但是由于他没有要解密的密钥,所以它没有用,如果加密的字符串被更改,解密将失败,导致应用程序无法加载任何模仿 Mitm 行为的东西,如果证书密钥不匹配,连接就会终止。
我在这里找到了这个解决方案,用 Volley 库在 android 应用程序中实现 SSL Pinning。是否足够或者我应该实施其他一些方法。
任何帮助表示赞赏。
windows - 证书模板通用标志中未定义和保留值的含义
我注意到证书模板通用标志具有保留和未定义的属性:
0x00000002 CT_FLAG_ADD_EMAIL 保留。所有协议必须忽略此标志。
0x00000008 CT_FLAG_PUBLISH_TO_DS 保留。所有协议必须忽略此标志。
0x00000010 CT_FLAG_EXPORTABLE_KEY 保留。所有协议必须忽略此标志。
在 Microsoft 文档https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-crtd/6cc7eb79-3e84-477a-b398-b0ff2b68a6c0中。
当我使用证书模板管理单元创建模板时,我看到设置了这些标志,我很好奇是否有人知道它们的目的以及 GUI 设置它们的原因。
azure-keyvault - 当 Azure Key Vault 拒绝证书并显示:不支持的密钥操作:“wrapKey”、“unwrapKey”时该怎么办
我正在尝试在 C# 代码中生成 X509 证书(使用X509Certificate2
类)并将它们上传到 Azure Key Vault。
我发现如果我的证书包含 flag X509KeyUsageFlags.KeyEncipherment
,保险库将拒绝证书并显示以下错误消息:
不支持的键操作:“wrapKey”、“unwrapKey”。支持的值为“sign”、“verify”。
有谁知道该怎么做?当然,我可以从生成的证书中删除该标志,但我想了解 Azure 拒绝它的原因。当证书包含此标志时,是否可以将证书上传到 Azure Key Vault?
我阅读了这个文档页面,但它并没有告诉我太多:https ://docs.microsoft.com/en-us/azure/key-vault/keys/about-keys-details
(这是我之前的问题的更具体的后续行动。)