Nodejs - Windows 密钥/证书存储

问题描述 投票:0回答:4

有人知道我如何使用 nodeJs 与密钥/证书存储进行交互吗?我特别想添加/删除证书和可能的密钥。

更新。

所以这里的方法是使用“边缘”。非常好的作品!

https://github.com/tjanczuk/edge

windows node.js certificate store
4个回答
1
投票

在不太了解您的设置的情况下,这里只是一个关于如何交互的“指针”。

您可以尝试使用 Nodes Child Process ,然后向命令行生成一个进程,并以通过命令行的方式与密钥/证书存储进行交互。也许是微软的证书管理工具

粗略的例子:

var exec = require('child_process').exec,
child;

child = exec('certmgr /add /all /c myFile.ext newFile.ext', 

function (error, stdout, stderr) {
  console.log('stdout: ' + stdout);
  console.log('stderr: ' + stderr);
  if (error !== null) {
    console.log('exec error: ' + error);
  }
});

1
投票

我刚刚发布了 node-windows-root-certs,它使用 ffi 读取 Windows 根证书存储,然后在 Nodejs 中应用这些......可能会提供一些启发。

使用 Windows 证书而不是内部 NodeJS 证书的示例:

var windowsRootCerts = require('node-windows-root-certs');
// to read the windows root certs and patch in a single command:
windowsRootCerts.useWindowsCerts();

0
投票

有一个 npm 包“windows-certs”,它使用 Edge 和

.csx
脚本来读取
.pem
格式的证书

这应该具有所需的功能,但被标记为已弃用。后继包表示为.

win-ca
。然而,这似乎缺少旧包的一些功能:


0
投票

以下代码对我有用。

// https://github.com/ukoloff/win-ca#inject
const ca = require('win-ca')
ca.inject('+')
© www.soinside.com 2019 - 2024. All rights reserved.