【工具】curl & openssl

1.curl

curl工具类似于postman,什么时候使用curl而非postman呢?

当处于linux 环境或者远程登录服务器无法使用图形化工具时。

当需要编程实现n次curl接口时,可以通过写shell脚本中使用curl工具。

1.1 用法

curl可以用于测试http/https服务,查看服务端更多的信息,如ssl协议、证书、链路等信息

curl -X POST -d 'param1=xxx&param2=xxx' http://xx.xx.xx:8080/path/
curl  -k -E ./sslTestClient.p12:123456 -H 'Content-type:application/xml;charset=UTF-8' -d '<User><name>aaaa</name><age>10</age></User>'  https://localhost:8085/user

curl -v https://www.baifubao.com/callback?cmd=1059&callback=phone&phone=xxxxxxxxx
选项 作用
-X 指定http method类型,后接GET、POST等
-d 指定http请求体数据 后接'报文体'
-H 指定http请求头,后接'请求头'
-k 不校验服务端证书,永久信任服务端
-E --cert 指定客户端证书,上例为指定p12证书库及其证书库密码
-v 输出http详细请求和响应 包括头和体、cookie、ssl信息(协议版本、算法套件、证书校验)等

1.2 存在的问题

curl在携带表单数据时不会进行urlEncode,所以在存在特殊字符如+等时会出现问题

2.openssl

2.1 ssl服务

可以作为客户端进行ssl/https服务的连通性测试,如下命令可以获取服务端的服务端证书、证书链、TLS协议版本、算法套件、SSLSession信息等。

openssl s_client -connect xib03.test.xib.com.cn:443

2.2 证书管理

2.2.1 生成密钥

下面的命令会生成一对长度是2048的RSA非对称密钥,私钥存储在server.key、公钥存储在server.csr

openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr

2.2.2 生成证书库

根据生成的公私钥生成一个pfx证书库

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
openssl pkcs12 -export -out server.pfx -inkey rsa_private_key.pem -in rsa_public_key.pem

2.2.3 证书格式转换

openssl pkcs12 -in server.pfx -nodes -out server.pem
openssl rsa -in server.pem -out server.key
openssl x509 -in server.pem -out server.crt
发布了112 篇原创文章 · 获赞 101 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sarafina527/article/details/104921004
今日推荐