bg-tutorials

如何在 FileMaker Server 上生成 CSR

本教程将向您展示如何在 FileMaker Server 上生成 CSR。FileMaker Server 可以通过 Admin Console 或使用 fmsadmin 命令行工具自行创建请求,并将两个文件写入其自身的 CStore 文件夹:一个是您需要发送给证书颁发机构的证书签名请求,另一个是留存在服务器上的匹配私钥。

关于名称的说明,因为两者都在使用:该产品由苹果公司的子公司 Claris International Inc. 开发,该公司将平台命名为 Claris FileMaker,而服务器组件则保留 FileMaker Server 这一名称。版本号现在与发布年份一致,因此最近的产品线依次为 FileMaker Server 2023(版本 20)、2024(版本 21)、2025(版本 22)和 FileMaker Server 2026(版本 26),即当前版本。版本 23 到 25 被跳过,以使版本号与年份对齐。Claris 只为最新的几个版本提供支持,因此如果您正在运行 FileMaker Server 2024 或更早版本,在购买证书之前请先检查您的支持状态,以免证书的有效期超出软件的支持期限。

开始之前

有几件事决定了这个过程能否顺利进行:

  • 在运行 FileMaker Server 的机器上操作。私钥会被写入该机器的 CStore 文件夹,并且必须留在那里。命令行工具也需要本地会话:您必须直接登录服务器,或通过远程桌面软件登录。
  • 使用提升的权限。写入私钥文件需要管理员权限。在 Windows 上,以以管理员身份运行的方式打开命令提示符。在 macOS 和 Linux 上,使用 sudo 进行身份验证。没有这些权限,命令将因权限错误而失败。
  • 先确定确切的主机名。使用客户端实际输入的完全限定域名,即出现在您的 WebDirect 和 Admin Console URL 中,以及 FileMaker Pro 客户端打开的 fmnet 地址中的那个域名。为无人使用的名称签发的证书仍会产生浏览器警告。
  • 了解您使用的版本。自 FileMaker Server 19 起,Admin Console 中就有创建 CSR按钮。在 FileMaker Server 17 和 18 上,fmsadmin 命令行是创建请求的唯一方式。

FileMaker Server 附带一个由 Claris 签名的默认证书,该证书不会验证服务器名称。它仅用于测试,Admin Console 在使用该证书时会显示安全警告,这就是为什么生产环境中需要来自证书颁发机构的自定义证书。

如果您运行的是多机部署,还有一件事需要规划:每台机器都需要自己的证书。在主机器和每台辅助机器上分别创建单独的请求,并在每台机器上导入证书。

在 FileMaker Server 上生成 CSR

如果您已经在其他地方生成了 CSR,请跳过本节,待证书签发后继续阅读 FileMaker Server 安装步骤。否则,请从以下两种方法中选择一种。它们生成的文件对是相同的,因此请根据您对服务器的访问权限选择合适的方法。

方法一:在 Admin Console 中创建 CSR

这是 FileMaker Server 19 及更高版本(包括 FileMaker Server 2023、2024、2025 和 2026)中最简便的方式。

  1. 登录 Admin Console,打开配置 > SSL 证书选项卡。
  2. 点击创建 CSR。
  3. 填写请求字段:
    • 域名:您服务器的完全限定域名,例如 fms.yourcompany.com。如果是通配符证书,则在此处填写通配符,例如 *.yourcompany.com。
    • 组织(公司名称):贵公司的完整法定名称,需与注册信息完全一致。
    • 组织单位:申请证书的部门,例如 IT 部门。这一项现在几乎不重要了:自 2022 年 9 月 1 日起,CA/Browser Forum 基本要求已禁止公共 CA 在签发的证书中包含“组织单位”字段,因此您在此处填写的任何内容都不会出现在证书中。
    • 城市:您服务器所在城市的完整拼写。
    • 州或省:州或省的完整拼写(例如 Florida,而不是 FL)。
    • 国家:您所在国家的两字母代码,例如 US。
  4. 输入并确认私钥文件的加密密码。请将其记录下来。稍后导入已签发的证书时,您需要在私钥密码字段中输入相同的密码,并且该密码无法从密钥中恢复。
  5. 点击创建。FileMaker Server 会将 serverRequest.pem 和 serverKey.pem 写入 CStore 文件夹。
  6. 点击复制将请求内容复制到剪贴板,然后粘贴到证书订购表单的 CSR 框中。

方法二:使用 fmsadmin 命令行创建 CSR

命令行方式适用于从 FileMaker Server 17 起的每个版本,包括当前版本。fmsadmin 工具位于:

  • Windows: [drive]:Program FilesFileMakerFileMaker ServerDatabase Serverfmsadmin.exe
  • macOS: /Library/FileMaker Server/Database Server/bin/fmsadmin
  • Linux: /opt/FileMaker/FileMaker Server/Database Server/bin/fmsadmin

安装程序会在 macOS(/usr/local/bin/fmsadmin)和 Linux(/usr/bin/fmsadmin)上添加一个符号链接,因此该命令可在任意目录中使用。在 Windows 上,如果命令无法识别,请先切换到上面显示的Database Server文件夹,或使用完整路径调用可执行文件。

最简单的形式只需服务器名称:

fmsadmin certificate create fms.yourcompany.com --keyfilepass yourSecretPassphrase

大多数证书颁发机构需要的不只是主机名,因此请改为传入完整的主体信息。请注意双引号:一旦任何值包含空格,就必须使用双引号。

fmsadmin certificate create "/CN=fms.yourcompany.com/O=Your Company LLC/C=US/ST=Florida/L=Miami" --keyfilepass yourSecretPassphrase

每个属性应填写的内容:

  • CN(通用名称):您想要保护的完全限定域名,或诸如 *.yourcompany.com 之类的通配符。
  • O(组织):贵公司的完整法定名称。
  • C(国家):两字母国家代码,例如 US。
  • ST(州或省):州或省的完整名称,而非缩写。
  • L(地区):城市的完整名称。
  • --keyfilepass:用于加密 serverKey.pem 的密码。FileMaker 内置的 CLI 帮助文档将此选项描述为创建操作的必需项,Claris 文档中的每个示例也都包含它,因此请设置一个密码并记录下来。导入时您将需要相同的密码。由于您是在命令行中输入该密码,它会在屏幕上保持可见,并且通常会写入 shell 的命令历史记录,因此在其他人可以登录的任何机器上,请在事后清除该记录。

主体信息遵循与 OpenSSL 的 req 命令的 -subj 参数相同的语法:它不区分大小写,格式为 /type=value 键值对,值内的特殊字符需要用反斜杠转义。要查看您所使用版本支持的确切选项,请运行:

fmsadmin help certificate

FileMaker Server 存放文件的位置

两种方法都会在 CStore 文件夹中写入相同的两个文件:

  • serverRequest.pem:您的证书签名请求。这是您需要将其内容发送给 CA 的文件。
  • serverKey.pem:加密的私钥。它永远不会离开服务器,也不会发送给 CA。任何持有该私钥的人都可以冒充您的 FileMaker Server,因此如果该文件泄露,请重新生成请求并要求重新签发证书。

CStore 文件夹的位置因操作系统而异:

  • Windows: [drive]:Program FilesFileMakerFileMaker ServerCStore
  • macOS: /Library/FileMaker Server/CStore/
  • Linux: /opt/FileMaker/FileMaker Server/CStore/

创建 CSR 不会改变服务器的运行方式,因此此阶段无需重启。重启在您导入已签发的证书之后才需要进行。如果您需要放弃某个请求重新开始,请先删除现有的请求和密钥:

fmsadmin certificate delete

在正在运行的服务器上使用此命令时要格外小心:它会删除证书请求、私钥以及已安装的任何自定义证书,此更改会在重启后生效。在重新配置自定义证书之前,FileMaker Server 会回退使用 Claris 提供的默认证书。

将 CSR 提交给证书颁发机构

使用纯文本编辑器(例如记事本或 TextEdit)打开 serverRequest.pem。您会看到类似这样的内容块:

-----BEGIN CERTIFICATE REQUEST-----
MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0Zsb3JpZGEx
... (many lines of base64) ...
-----END CERTIFICATE REQUEST-----

选中整个内容块,包括 BEGIN CERTIFICATE REQUEST 和 END CERTIFICATE REQUEST 这两行(每个标记两侧各有五个连字符),然后将其粘贴到订购表单的 CSR 框中。请勿使用会添加格式的文字处理软件打开该文件,也不要手动重新输入。

在下单之前,最好先回过头检查一遍请求内容。将其粘贴到我们的 CSR 解码器中,确认通用名称与客户端使用的主机名一致,并且组织信息拼写正确。此处的拼写错误意味着 CA 会签发一个您无法使用的证书,而重新签发又需要再走一遍验证流程,耗费额外的时间。如果您的工作站上安装了 OpenSSL,也可以在本地进行相同的检查:

openssl req -noout -text -verify -in serverRequest.pem

证书签发后,您需要将其与私钥和中间证书(CA 捆绑包)文件一起导入,然后重启 Database Server。我们关于如何在 FileMaker Server 上安装 SSL 证书的指南涵盖了 Admin Console 和 fmsadmin 两种导入方式。下单时需要牢记的一项要求是:证书必须以 Base64(PEM)编码交付,并且文件名不得包含星号等不受支持的字符。

通配符与多域名(SAN)证书

一旦导入完成,FileMaker Server 可以使用单域名证书、通配符证书或多域名(SAN)证书。限制只存在于请求工具中:Admin Console 和 fmsadmin 命令可以为单个域名或通配符创建请求,但不能为 SAN 证书创建请求。Claris 在这两种方式的文档中都记录了这一限制,并且在当前版本中依然如此。

对于通配符,无需特殊操作:将通配符输入为域名或通用名称即可,例如 *.yourcompany.com。对于多个不同的主机名,您有两种选择。

选项一(Claris 文档记录的方式):按上述方法创建一个普通的单域名请求,发送给您的 CA,并要求他们在签发的证书中扩展添加其他名称。

选项二,在 FileMaker Server 之外构建请求:自行生成 CSR 和密钥,并在导入时提供该密钥。这是明确受支持的做法:Admin Console 的导入界面会提示您选择通过任意方法获得的私钥,命令行也有专门用于此场景的 --keyfile 选项。我们的 CSR 生成器可以通过单个表单构建 SAN 请求,您也可以在任何机器上使用 OpenSSL:

openssl req -new -newkey rsa:2048 -nodes 
-keyout fms.key 
-out fms.csr 
-subj "/CN=fms.yourcompany.com/O=Your Company LLC/C=US/ST=Florida/L=Miami" 
-addext "subjectAltName=DNS:fms.yourcompany.com,DNS:db.yourcompany.com"

如上所示,请在 SAN 列表中重复填写通用名称,因为客户端会根据 SAN 条目验证主机名,而忽略通用名称。请将 fms.key 保存在您可以从 Admin Console 浏览到的位置;您无需自行将其复制到 CStore 文件夹中。由于 -nodes 使密钥保持未加密状态,因此在导入时请将私钥密码字段留空。

完全不需要 CSR 的情况

FileMaker Server 可以自行申请免费的 Let’s Encrypt 证书,无需 CSR,也无需手动导入,但仅限于近期发布的版本。在 FileMaker Server 2025(版本 22)及更高版本中,Admin Console 可以完成此操作:打开配置 > SSL 证书,点击申请 Let’s Encrypt 证书,输入您的完全限定域名,并可选择开启自动续订证书。测试验证会检查 FileMaker Server 在该名称下是否可公开访问,从而判断请求是否能够成功。

较旧的版本并不相同,因此在寻找该按钮之前请先检查您的版本。FileMaker Server 2024(版本 21.0.1)是第一个内置此功能的版本,且仅支持命令行方式:在 FileMaker Server 安装目录的 Tools/Lets_Encrypt 文件夹中有一对请求和续订用的 shell 脚本,此外还需要您自行安装 Certbot。请阅读这些脚本旁边的 README 文件,了解确切的文件名和先决条件,因为不同的 2024 版本之间文件名有所不同。FileMaker Server 19 和 FileMaker Server 2023(版本 20)完全没有内置的 Let’s Encrypt 支持,因此在这些版本上,上述 CSR 方式是唯一的途径。

是否可以选择此方式取决于两个条件:域名在 HTTP 验证期间必须在 80 端口上可公开访问,并且不支持通配符。对于未暴露在互联网上的服务器,以及需要通配符、组织验证、扩展验证或更长有效期的用户,请采用上述 CSR 方式。

FileMaker Server 15 和 16(旧版本)

这些版本早已停止支持,不再接收安全更新,因此请将其视为临时权宜之计,并规划升级方案。在 FileMaker Server 15 和 16 上,Admin Console 从不同的位置创建请求:打开 Database Server > Security 选项卡,点击创建请求。填写域名(此处也接受诸如 *.yourcompany.com 之类的通配符)、公司名称、组织、城市、州或省和国家,然后输入并确认私钥的加密密码,点击创建。

是控制台(而非命令行)将 serverRequest.pem 和 serverKey.pem 写入 CStore 文件夹,您需要按照上文所述的方式,将 serverRequest.pem 的内容复制到订购表单中。SAN 的限制在此处同样适用。

常见问题

在 FileMaker Server 上生成 CSR 的 fmsadmin 命令是什么?

在托管 FileMaker Server 的机器上,以管理员权限运行 fmsadmin certificate create,并传入服务器名称或完整的主体信息:
fmsadmin certificate create "/CN=fms.yourcompany.com/O=Your Company LLC/C=US/ST=Florida/L=Miami" --keyfilepass yourSecretPassphrase

FileMaker Server 将 CSR 和私钥保存在哪里?

两者都存放在 CStore 文件夹中:serverRequest.pem 是请求文件,serverKey.pem 是加密的私钥。该文件夹在 macOS 上位于 /Library/FileMaker Server/CStore/,在 Windows 上位于 [drive]:Program FilesFileMakerFileMaker ServerCStore,在 Linux 上位于 /opt/FileMaker/FileMaker Server/CStore/。

FileMaker Server 能否为 SAN 证书创建 CSR?

不能。Admin Console 和 fmsadmin certificate create 命令都只能申请单域名或通配符证书。FileMaker Server 在导入 SAN 证书后是支持使用的,因此您可以要求 CA 在已签发的证书中扩展添加额外的名称,或者在 FileMaker Server 之外构建 CSR,并在导入时提供该私钥。

我可以改用 OpenSSL 或在线工具生成 CSR 吗?

可以。Admin Console 的导入界面和命令行都分别通过私钥文件字段和 --keyfile 选项,接受在其他地方创建的私钥。请妥善保管密钥文件,并在导入时将其与证书配对使用。这是将 SAN 证书部署到 FileMaker Server 的常规方法。

创建 CSR 后我需要重启 FileMaker Server 吗?

不需要。创建请求只是写入两个文件,不会改变服务器正在提供的任何服务。重启是在您导入已签发的证书之后才需要进行的操作,因为 Database Server 是在启动时读取证书的。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.