如何在Google Cloud函数中加载结构客户端证书?

问题描述 投票:0回答:2

我正在尝试创建一个在nodejs中包括证书文件的云函数。下面是我要执行的代码:

    exports.invoke = async function(req, res) {

     const walletPath = path.join(process.cwd(), './wallet');
        const wallet = new FileSystemWallet(walletPath);
        console.log(`Wallet path: ${walletPath}`);

        // Check to see if we've already enrolled the user.
        const userExists = await wallet.exists('user1');
      console.log(userExists);
        if (!userExists) {
            console.log('An identity for the user "user1" does not exist in the wallet');
            console.log('Run the registerUser.js application before retrying');
            return;
        }
    }

云功能无法读取钱包文件夹中的证书。

提前感谢。

javascript node.js google-cloud-functions hyperledger-fabric
2个回答
0
投票

因此,您正在尝试使您的Cloud Function使用自定义证书接受其他服务的HTTP(s)请求(如果我错了,请纠正我)。

为此,您首先需要将证书作为身份验证密钥提供给您的Cloud Function代码。您可以检查以下link以了解如何实现此目的。

但是通常,有几种方法可以将证书文件放入云功能:

  • 部署时上载(您可以通过将其包含在代码目录中来包含Google Cloud Function部署的证书文件,如此处所示)
  • 上传到Google Cloud Storage(通过这种方法,您将证书文件上传到Cloud Storage存储桶,然后在功能实例启动时加载文件)
  • 加载到环境变量中(如果证书数据的大小可以容纳在一个变量中,这也是一个不错的选择,但是存在一些安全隐患。

tool促进了最安全的实践之一。

我建议您尝试这些选项之一,因为似乎无法从电子钱包文件夹中读取它,这可能是因为在创建函数时无法读取它。

如果您添加接收到的错误以查看它是什么实际问题,也将很有帮助。


0
投票

我已经使用Google存储桶来存储结构证书,并且包含在Google Cloud函数中,该函数运行正常。另外,ibm还为无服务器云功能上的光纤网络提供了一些示例程序。

© www.soinside.com 2019 - 2024. All rights reserved.