首页 > 编程语言 >QT客户端与Java服务端进行https通信_F_hawk189_新浪博客

QT客户端与Java服务端进行https通信_F_hawk189_新浪博客

时间:2022-11-16 12:02:59浏览次数:72  
标签:Java QT Tomcat hawk189 openssl pkcs12 pem p12 client


网上也有一部分教程,不过我还是踩了许多的坑,所以整理了一下网上看到的和自己的一些收获。





首先:



,Tomcat.truststore (包含信任库),



首先说明一下这个两个文件 

  client.p12     pkcs12格式 

 Tomcat.truststore  java存储的keystore格式,也可能是 .keystore文件


QT是无法直接使用这两个文件的,QT使用的是openssl,需要转化成pem文件使用

首先需要安装JDK,安装后将JKS文件转化为p12文件

运行以下命令:

JKS → P12

keytool -importkeystore -srckeystore Tomcat.truststore -srcstoretype JKS -deststoretype Der -destkeystore Tomcat.p12

这样将会在当前目录生成Tomcat.p12 信任库

接下来首先安装openssl,然后:

提取用户证书:
openssl pkcs12 -in client.p12 -clcerts -nokeys -out client.pem    //pem格式


提取私钥:
openssl pkcs12 -in client.p12  -nocerts -out key.pem 


转换信任库为pem格式


openssl pkcs12 -in Tomcat.p12 -out  Tomcat.pem 




OK,准备工作完成,开始加载证书进行SSL连接了。





直接贴上我的配置代码:




QFile





//上边两句是万万不能少的,如果setPeerVerifyMode不设置,就会出现SSL握手失败

> list = QSslCertificate::fromDevice(&file, QSsl::Pem);






标签:Java,QT,Tomcat,hawk189,openssl,pkcs12,pem,p12,client
From: https://blog.51cto.com/u_15858333/5855736

相关文章

  • virtviewerUsbredirUSB重定向_F_hawk189_新浪博客
    编译virtviewer之前执行的configure命令,是没有使能usb-redir相关的功能,virtviewer是否支持usbredir是完全依赖于spice-gtk的。virtviewer对spice-gtk的依赖关系,可以从vi......
  • 【Qt】linux环境下发布Qt程序
    https://blog.csdn.net/wangruifengrr/article/details/123358907主要步骤是:qt中采用release模式编译软件。在"xxxx-xxx-xxx-Realse"文件夹下新建deployqtapp.sh文件,......
  • ParaView中主显示区pqTabbedMultiViewWidget的对象层次
    ......
  • 7.jenkins调用maven工具管理java代码实现滚动发布
    1.配置多jdk环境2.配置多maven环境3.配置maven项目3.1配置部署主机[root@jenkinswar_update]#cathosts_test[webservice]192.168.1.191[root@jenkinswar_......
  • Java-10接口与抽象类
    Java-10接口与抽象类抽象方法abstractmethod机制这是一个不完整的方法,它只有一个声明,没有方法体abstractvoidf();包含抽象方法的类被称为抽象类:如果一个类包含一......
  • 记录visiual studio 编译qt5.15.6
    准备工作1.qt源码下载可通过gitee下载,具体不介绍2.perl安装建议通过360软件管家安装,或者其他软件市场。比去官方下载快多了3.python我是用3.9的4.visiualstudio......
  • 如何理解Java中眼花缭乱的各种并发锁?
    在互联网公司面试中,很多小伙伴都被问到过关于锁的问题。今天,我给大家一次性把Java并发锁的全家桶彻底讲明白。包括互斥锁、读写锁、重入锁、公平锁、悲观锁、自旋锁、偏向......
  • Java反应式编程(2)
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~看了前面对反应式编程的说明,可能很多人都会打退堂鼓了。Lambda都已经够难理解的了,又来了一个反应式编程!实在卷不动了~其实......
  • 还不懂Java线程池实现原理,看这一篇文章就够了
    线程池无论是工作还是面试都是必备的技能,但是很多人对于线程池的实现原理却一知半解,并不了解线程池内部的工作原理,今天一灯就带大家一块剖析线程池底层实现原理。1.为什......
  • Java反射
    反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的功能称为......