数字签名服务器上的私钥存储在哪里?

2024-03-07

我正在开发一个客户端服务器应用程序,需要在发送到客户端之前使用私钥对某些文件进行签名。然后,客户端将使用公钥验证签名。因此,私钥需要始终位于服务器上并且可由服务器应用程序读取。

问题是我想知道在哪里存储我的私钥,这样在服务器受到威胁时更安全,不会被泄露。

我应该将其存储在数据库中还是应该将其存储为文件并使用文件权限来控制?

Thanks.


选项是使用以不同用户身份运行的 setuid 二进制文件来进行证书签名。

其他用户将具有对该密钥的读取访问权限,但“普通”应用程序服务器用户不会具有读取访问权限。因此,如果有人破坏了应用程序服务器的帐户,他们只能签署任意证书,而无法窃取 CA 私钥。

另一种可能性是使用某种 RPC 机制将签名请求传递给以另一个用户身份运行的另一个进程(可能在另一个主机上)。或同一主机上的另一个虚拟机(但不是inside应用程序服务器计算机)。

这些方法中的任何一种都只是减少了妥协的影响,但它仍然很糟糕。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字签名服务器上的私钥存储在哪里? 的相关文章

  • 如何在Python中独立于语言安装(linux)获取用户桌面路径

    我找到了 如何找到用户桌面的路径 的几个问题和答案 但在我看来它们都已失效 至少我找到的那些 原因是 如果用户安装的 Linux 不是英语 他或她的桌面很可能位于除 Desktop 例如 对于瑞典语 我相信它是在 Skrivbord 谁知道
  • linux x86 汇编语言 sys_read 调用的第一个参数应为 0 (stdin)

    我正在编写一个简单的汇编程序来从标准输入读取 如 scanf 这是我的代码 section bss num resb 5 section txt global start start mov eax 3 sys read mov ebx 0
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • Docker:处理 tar 文件时出错(退出状态 1):设置枢轴目录时出错:不是目录

    我是 Docker 新手 不知道是什么原因导致此错误或如何诊断它 任何有关此问题的具体帮助或有关首先检查何处以诊断此类问题的提示将不胜感激 我的 Dockerfile FROM java 8 Install maven RUN apt ge
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • .Net 2.0 ServiceController.GetServices()

    我有一个启用了 Windows 身份验证的网站 从网站的页面中 用户可以启动一项对数据库执行某些操作的服务 启动该服务对我来说效果很好 因为我是服务器上的本地管理员 但我刚刚让一个用户测试了它 但他们无法启动该服务 我的问题是 有谁知道一种
  • 什么是 API 密钥? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如今 我几乎在每个跨服务应用程序中都看到这个词 API 密钥到底是什么以及它的用途是什么 另外 公共 API 密钥和私有 API 密钥
  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • CryptQueryObject 的 CNG 替代品

    我有兴趣尝试从数字签名中读取字段 我有调用 CryptQueryObject 的代码 然后调用 CryptMsgGetParam 来获取一些字段 最后调用 CertFindCertificateInStore 来加载证书 有关如何使用下一代
  • 如何使用 DUKPT 加密在读卡器中生成密文?

    For BDK 0123456789ABCDEFFEDCBA9876543210 KSN FFFF9876543210E00008 生成的密文如下 C25C1D1197D31CAA87285D59A892047426D9182EC11353
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh

随机推荐

  • exec() 调用中非常大的 python 函数定义会导致 Django 崩溃,但不会导致直接执行的 Python 代码崩溃

    我有一个非常大 400k 行 的 Python 函数 我试图通过exec 称呼 如果我运行以下 Python 脚本 exec def blah 400k lines of IF THEN ELSE globals blah 通过从命令行调用
  • 如何在加载到 ImageView 之前调整图像大小以避免 OOM 问题

    从图库 照片中选择后 如何在加载到图像视图之前调整图像大小 否则大图像会导致 OOM 问题 SelectImageGallery setOnClickListener new View OnClickListener Override pu
  • 通过文件名将多个.csv文件导入R中[重复]

    这个问题在这里已经有答案了 我有一个包含 332 个 csv 文件的文件夹 从 001 csv 到 332 csv 它们具有相同的标头 如果我想计算文件中对象的平均值 其名称从 a csv 到 b csv 如何将文件 a a 1 a 2 b
  • 实体框架 6 无法识别 AddSqlServer()

    我正在尝试将 EF6 与 VS2015 CTP 和 ASP NET MVC 6 一起使用 它无法识别下面提到的代码startup cs这是我在使用 EF7 时添加的 public void ConfigureServices IServic
  • 请确保您的 Service Worker 文件包含以下内容:/(const precacheManifest =)\[\](;)/

    我对 React Workbox 还很陌生 我试图让我的 Electron React 应用程序能够缓存所有图像和数据 以便在离线时可用 这正是我在 YouTube 视频中想要实现的目标 14 00 到 21 00 分钟 使用 React
  • Ruby on Rails:无法在生产中注销应用程序

    我在 Heroku 上部署了一个应用程序 除了注销之外 一切正常 当我单击链接退出时 出现以下错误 您要查找的页面不存在 您可能输入了错误的地址 或者页面可能已移动 如果您是应用程序所有者 请检查日志以获取更多信息 对于用户身份验证 我当然
  • 可以容纳 64 位大小整数的完美数字幂(使用优先级队列)

    我们怎样才能打印出所有可以表示为 64 位长整数的完美幂 4 8 9 16 25 27 完美幂是一个可以写为 ab 的数字 对于整数 a并且b 2 这不是作业问题 我在算法设计书的求职面试问题部分找到了它 提示 本章是基于优先级队列的 我的
  • 使用 onbeforeunload 事件,“离开页面”时 url 发生变化

    我有一个要求 当用户付款并到达成功页面并返回时 应该将其重定向到自定义页面 因此 如果我单击浏览器后退按钮 它将显示两个选项 离开页面和留在此页面 当我单击离开页面时 它应该重定向到我的自定义页面 我发现以下链接很有用 但不适用于 离开页面
  • 将枚举值绑定到标签 XAML

    我正在使用枚举字段来跟踪程序的状态 public enum StatiMacchina InAvvio 1 Pronta 2 InLavorazione 3 InMovimento 4 InAttesa 5 InErrore 6 我想绑定跟
  • 中心引导行和跨度

    我正在尝试使用引导程序将行及其内部的跨度居中 您可以在页脚中看到它 http www divisionforty com wall http www divisionforty com wall 我希望社交网络图标位于左侧 版权位于中间 由
  • MVC 6 OpenIdConnect

    目前 我在将 MVC 应用程序从 beta 3 迁移到 4 时遇到了多个问题 其中之一与 OpenIdConnect 到 Windows Azure 进行身份验证有关 当我转到具有授权属性的页面时 该页面会停止处理并位于空白页面 而不会显示
  • 我无法以编程方式检测 angularjs 中的值变化

    我是 angularjs 的新手 我遇到了麻烦 I have html像这样 section class content div div section
  • DTO 道 POCO BO

    事实上 我对这些术语以及它们之间的关系感到非常困惑 我读过有关其中每个人的一些内容 但我不了解工作流程 DTO 数据传输对象 传输值的对象BO 业务对象 域模型中的对象 用于制作业务逻辑的对象POCO 不知道 我在维基上读过定义 但什么也没
  • Vue-i18n - 无法读取未定义的属性“配置”

    首先 我向您展示什么是有效的 在 App js 中 import router from routes js import VueI18n from vue i18n const messages en message hello hell
  • PHP静态成员不保值

    大家好 我正在编写的 WordPress 插件遇到了一个奇怪的问题 但这与 WordPress 本身无关 更多地与 PHP 有关 所以请继续阅读 以便我可以解释 WordPress 插件已连接 以便调用 init 函数 这有效 我可以确认它
  • iOS 模拟器中屏幕内容仅显示在部分屏幕上

    我的 iOS 模拟器仅将内容显示为屏幕的一部分 我该如何修复它 我正在使用 XCode 6 3 1 谢谢 你只需要重新启动它 有时会发生这种情况 强制关闭模拟器并重新启动
  • Django 中的syncdb 时内容类型过时

    当我努力的时候syncdb对于我的 django 项目 我看到以下抱怨 The following content types are stale and need to be deleted myapp Any objects relat
  • 在Java中调用Python?

    我想知道是否可以使用 Jython 从 Java 代码调用 Python 函数 还是只能从 Python 调用 Java 代码 Jython 用于 Java 平台的 Python http www jython org index html
  • Docker 注册表镜像未使用

    当我尝试从本地镜像中提取图像时 它起作用了 docker login u docker p mypassword nexus3 pleiade mycomp fr 5000 docker pull nexus3 pleiade mycomp
  • 数字签名服务器上的私钥存储在哪里?

    我正在开发一个客户端服务器应用程序 需要在发送到客户端之前使用私钥对某些文件进行签名 然后 客户端将使用公钥验证签名 因此 私钥需要始终位于服务器上并且可由服务器应用程序读取 问题是我想知道在哪里存储我的私钥 这样在服务器受到威胁时更安全