问题标签 [spkac]

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.

0 投票
0 回答
440 浏览

.net - 使用 .NET 创建“签名公钥和挑战”(SPKAC)

是否可以在不使用 OpenSSL 的情况下使用.NET 创建 SPKAC(签名的公钥和质询) ?我知道 OpenSSL 可以做到这一点,但是对于这个项目,我需要避免使用第三方库。

实际上,我想做 HTML5<keygen>元素所做的事情。相应的MDN 页面说明如下:

公钥和挑战字符串被 DER 编码为 PublicKeyAndChallenge,然后用私钥进行数字签名以生成 SignedPublicKeyAndChallenge。SignedPublicKeyAndChallenge 采用 base64 编码,最终将 ASCII 数据提交给服务器[...]

我们有一个服务器,它在提交 SPKAC 时返回客户端证书,我想复制浏览器的行为以自动检索证书。

有谁知道如何做到这一点?

0 投票
1 回答
717 浏览

php - phpseclib 生成的证书有效,但 KEYGEN 提交后浏览器无法识别

我正在尝试创建一个简单的 PKI 基础设施供内部使用,并且我想使用 html<keygen>标记。

我知道这个标签会向服务器发送一个 SPKAK,它必须签名。因为我不能exec用来启动 openssl,并且有 php 5.5,所以处理 SPKAK 的唯一方法是使用 phpseclib。

这是我的代码:

奇怪的是生成的证书是有效的(windows 可以识别它)但浏览器(我的测试中的 Chrome 和 Firefox)不识别它,给出错误 201 INVALID CERT,因此它与存储在浏览器上的私钥无关.

这样做的正确方法是什么?

0 投票
2 回答
106 浏览

angularjs - 提交表格包含在 AngularJS 中使用 POST

我第一次使用 POST Http Request 在 AngularJS 中提交表单,特别是该表单包含一个 keygen 元素,该元素生成如下所示的密钥:

spkac 元素到达服务器总是空的,而且我认为我没有以正确的方式将数据从表单传递到 POST,所以我的问题是:

  1. 如何将 spkac 设置为表单的参数部分?
  2. 这是将数据传递到AngularJS中的POST的正确方法吗?

编辑 表格:

编辑 HTTP 请求:

编辑 2

在此处输入图像描述

0 投票
1 回答
50 浏览

javascript - 表单提交后 POST 中的元素为空

我有一个如下表格:

数据按如下方式传递给 POST:

一旦我提交表单以使用 POST http 请求发送它,我会得到$("#signupForm").serialize()如下信息:

为什么keygen元素总是空的?我做错了什么吗?

任何答案表示赞赏,在此先感谢。

0 投票
1 回答
46 浏览

python - 使用 NetscapeSPKI 迁移代码

我正在尝试从 pyspkac 迁移,因为它不适用于 python 3。

我的旧工作代码:

我的新代码,基于openssl

这是结果:

我检查了 spkacInput 字符串是否可以进行 base64 解码,并且我还尝试使用 base64 解码的 spkacInput 字符串初始化 NetscapeSPKI。

我怀疑这里可能缺少一些 BEGIN/END 魔法。