主要内容

访问独立应用程序中的敏感信息

自 R2024a 起

此示例向您说明如何创建一个检索存储的机密值以访问 SFTP 服务器的应用程序。

您可以通过将机密存储在 MATLAB® 保管库中,避免在应用程序代码中泄露密码等敏感信息。有关在部署中使用机密的详细信息,请参阅处理已部署 App 中的敏感信息

将 SFTP 凭据存储在本地 MATLAB 保管库中

在 MATLAB 命令提示符下,通过使用您的机密名称调用 setSecret 函数,将您的 SFTP 服务器凭据存储在本地 MATLAB 保管库中。机密名称是机密的唯一区分大小写的文本标识符,它以字符串标量的形式在您的保管库中存储为未加密状态。

  1. 使用 setSecret 存储用户名。

    setSecret("myUser")

    使用“机密提示”对话框设置您的用户名机密值,并将机密添加到您的 MATLAB 保管库。切换文本框中的眼睛图标以隐藏或显示字段中的字符。

    Secret Prompt dialog box, with a text box to enter the myUser value

  2. 使用 setSecret 存储密码。

    setSecret("myPassword")

    使用对话框设置您的密码机密值。

    Secret Prompt dialog box, with a text box to enter the myPassword value

在机密清单 JSON 文件中指定机密

在您的工作文件夹中,创建一个名为 secrets_manifest.json 的机密清单文件,该文件指定要将 MATLAB 保管库中的哪些机密嵌入到可部署存档中。对于此示例,嵌入名为 myUsermyPassword 的机密。

{
     "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 路径

另请参阅

| | |

主题