- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试进行 HTTPS 请求 promise 。我已经知道 PFX 很好,这不是问题(我有一个类似的示例应用程序正在运行)。
我正在做以下事情:
var request = require('request-promise');
...
options.pfx = fs.readFileSync('myfile.pfx');
options.passphrase = 'passphrase';
我正在将我的选项传递到请求中。
request.post(options);
然后我尝试构建请求,但出现以下错误:
_tls_common.js:130
c.context.loadPKCS12(pfx, passphrase);
^
Error: Unable to load BIO
at Error (native)
at Object.createSecureContext (_tls_common.js:130:17)
at Object.exports.connect (_tls_wrap.js:955:21)
at Agent.createConnection (https.js:73:22)
at Agent.createSocket (_http_agent.js:174:16)
at Agent.addRequest (_http_agent.js:143:23)
at new ClientRequest (_http_client.js:133:16)
at Object.exports.request (http.js:31:10)
at Object.exports.request (https.js:163:15)
at Request.start (/Users/filomeno/workspace/sla-crawler/node_modules/request/request.js:747:30)
at Request.write (/Users/filomeno/workspace/sla-crawler/node_modules/request/request.js:1369:10)
at end (/Users/filomeno/workspace/sla-crawler/node_modules/request/request.js:561:16)
at Immediate._onImmediate (/Users/filomeno/workspace/sla-crawler/node_modules/request/request.js:589:7)
at processImmediate [as _immediateCallback] (timers.js:374:17)
我有一个示例应用程序,其中包含相同的代码。我尝试转换为 .p12 但没有成功。
有谁知道这个错误可能指的是什么?
编辑:我正在使用 lodash 合并具有动态属性和静态属性的 2 个对象
_.merge(options, _this.requestOptions);
这就是问题所在
最佳答案
查看nodejs源码(具体是这个文件https://github.com/nodejs/node/blob/master/src/node_crypto.cc)
此函数抛出错误
// Takes .pfx or .p12 and password in string or buffer format
void SecureContext::LoadPKCS12(const FunctionCallbackInfo<Value>& args) {
Environment* env = Environment::GetCurrent(args);
...
第964行
in = LoadBIO(env, args[0]);
if (in == nullptr) {
return env->ThrowError("Unable to load BIO");
}
LoadBIO 返回 null 的地方
// Takes a string or buffer and loads it into a BIO.
// Caller responsible for BIO_free_all-ing the returned object.
static BIO* LoadBIO(Environment* env, Local<Value> v) {
HandleScope scope(env->isolate());
if (v->IsString()) {
const node::Utf8Value s(env->isolate(), v);
return NodeBIO::NewFixed(*s, s.length());
}
if (Buffer::HasInstance(v)) {
return NodeBIO::NewFixed(Buffer::Data(v), Buffer::Length(v));
}
return nullptr;
}
也许缓冲区不知何故不可读?此外,该函数似乎需要一个 utf-8 编码的字符串。
一些想法:
你确定文件的路径是正确的吗?
可能是编码问题?您是否尝试设置 fs.readFileSync()
显式编码?
试试 fs.readFile(<filename>, <encoding>, function(error, data){})
看看它是否抛出错误?
关于javascript - Node.js - HTTPS PFX 错误 : Unable to load BIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35729374/
继承了一个VS2k5项目;它是作为 DLL 分发的 Outlook 加载项。 当我尝试编译项目时,它要求输入密码(我不知道),因为有一个受密码保护的 pfx 文件并且程序集已签名。由于我不知道密码,如
我找到了一个 answer that uses OpenSSL ,但我在 Windows 上,而且我不容易拿到它。有没有办法(例如使用 CERTUTIL 或 VBScript)查看 .PFX 文件中的
当您将 PFX 转换为 Base64,然后再将其转换回 PFX 时,是否有可能? $PFX_FILE = get-content 'dummy.pfx' -Encoding Byte [Convert
当您将 PFX 转换为 Base64,然后再将其转换回 PFX 时,是否有可能? $PFX_FILE = get-content 'dummy.pfx' -Encoding Byte [Convert
我丢失了 pfx 文件,但我有 .cer 文件并且我知道用于打开丢失的 pfx 文件的密码。如何生成 pfx?这可能吗? 最佳答案 只要您拥有该证书的私钥: 将 PEM 转换为 PFX: openss
我关注了这个 link 签署我的exe应用程序。 我在 Windows 7 上安装了 SDK 工具, 运行 C:\Program Files\Microsoft SDKs\Windows\v6.1\B
我需要在 .pfx 文件中上传合格的证书,我有 .req 和 .pfx 以及请求证书的私钥文件,并且我从执行这些操作的公司那里获得了合格的 .crt 证书。如何加入密码和具有合格根的证书? 我已经尝试
我有 Java 网络服务,并使用 Java Keytool 创建的 jks 文件实现了 X.509。 keytool -genkey -keyalg RSA -sigalg SHA1withRSA -
因此,我调用的 API 要求我将 pfx 证书链接到我的浏览器或 Postman(如果我调用该 API)。我想以编程方式执行此操作。如果 R 中有代码让我在传递 post 请求时使用我现有的 pfx
我搜索了 Stack,试图找到这个问题的答案。我基本上已经安装了证书,并且可以通过 chrome 访问 XML 文件,但我尝试使用 requests 将其直接拉入 python 中。 我只是使用 re
我试图用 PFX 强命名一个程序集也用于数字签名的文件。 PFX 证书具有 CodeSigning 选项,由 CA 提供。 . 当我尝试使用它时,出现以下错误: error MSB3325: Cann
PFX 包含以下类别的证书,它们是叶证书链的一部分。 颁发公共(public)证书(客户端/服务器) 中级 CA 证书 根 CA 证书 私钥 它可以有不属于链的证书吗? 最佳答案 是的,PFX/PKC
我的老板从 Comodo 获得了证书,我一直在努力寻找解决将证书放入 VB6 应用程序的问题的方法。证书本身采用 VB6 格式,我对此类事情几乎一无所知。 Comodo的人非常乐于助人(从我的老板那里
我花时间整理了诸如 these 之类的问题。 到目前为止没有运气。我的公司有一个我们使用的 VeriSign 的 pfx 文件。我将它添加到我的项目中并在添加时输入密码,然后检查我的解决方案。然后我转
我有一个 Azure 应用服务,我们已在其中上传(通过 Key Vault).pfx 文件以将它们添加到证书存储中。我们还添加了配置“WEBSITE_LOAD_CERTIFICATES”以在代码中访问
我正在尝试使用以下代码获取受密码保护的 pfx 文件的指纹: function Get-CertificateThumbprint { # # This will return a c
使用 CertUtil 将证书从 pfx 文件导入用户的个人存储相对容易: certutil –f –p [certificate_password] –importpfx C:\[certifica
您好,我正在尝试将我的 azure 网站连接到我购买的域(它是 .dk 域),但我无法找到需要通过门户上传到我的 azure 网站的 .pfx 证书文件。我具体需要做什么?我迷路了,谢谢。 最佳答案
我尝试通过 powershell 创建自签名代码签名证书,然后通过 Visual Studio 2017 将其作为 pfx 签署 .NET 程序集。使用 -ProtectTo 参数将 pfx 导出为受
如何从 .pfx 文件导入证书的私钥?我有这个代码: X509Certificate2 cert = new X509Certificate2("C:/amazon.pfx", "he
我是一名优秀的程序员,十分优秀!