获取安装在用户Windows机器上的证书用于数字签名

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

我们正在为我们的应用程序开发一项功能,让您可以对 .pdf 文档进行数字签名。 这可以通过三种方法来实现:

  1. 使用 .pfx 证书。
  2. 使用用户计算机上安装的证书之一。
  3. 使用 USB 令牌(也插入用户的计算机上)。

到目前为止,我们只实现了方法 1。现在,我们在实现方法 2 时遇到了问题。 由于我们的应用程序在 Java 后端和 Angular 前端上运行,因此我们无法检索用户计算机上安装的证书。 我读过类似的事情可以通过使用 Java Applet 来实现,但由于这些在几年前已被弃用,我想知道是否有更现代的解决方案。

我们有什么方法可以利用我们现有的工具来实现这一目标吗?也许这个问题有一个 Angular 解决方案?

java angular certificate applet x509certificate
1个回答
0
投票

如果场景 (2) 的问题是如何从本地计算机获取文件,则 (java) 后端无关紧要 - 它无法访问用户的计算机。

如果角度应用程序在浏览器中运行,那么答案是否定的 - 浏览器托管的应用程序无法访问本地文件系统,除非您使用浏览器的文件上传工具并要求用户找到文件并上传它(到后端)。

如果角度应用程序在计算机上本地运行(因为您已将其打包在 Node 上并将其安装在计算机上),那么答案是肯定的,因为您将拥有对本地文件系统的(某些访问权限)。 那么问题是:运行节点应用程序的用户是否有权查看该证书的存储位置。 (你的应用程序如何知道去哪里查找?)

© www.soinside.com 2019 - 2024. All rights reserved.