本教程将向您展示如何在 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)中最简便的方式。
- 登录 Admin Console,打开配置 > SSL 证书选项卡。
- 点击创建 CSR。
- 填写请求字段:
- 域名:您服务器的完全限定域名,例如 fms.yourcompany.com。如果是通配符证书,则在此处填写通配符,例如 *.yourcompany.com。
- 组织(公司名称):贵公司的完整法定名称,需与注册信息完全一致。
- 组织单位:申请证书的部门,例如 IT 部门。这一项现在几乎不重要了:自 2022 年 9 月 1 日起,CA/Browser Forum 基本要求已禁止公共 CA 在签发的证书中包含“组织单位”字段,因此您在此处填写的任何内容都不会出现在证书中。
- 城市:您服务器所在城市的完整拼写。
- 州或省:州或省的完整拼写(例如 Florida,而不是 FL)。
- 国家:您所在国家的两字母代码,例如 US。
- 输入并确认私钥文件的加密密码。请将其记录下来。稍后导入已签发的证书时,您需要在私钥密码字段中输入相同的密码,并且该密码无法从密钥中恢复。
- 点击创建。FileMaker Server 会将 serverRequest.pem 和 serverKey.pem 写入 CStore 文件夹。
- 点击复制将请求内容复制到剪贴板,然后粘贴到证书订购表单的 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 的机器上,以管理员权限运行 fmsadmin certificate create,并传入服务器名称或完整的主体信息:fmsadmin certificate create "/CN=fms.yourcompany.com/O=Your Company LLC/C=US/ST=Florida/L=Miami" --keyfilepass yourSecretPassphrase
两者都存放在 CStore 文件夹中:serverRequest.pem 是请求文件,serverKey.pem 是加密的私钥。该文件夹在 macOS 上位于 /Library/FileMaker Server/CStore/,在 Windows 上位于 [drive]:Program FilesFileMakerFileMaker ServerCStore,在 Linux 上位于 /opt/FileMaker/FileMaker Server/CStore/。
不能。Admin Console 和 fmsadmin certificate create 命令都只能申请单域名或通配符证书。FileMaker Server 在导入 SAN 证书后是支持使用的,因此您可以要求 CA 在已签发的证书中扩展添加额外的名称,或者在 FileMaker Server 之外构建 CSR,并在导入时提供该私钥。
可以。Admin Console 的导入界面和命令行都分别通过私钥文件字段和 --keyfile 选项,接受在其他地方创建的私钥。请妥善保管密钥文件,并在导入时将其与证书配对使用。这是将 SAN 证书部署到 FileMaker Server 的常规方法。
不需要。创建请求只是写入两个文件,不会改变服务器正在提供的任何服务。重启是在您导入已签发的证书之后才需要进行的操作,因为 Database Server 是在启动时读取证书的。


