访问独立应用程序中的敏感信息
此示例向您说明如何创建一个检索存储的机密值以访问 SFTP 服务器的应用程序。
您可以通过将机密存储在 MATLAB® 保管库中,避免在应用程序代码中泄露密码等敏感信息。有关在部署中使用机密的详细信息,请参阅处理已部署 App 中的敏感信息。
将 SFTP 凭据存储在本地 MATLAB 保管库中
在 MATLAB 命令提示符下,通过使用您的机密名称调用 setSecret 函数,将您的 SFTP 服务器凭据存储在本地 MATLAB 保管库中。机密名称是机密的唯一区分大小写的文本标识符,它以字符串标量的形式在您的保管库中存储为未加密状态。
使用
setSecret存储用户名。setSecret("myUser")使用“机密提示”对话框设置您的用户名机密值,并将机密添加到您的 MATLAB 保管库。切换文本框中的眼睛图标以隐藏或显示字段中的字符。

使用
setSecret存储密码。setSecret("myPassword")使用对话框设置您的密码机密值。

在机密清单 JSON 文件中指定机密
在您的工作文件夹中,创建一个名为 secrets_manifest.json 的机密清单文件,该文件指定要将 MATLAB 保管库中的哪些机密嵌入到可部署存档中。对于此示例,嵌入名为 myUser 和 myPassword 的机密。
{
"Embedded": {
"description": "All secret names specified in this section will be put into the deployed CTF.",
"secret": ["myUser", "myPassword"]
}
}编写 MATLAB 代码以进行部署
编写 MATLAB 代码以打包到独立应用程序中。
将以下 MATLAB 代码保存为 secretapp.m。将 SFTP 服务器 sftp.example.net 替换为您的 SFTP 服务器主机名。
s = sftp("sftp.example.net",getSecret("myUser"),Password=getSecret("myPassword")) close(s)
代码使用 getSecret 函数从保管库中检索您的用户名和密码。它通过调用 sftp 函数连接到 SFTP 服务器,该函数创建一个 SFTP 连接对象。在显示服务器连接的相关信息后,连接将被关闭。
使用 mcc 创建独立应用程序
使用 mcc 将代码打包成独立应用程序。使用 mcc -J 选项指定 JSON 机密清单文件。
mcc -m secretapp.m -J secrets_manifest.json
mcc 在您的工作目录中生成一个名为 secretapp 的独立应用程序。文件扩展名取决于用于生成应用程序的平台。
注意
生成的独立可执行文件不包括 MATLAB Runtime 或安装程序。要创建一个安装应用程序和 MATLAB Runtime 的安装程序,请使用 compiler.package.installer 函数。
运行应用程序
您可以使用系统命令语法在 MATLAB 中测试该应用程序。
!secretapp SFTP with properties:
Host: "sftp.example.net"
Username: "mluser"
Port: 22
ServerSystem: "Windows"
DatetimeType: "datetime"
ServerLocale: "en_US"
DirParserFcn: @matlab.io.ftp.parseDirListingForWindows
RemoteWorkingDirectory: "/home/mluser"如果您想在另一台计算机上运行该应用程序,则必须安装更新级别相同或更新的 MATLAB Runtime。有关详细信息,请参阅下载并安装 MATLAB Runtime。
注意
要在 Linux® 和 macOS 上不使用生成的 shell 脚本运行应用程序,必须先将 MATLAB Runtime 添加到库路径。有关详细信息,请参阅针对部署设置 MATLAB Runtime 路径。
另请参阅
mcc | getSecret | setSecret | compiler.package.installer