【问题标题】:Upload TLS client certificate to Firebase cloud functions将 TLS 客户端证书上传到 Firebase 云函数
【发布时间】:2018-02-02 00:46:40
【问题描述】:

我正在尝试确定是否可以上传 TLS 客户端证书以用于我在 firebase 中的云功能。名为 Swish 的第三方支付解决方案需要 TLS 客户端证书。

这是我的第一个 firebase 项目,像这样的小问题会使平台对我无法使用似乎很愚蠢..

【问题讨论】:

    标签: firebase ssl google-cloud-functions tls1.2 swish


    【解决方案1】:

    经过一番头疼和尝试后,我找到了一种通过云功能解决swish-payments的简单方法:

    使用request-js而不是内置库,我只需要构建选项对象以在 request.post() 方法中使用,如下所示:

    const swishOptions = {
    url: 'LINK TO SWISH SERVER',
    json: true,
    pfx: fs.readFileSync('cert.p12'),
    passphrase: 'swish',
    body: swishRequestBody
    }
    

    cert.p12-file应该和index.js放在同一个文件夹下,和函数一起上传。

    rq.post(swishOptions, (err, res) => {
                if (err){
                        console.log('payment creation error: ' + JSON.stringify(err))
                        reject(err)
                    }
                if (res){
                        console.log('Payment-token: ' + res.headers.paymentrequesttoken)
                    }
            });
    

    body-object 应该包含Swish API 中指定的所有字段,使用 console.log() 从 Swish-server 读取错误消息。

    【讨论】:

    • 不要将您的证书密码短语放在选项中。而是将环境变量用于密码等敏感内容。 firebase.google.com/docs/functions/config-env
    • 您最初是如何生成证书的?它说您需要在每个文档中“在您的服务器上生成它”。但是firebase没有ssh可以登录,你是在本地做然后上传的吗?它奏效了吗?谢谢
    • 尝试相同。已将我的 .p12 添加到与 index.js 相同的文件夹中,但出现以下错误:{"code":"UNABLE_TO_VERIFY_LEAF_SIGNATURE"}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 2019-05-02
    • 2018-06-14
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多