密钥和证书
Make 中的某些应用要求你使用私钥或公钥或证书来进行安全身份验证和数据保护。你必须在需要密钥或证书的应用的模块设置中,在 Scenario Builder 里添加它们。
密钥和密钥链
Encryptor 应用在其 AES Encrypt (advanced)、AES Decrypt (advanced)、Create digital signature、Decrypt a PGP message 和 Encrypt a PGP message 模块中使用密钥。
SSH 应用也允许使用私钥来创建连接。
虽然类型不同,HTTP 应用也会将你为发出 HTTP 请求而提供的凭据保存为密钥链,用于 API key 和 Basic Auth 身份验证类型。
添加密钥
当应用的模块需要公钥或私钥时,你应在模块设置中添加密钥。
以 Encryptor > AES Encrypt (advanced) 模块为例。要在其中添加密钥,你需要:
- 创建新场景或打开现有场景。
- 添加 Encryptor > AES Encrypt (advanced) 模块。
- 在 Key 字段中,点击 Create a keychain。
- 在 Add new keychain 窗口中,输入你的密钥和其他详细信息,然后点击 Create。
创建并保存模块设置后,密钥会保存在 Keys 部分。在那里,你可以管理所有已创建的密钥。
编辑或删除密钥
本节仅适用于密钥和密钥链。
编辑密钥:
- 在左侧边栏中,点击 Credentials,然后切换到 Keys。
- 点击所需密钥或密钥链旁边的 three dots > Edit。
- 你将看到一个表单,可以在其中编辑密钥及其详细信息。完成编辑后,点击 Save。
Make 会立即应用已保存的更改。确认后,密钥会在使用它的所有模块中更新。
删除密钥:
- 在左侧边栏中,点击 Credentials,然后切换到 Keys。
- 点击所需密钥或密钥链旁边的 three dots > Delete。
- 在弹出的窗口中,点击 Delete 确认。
如果该密钥在场景中使用,会出现一个警告,显示场景名称。点击 OK 确认删除。
确认后,密钥会从使用它的所有模块中删除。
证书
你可以在 SSH 应用中使用证书,也可以在 Make 中配置 SSO 时使用证书。
添加证书
以 SSH > Execute a command 模块为例。要在其中添加证书,你需要:
- 创建新场景或打开现有场景。
- 添加 SSH > Execute a command 模块。
- 对于证书:
- 在 Connection 字段中,点击 Create a connection。
- 在下一个窗口的 Auth type 字段中,选择 Username and key。
- 在 Private key 字段中,点击 Extract。
- 在 Extract 字段中,选择 Certificate。
- 上传证书,添加 Password,然后点击 Save。
- 然后配置所有模块字段。
插入密钥和证书的方式
插入密钥或证书有两种方式:
- 直接插入
- 从文件中提取(P12、PFX 或 PEM)
直接插入
直接插入时,你只需复制密钥并将其粘贴到所需字段中。例如,对于 SSH > Execute a command 模块中的 RSA PRIVATE KEY:
不支持 OPENSSH PRIVATE KEY。必须使用以下命令在终端中转换:ssh-keygen -p -m PEM -f <pathToTheKey>。在 Windows 上,你可以使用 PuTTy key generator。
从文件中提取(P12、PFX 或 PEM)
要提取私钥或证书,你需要使用密钥提取功能。这还允许你从加密文件中提取密钥。
支持的文件格式为 P12、PFX 和 PEM。
以 SSH > Execute a command 模块为例。要提取私钥或证书,你需要:
-
创建新场景或打开现有场景。
-
添加 SSH > Execute a command 模块。
-
在 Connection 字段中,点击 Create a connection。
-
在下一个窗口的 Auth type 字段中,选择 Username and key。
-
在 Private key 字段中,点击 Extract。
-
在 Extract 字段中,选择 Private key。
-
点击 Choose File 按钮。
-
浏览并 Open 所需文件。例如,当你在 AWS 上创建基于 Linux 的 EC2 实例时,你会收到 PEM 文件形式的登录凭据:
[username@hostname aws]$ ls IMTExample.pem [username@hostname aws]$该文件包含用于连接到实例的私钥。
私钥从 PEM 文件中读取:
-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAz7F3k1q2x9K8JfN8u1wPp8Yk4Q2Lw3mA9bR1q2zZ+/QeR9Lh J3Kf4wQb7vR9kP2n4x1pQ2XhQ9L0vQj3F8tUzZxPnG1kZ0lMnU8BtR5KJ ......................................................... 4sZt3JmU7YwP8Qj3mNqP9jLw2yZk8NwQvH2Rr0YpM5Xk3tPw8mXl0QxNr0aY9uTn -----END RSA PRIVATE KEY-----这是你将要从 PEM 文件中提取的私钥。
-
提取文件后,如果需要,在相应字段中输入密码。
-
点击 Save。
私钥将从你的文件中导出,并用于连接到所需的服务。