【openssl】OpenSSL s_client 获取keytool证书和openSSLl证书

一、实验环境

操作系统:CentOS7.5

serverA:   192.168.1.104 ,虚拟机上运行java服务nexus

serverB: 192.168.1.103,虚拟机上运行nginx

test: 192.168.1.106,虚拟机上装有 openjdk和openssl


二、关闭防火墙

在serverA和serveB

# systemctl stop firewalld

# systemctl disable firewalld


三、软件安装和服务状态查询

在serverA

# systemctl status nexus

# ss -tan

在server B

# systemctl status nginx

# ss -tan

四、 获取keytool证书

# openssl s_client --help

# man openssl 

s_client,实现了通用的SSL / TLS客户端,该客户端可以建立与使用SSL / TLS的远程服务器的透明连接。 它仅用于测试目的,仅提供基本的接口功能,但内部大部分使用OpenSSL ssl库的所有功能。

s_server,实现了通用的SSL / TLS服务器,该服务器接受来自使用SSL / TLS的远程客户端的连接。 它仅用于测试目的,仅提供基本的接口功能,但内部大部分使用OpenSSL ssl库的所有功能。 它既提供了自己的面向命令行的协议来测试SSL功能,又提供了简单的HTTP响应工具来模拟支持SSL / TLS的Web服务器。


s_client为一个SSL/TLS客户端程序,与s_server对应,它不仅能与s_server进行通信,也能与任何使用ssl协议的其他服务程序进行通信

s_server是openssl提供的一个SSL服务程序。使用此程序前,需要生成各种证书。本命令可以用来测试ssl客户端,比如各种浏览器的https协议支持


在 test:

# keytool -printcert -sslserver 192.168.1.104:8443 -rfc  

# keytool -printcert -sslserver 192.168.1.104:8443 -rfc > nexus.crt


# openssl s_client -showcerts -connect 192.168.1.104:8443 </dev/null


五、获取openSSL证书

# openssl s_client -showcerts -connect 192.168.1.103:443 </dev/null


用sed从文本中截取指定匹配行

通过相关命令获取了web的相关信息,但只想截取证书相关内容,怎么办?


# sed -n '/^起始行/,/^结束行/p'    FILE_NAME 


# curl  --insecure  -v https://www.baidu.com  2>&1

# curl --insecure -v https://www.baidu.com  2>&1 | awk 'BEGIN { cert=0 } /^\* Server certificate:/ { cert=1 } /^\*/ { if (cert) print }'

# curl --insecure -v https://www.baidu.com 2>&1 | awk 'BEGIN { cert=0 } /^\* Server certificate:/ { cert=1 } /^\*/ { if (cert) print }' | grep -v "left intact"

# openssl s_client -showcerts -connect www.baidu.com:443   </dev/null     >  cert.txt   2>&1

# sed -n '/^-----BEGIN CERTIFICATE-----/,/^-----END CERTIFICATE-----/p'    cert.txt

# openssl s_client -showcerts -connect www.baidu.com:443 </dev/null 2>&1 | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p'



五、参考


OpenSSL s_server

https://www.openssl.org/docs/manmaster/man1/s_server.html


OpenSSL  s_client

https://www.openssl.org/docs/manmaster/man1/s_client.html


Using openssl s_server and openssl s_client to test client certificates

http://blog.808inorganic.com/2017/01/using-openssl-sserver-and-openssl.html


Verify Incoming SSL Using OpenSSL S_Server

https://stackoverflow.com/questions/16646557/verify-incoming-ssl-using-openssl-s-server


Linu上使用openssl从服务器获取证书

https://codeday.me/bug/20170502/13843.html


openSSL s_server / s_client

https://www.netkiller.cn/cryptography/openssl/s_server.html


What does “< /dev/null” mean?

https://unix.stackexchange.com/questions/230887/what-does-dev-null-mean

https://unix.stackexchange.com/questions/230330/what-does-do


用sed从文本中截取指定匹配行

https://blog.csdn.net/lzx_bupt/article/details/7195340

https connection using CURL from command line

https://stackoverflow.com/questions/10079707/https-connection-using-curl-from-command-line

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 服务器https配置 配置https操作说明文档 1、查看服务器环境配置(tomcat和apache合并使用) 2...
    南京杨小兵阅读 12,995评论 0 9
  • 前言 尝到k8s甜头以后,我们就想着应用到生产环境里去,以提高业务迭代效率,可是部署在生产环境里有一个要求,就是k...
    我的橙子很甜阅读 14,514评论 0 15
  • Codis 3.2 部署配置汇总 概念总结 集群配置前需要了解架构,集群分片主要分三种: 客户端分片:这个需要自己...
    三杯水Plus阅读 11,369评论 0 11
  • 在这个世上 生活虽然总是艰辛坎坷 感情虽然总是不尽如意 但总有一个人出现在你生命里 用心爱着你 …… 最近 一个先...
    新艾方教育阅读 2,910评论 0 0
  • 春光明媚无限好, 白云悠悠游南山。 三生有幸结奇缘, 五福临门同庆春!
    白云绕南山阅读 2,425评论 0 2

友情链接更多精彩内容