首页 > 其他分享 >kettle从入门到精通 第七十四课 ETL之kettle kettle调用https接口教程,忽略SSL校验

kettle从入门到精通 第七十四课 ETL之kettle kettle调用https接口教程,忽略SSL校验

时间:2024-07-02 21:42:57浏览次数:18  
标签:调用 自定义 kettle 校验 接口 SSL 第七十四 https

场景:kettle调用https接口,跳过校验SSL。(有些公司内部系统之间的https的接口是没有SSL校验这一说,无需使用用证书的)

 解决方案:自定义插件或者自定义jar包通过javascript调用https接口。

1、http post 步骤调用https接口,无法通过ssl安全校验,如下图所示:

查看了kettle源码之后该步骤底层调用的是HTTPPOST类中的callHTTPPOST方法,但是该方法并未处理https调用情况,如下图所示:

2、 使用REST client步骤调用https接口,依然提示无法通过ssl安全校验,如下图所示:

 查看了kettle源码之后该步骤底层调用的是Rest类中的callReset方法,最新的源码中已经加入了参数ignoreSSL,但是该参数并未暴露配置接口,也许后续的版本后解决这个问题,如下图所示:

 3、自定义jar包方式调用https接口,总体流程设计如下图所示:

1)将自定义jar放到lib目录下。

2)javascript脚本步骤调用自定义jar方式进而调用https接口,如下图所示:

 3)关键javascript代码如下:

var httpUtil = Packages.com.xiaojingang.xiaojingang_https.HttpUtil();
//这里注意参数body如果是json字符串的话,这里自动转换为对象了,
//索引这里要重新转换为字符串
var bodyStr= body+'';
var result = httpUtil.doRequest(url,bodyStr,method,10000,true);

4)jar包中的忽略SSL校验的关键代码如下:

    private static SSLContext getIgnoreVerifySSL() {
        try {
            SSLContext sslContext = SSLContexts.custom()
                    .loadTrustMaterial(new TrustStrategy() {
                        @Override
                        public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                            return true;
                        }
                    })
                    .build();
            return sslContext;
        } catch (Exception e) {
            log.error(e.getMessage(),e);
            return null;
        }
    }

 

 

标签:调用,自定义,kettle,校验,接口,SSL,第七十四,https
From: https://www.cnblogs.com/zjBoy/p/18263974

相关文章

  • mysql mgr cluster关闭ssl,使抓包可以抓到实际的数据
    默认加密设置#1.MySQL服务器是否以--ssl选项启动,YES表示当前服务器支持SSL加密mysql>showvariableslike'have_ssl';+---------------+-------+|Variable_name|Value|+---------------+-------+|have_ssl|YES|+---------------+-------+1rowinset(0.00se......
  • 干货!5个步骤教你申请免费SSL证书
    申请免费SSL证书的步骤大致如下,这里以JoySSL为例,因为它是提供免费SSL证书的知名服务商之一,同时也提及其他一些常见的免费SSL证书申请途径:一、使用JoySSL申请免费SSL证书:1、访问官网注册:打开JoySSL的官方网站,注册一个账号。在注册过程中,可能会有特定的注册码(230921)可以输入......
  • 详解|什么样的SSL证书能助力企业通过等保与密评?
    企业在过等级保护(简称“等保”)与密码评测(简称“密评”)的时候,SSL证书作为网络安全的基础组件之一,其选择与部署对于企业顺利通过等保测评与密评至关重要。那什么样的SSL证书能够有效助力企业达成这一目标呢?1高级别验证的SSL证书在等保和密评中,对于身份验证的严格性也有较高......
  • 申请SSL证书保姆级教程,包括FreeSSL申请、Acme脚本申请等方式。
    Acme脚本申请证书Acme脚本申请证书,是我们用到的最常见的一种证书的申请方式,它有很多的申请方法,大家只需要找到一种适合自己的也就好了。不管用下面的何种方式申请,都需要安装Acme,有一部分的申请场景需要用到相关的插件,所以我们需要提前安装。下面环境的安装方式,大家根据自己......
  • kettle从入门到精通 第七十三课 ETL之kettle kettle调用http分页接口教程
    场景:kettle调用http接口获取数据(由于数据量比较大,鉴于网络和性能考虑,所以接口是个分页接口)。 方案:构造页码list,然后循环调用接口。1、总体设计1)、初始化分页参数pageNum=1,pageSize=20,这里的pageSize可以根据自己的需求自行调整,比如每次从接口取数100或者1000等等。2)、第一......
  • Dolphinscheduler调度Kettle
    1、Dolphinscheduler-worker节点安装Kettle安装目录/opt/soft/data-integration2、配置资源仓库,将资源仓库配置文件 repositories.xml文件拷贝到安装目录仓库名称:mysql-repository仓库访问用户:guest仓库访问密码:guest3、创建Kettle任务,并保存到资源仓库任务创建略。任务......
  • 在使用InputStream templateStream = this.getClass().getClassLoader().getResourceA
    在使用 this.getClass().getClassLoader().getResourceAsStream()读取项目目录路径下的文件需要注意在pom.xml文件中加入<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-......
  • SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
    1.问题描述SSL/TLS协议信息泄露漏洞(CVE-2016-2183)TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。TLS,SSH,IPSec协商及其他产品中使用的DES及TripleDES密码存在大约四十亿块的生日界,这可使远程攻击者通过Sweet32攻击,获取纯文本数据。2.问题解决......
  • kettle从入门到精通 第七十二课 ETL之kettle 三谈http post(含文件上传),彻底掌握参数传
    场景:群里有个小伙伴在使用httppost步骤调用接口时遇到问题,postman调用正常,但是kettle中调用异常。 解决方案:既然postman调用接口正常,肯定是httppost步骤中某些参数设置的不正确导致的。那就把常用的方式都梳理下,搞定它。 1、httppost请求参数放到body中,Content-Type是appl......
  • 生成SSL证书
    生成SSL证书  SSL是一种加密协议,用于在网络通信中提供数据的保密性和完整性。它使用公钥和私钥来建立安全的连接,并对传输的数据进行加密和解密,以防止未经授权的访问和篡改。根据文章操作,生成以下四个文件用于存储与SSL相关的密钥、证书和信任的根证书。client.keystor......