问题标签 [html5-keygen]
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.
html - '记住'我的 HTML 5 keygen 示例?
我记得看着<keygen>
和我从来不明白的一件事是如何将结果保存到客户端浏览器?据我了解,它会向您发送一个公钥,我应该签署一些内容并将其发送回客户。
但是,我要寄回什么?我是否签署了证书,如何告诉浏览器安装它,以便下次用户访问该站点时可以使用它?我不明白如何告诉它做那部分,每次我访问该页面时,这些示例似乎都忘记了我。
html - 如何在 Web 浏览器中自动安装客户端证书?
我想通过 X.509 证书对我的网站的用户进行身份验证。
我可以生成带有keygen
HTML 元素的 RSA 密钥对,然后将SignedPublicKeyAndChallenge
结构发送到服务器。然后,服务器可以检查并签署公钥,并为客户端生成该密钥的 X.509 证书。
现在,当我在 StartSSL 注册时,那里的 HTML 页面将证书安装到我的浏览器存储中,而我只需要单击一个按钮,我也想做同样的事情。我该怎么做?发送具有特定 Content-Type 的证书?用客户端脚本来做吗?浏览器如何知道它应该安装客户端证书?
我知道我可以告诉用户手动安装它,但如果它可以自动化,那么我想这样做。
security - 在公共 Web 应用程序上使用客户端证书代替密码
我有一个网络应用程序,任何人都可以在其中注册一个帐户。而不是密码,我想使用客户端证书进行身份验证。这实用吗?
好像有很多问题:
如何以跨浏览器的方式生成密钥对?
<keygen>
看起来很有用,但我需要支持 Internet Explorer。您如何签署密钥对并将证书放入浏览器?客户端证书的每一个解释只包括用于生成证书的 openssl 命令。我真的不想从我的网络应用程序中掏出 openssl。
由于服务器正在签署证书,如果它的签名 (CA) 密钥被泄露怎么办?这似乎是比密码数据库泄漏更严重的攻击,因为攻击者可以永远默默地冒充任何用户。
我想完全避免签署证书,而只使用公钥指纹作为用户的身份。这意味着 CA 密钥的知识不能用来冒充任何人,因为他们没有用户的私钥。
似乎有人应该以前做过这一切。是否有整个端到端流程的开源实现?Python 或 Django 实现会特别有帮助。
这是我认为该过程的样子:
- 当用户注册时,他们的浏览器会生成一个密钥对并向服务器发送一个签名请求。
- 服务器立即返回加载到浏览器中的签名证书。服务器将密钥指纹存储在数据库中,以便稍后对用户进行身份验证。我不想使用证书 DN 作为身份验证,请参阅上面关于 CA 妥协的信息。
- 前端网络服务器需要客户端证书,对其进行验证,并将公钥指纹发送到我的应用服务器。
- 应用服务器通过他们的密钥指纹查找用户,现在已经过身份验证。
我不想处理证书吊销。由于密钥指纹用于验证,而不是证书 DN 数据,因此仅更改与用户关联的指纹将强制使用该密钥。
编辑:我能够找到一个实现类似工作流程的演示:https ://openweb.or.kr/html5/index_en.php 。它在 IE 中不起作用,并且有我谈到的 CA 问题。
html - html5标签重要性
我开始了解 html5 新元素。
我对<keygen>
标签有一些疑问。
除了我阅读的所有文件之外,我所能找到的所有我理解的内容,我都会提出以下问题。
这对于创建每个新网站都很重要吗?
使用的具体情况在哪里<keygen>
?
如果我不使用它,我能遇到什么问题?
keygen 和 之间有关系ssl
吗?
先生,您能帮我解决这个问题吗?
提前致谢。
php - phpseclib 生成的证书有效,但 KEYGEN 提交后浏览器无法识别
我正在尝试创建一个简单的 PKI 基础设施供内部使用,并且我想使用 html<keygen>
标记。
我知道这个标签会向服务器发送一个 SPKAK,它必须签名。因为我不能exec
用来启动 openssl,并且有 php 5.5,所以处理 SPKAK 的唯一方法是使用 phpseclib。
这是我的代码:
奇怪的是生成的证书是有效的(windows 可以识别它)但浏览器(我的测试中的 Chrome 和 Firefox)不识别它,给出错误 201 INVALID CERT,因此它与存储在浏览器上的私钥无关.
这样做的正确方法是什么?
html - Keygen:证书交付后重定向?
使用 HTML5 keygen 元素时,表单(除其他外)向服务器发布证书签名请求(SPKAC 格式)。然后服务器发送相应的 mime-type application/x-x509-user-cert 证书。我实现了这个没有问题。
我现在的问题是如何继续流程,交付证书并重定向到另一个页面。我尝试了两件事,但都失败了:(这是烧瓶代码)
前一种情况,浏览器安装证书失败,但重定向正确;在后一种情况下,浏览器 (FF) 会安装证书,但无法转到新页面。
javascript - 表单提交后 POST 中的元素为空
我有一个如下表格:
数据按如下方式传递给 POST:
一旦我提交表单以使用 POST http 请求发送它,我会得到$("#signupForm").serialize()
如下信息:
为什么keygen元素总是空的?我做错了什么吗?
任何答案表示赞赏,在此先感谢。
encryption - keygen HTML 元素如何使用私钥?
当我使用keygen标签时,浏览器会生成一个密钥对。公钥被发送到服务器,它创建一个证书并将这个证书返回给浏览器,但是私钥在哪里,为什么浏览器似乎存储它?浏览器在接受证书之前是否将私钥与公钥进行比较?还有别的原因吗?