【问题标题】:How to authenticate user with CAC in Node/Express如何在 Node/Express 中使用 CAC 对用户进行身份验证
【发布时间】:2020-01-20 20:22:51
【问题描述】:

我需要允许用户使用他们的 DoD 颁发的通用访问卡登录我的 react 网站。我正在使用 express api 作为身份验证服务器。我已将服务器配置为需要客户端证书:

const options = {
      key: fs.readFileSync(config.ssl.keyPath),
      cert: fs.readFileSync(config.ssl.certPath),
      ca: [fs.readFileSync(config.ssl.caPath)],
      requestCert: true,
      rejectUnauthorized: false,
    };

    https.createServer(options, expressApp).listen(port);

如何让我的 react 应用从 CAC 请求/加载/读取证书?

【问题讨论】:

  • 貌似可以在这篇文章中找到答案medium.com/@sevcsik/…
  • 确保您的 ssl.caPath 中有相关的国防部 CA,否则浏览器可能不会提示用户选择证书/输入他们的密码
  • @imjosh 我在目录中有相关的 CA pem 文件。例如,我可以调用返回 OK 的 openssl verify -CAfile allCrts.pem myclient.pem。它是否正确?我现在只需要获取服务器证书和密钥吗?

标签: node.js reactjs express cac


【解决方案1】:

您需要创建一个 .PFX 证书并将其导入浏览器的证书存储区。生成的证书应由用于启动 Express 服务器的 CA 签名。导入浏览器的证书也应该启用“客户端身份验证”。

【讨论】:

    猜你喜欢
    • 2014-12-01
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 2014-06-30
    • 2018-03-20
    相关资源
    最近更新 更多