【工具】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

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenSSLcURL都是常用的加密和网络通信库,为很多开源项目和应用程序提供了安全和通信功能的支持。 OpenSSL是一个强大的开源加密库,提供了一系列加密算法和协议的实现,如SSL/TLS、RSA、AES等。它不仅可以用于数据加密和身份验证,还可以进行证书管理和数字签名等操作。OpenSSL作为一个动态库可以被其他应用程序链接和使用。 cURL是一个功能强大的开源网络传输工具,支持多种网络协议如HTTP、FTP、SMTP等。它可以用于文件上传、下载和访问远程资源,还可以进行cookie管理和代理配置等。cURL同样作为一个动态库可以被其他应用程序链接和使用。 在使用这两个库时,需要注意以下几点: 1. 功能和用途:OpenSSL主要用于加密和安全通信,提供了各种加密算法和协议的实现,而cURL主要用于网络传输和资源访问。根据实际需求选择合适的库。 2. 兼容性:根据项目的需求,选择适合的OpenSSLcURL版本。确保库版本与操作系统、编译器和其他依赖库之间的兼容性。 3. 安全性和漏洞修复:由于OpenSSLcURL是开源项目,会不断发布新的版本来修复安全漏洞和错误。及时更新到最新版本可以提高应用程序的安全性。 4. API和文档:了解和熟悉OpenSSLcURL提供的API和文档,可以更好地使用它们的功能和特性。这样可以减少错误和提高代码质量。 总结而言,OpenSSLcURL是两个重要的动态库,分别提供了加密和安全通信、网络传输和资源访问的功能。在使用时,需要根据项目需求选择合适的库版本,并了解其API和文档,以确保应用程序的安全和正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值