微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将信任库文件.jks添加到SOAP nodeJs,firebase云功能中的根证书

如何解决如何将信任库文件.jks添加到SOAP nodeJs,firebase云功能中的根证书

我是网站开发的新手。我正在使用已安装SOAP npm的Firebase Cloud Functions,将SOAP请求发送到邮件服务提供商。

这是我在Firebase Cloud Functions中的原始代码

exports.testing = functions.https.onRequest(async (request,response) =>{
  try {

    const fs = require('fs');
    const soap = require('soap');

    response.set('Access-Control-Allow-Origin','*');
    response.set('Access-Control-Allow-Credentials','true');

    const securityOptions = {
      hasNonce: true,passwordType:'PasswordDigest',hasTokenCreated:true,hasTimeStamp:false,mustUnderstand:1
    };
    const wsSecurity = new soap.WSSecurity('username','password',securityOptions);
    const bearerSecurity = new soap.BearerSecurity('token');

    const httpOptions = {
        envelopeKey: 'soap'
    };// end of httpOptions

    const url = 'https://www.serviceproviderwebsite.com/API/services/Calculator?wsdl'; // Production

    const args = {
      api01Req:{
        'userName':userName,'countryCode': areaCode,'shipCode': shipCode,'mailType': mailType,'weight': totalWeight,}
    };// end of args

    soap.createClient(url,httpOptions,function(err,client) {
      console.log("in createClient 1,err = "+err);
      client.setSecurity(bearerSecurity);
      client.setSecurity(wsSecurity);

      console.log("in createClient 2,err = "+err);
      client.getTotalPostage(args,result) {
        console.log("in getTotalPostage,err = "+err);
        console.log("in getTotalPostage,result = "+JSON.stringify(result));
          let valueUSD = parseFloat(result.getTotalPostageReturn.totalPostage)/usdValue;
          let ualueUSDRounded = math.round(valueUSD,2);
          result.getTotalPostageReturn['totalPostageUSD'] = ualueUSDRounded;
          response.status(200).send(result);
      }); // end of client.getTotalPostage
    }); // end of soap.createClient
    
  } // end of try
  catch (error) {
    console.log(error)
    response.status(500).send(error)
  } // end of catch
}); // end of exports.testing

最近我在console.log(“在createClient 1中收到错误,如下所示:err =” + err):

错误=错误:证书链中的自签名证书

然后,我意识到我被要求向信任库中添加.jks文件,我已经在SOAP npm菜单[https://www.npmjs.com/package/soap#security][1]中呆了几天,失败。

我已将.jks文件成功上传到Firebase Cloud Functions中的文件夹。下面是结构:

-/public/
-/functions/
    - index.js
    - package.json
    - package-lock.json
    -/node_modules/
    -/certs/
        - cert.jks

有人能帮助我解决这个问题吗?非常感谢你。 [1]:https://www.npmjs.com/package/soap#security

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。