ssl介绍

SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已经成为Internet上保密通讯的工业标准。
SSL能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。

1.openssl

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

Eric A. Young和Tim J. Hudson自1995年开始编写后来具有巨大影响的OpenSSL软件包,这是一个没有太多限制的开放源代码的软件包。Eric A. Young 和Tim J. Hudson是加拿大人,后来由于写OpenSSL功成名就之后就到大公司里赚大钱去了。1998年,OpenSSL项目组接管了OpenSSL的开发工作,并推出了OpenSSL的0.9.1版,到目前为止,OpenSSL的算法已经非常完善,对SSL2.0、SSL3.0以及TLS1.0都支持。

OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能,这对于广大技术人员来说是一件非常美妙的事情,可以在不同的平台使用同样熟悉的东西。OpenSSL支持Linux、Windows、BSD、Mac、VMS等平台,这使得OpenSSL具有广泛的适用性。但习惯C语言总比使用C++重新写一个跟OpenSSL相同功能的软件包轻松不少。

基本功能

OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。

作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

辅助功能

BIO机制是OpenSSL提供的一种高层IO接口,该接口封装了几乎所有类型的IO接口,如内存访问、文件访问以及Socket等。这使得代码的重用性大幅度提高,OpenSSL提供API的复杂性也降低了很多。

OpenSSL对于随机数的生成和管理也提供了一整套的解决方法和支持API函数。随机数的好坏是决定一个密钥是否安全的重要前提。

OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。如果你有足够的耐心,将会在深入使用OpenSSL的过程慢慢发现很多这样的小功能,让你不断有新的惊喜。

官方网址

https://www.openssl.org/

0.9.8国内下载链接

https://www.chinassl.net/upload/software/win32openssl-0_9_8.rar

2.keytool

keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool.exe,如下图所示:

一. Keytool创建和导入命令

创建keystore和密钥对

Generate a Java keystore and key pair

keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048

为存在的keystore生成证书请求文件CSR

Generate a certificate signing request (CSR) for an existing Java keystore

keytool -certreq -alias mydomain -keystore keystore.jks -file mydomain.csr

导入根证书或中级证书到keystore

Import a root or intermediate CA certificate to an existing Java keystore

keytool -import -trustcacerts -alias root -file mydomain.crt -keystore keystore.jks

导入SSL服务器证书到keystore

Import a signed primary certificate to an existing Java keystore

keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks

为存在的keystore生成自签名证书

Generate a keystore and self-signed certificate

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048

二. Keytool查看命令

查看单个证书

Check a stand-alone certificate

keytool -printcert -v -file mydomain.crt

列出keystore存在的所有证书

Check which certificates are in a Java keystore

keytool -list -v -keystore keystore.jks

使用别名查看keystore特定条目

Check a particular keystore entry using an alias

keytool -list -v -keystore keystore.jks -alias mydomain

三. 其他Keytool命令

删除keystore里面指定证书

Delete a certificate from a Java Keytool keystore

keytool -delete -alias mydomain -keystore keystore.jks

更改keysore密码

Change a Java keystore password

keytool -storepasswd -new new_storepass -keystore keystore.jks

导出keystore里面的指定证书

Export a certificate from a keystore

keytool -export -alias mydomain -file mydomain.crt -keystore keystore.jks

列出信任的CA证书

List Trusted CA Certs

keytool -list -v -keystore $JAVA_HOME/jre/lib/security/cacerts

导入新的CA到信任证书

Import New CA into Trusted Certs

keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore

下载网址

https://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase14-419411.html

3.KeyStore Explorer

KeyStore资源管理器

KeyStore Explorer是Java命令行实用程序keytooljarsigner的开源GUI替代品。KeyStore Explorer通过直观的图形用户界面展示其功能等。

安全Java的简化开发

软件开发人员应该能够专注于手头的问题,而不必使用钝的命令行工具。使用KeyStore Explorer,密钥对生成和代码签名等难以执行的安全任务变得快速而简单。

管理KeyStores

KeyStore Explorer可用于通过其直观的图形界面创建和导航KeyStores。只需几个简单的对话框即可创建和修改,导入和导出KeyStores的内容。

广泛的格式支持

KeyStore Explorer支持各种KeyStore,密钥对,私钥和证书格式,并且可以在它们之间进行转换。有关支持的格式列表,请参阅功能。

基本CA功能

KeyStore Explorer可用于使用您自己的CA签署证书。支持各种证书扩展,请参阅规范。

签署Java代码

KeyStore Explorer提供了以JAR和J2ME“MIDlet”形式对Java应用程序进行数字签名的功能。

几乎无处不在

KeyStore Explorer是用Java编写的,可以在任何安装了Oracle JRE的机器上运行。因此,它的功能可在Windows,Mac,Unix和Linux上使用。

下载网址

http://keystore-explorer.org/downloads.html

安全证书常用工具介绍相关推荐

  1. 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍

    C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无 ...

  2. web安全最亲密的战友Burp Suite—网络攻防常用工具介绍--burp suit工具初体验一

    本文是我的免费专栏<网络攻防常用工具介绍>的第一篇文章 磨刀不误砍柴工! 在介绍攻防技术时,突然意识基础工具的使用很容易会被忽略,但是对不熟悉的同学来说,这将会极大影响该领域的学习. 所以 ...

  3. PS图片基础知识及常用工具介绍

    一.PS图片基础知识及常用工具介绍 PS基础教程 http://zx.kaitao.cn/tupianchuli/20120919170827.htm 选框.套索.裁剪.画笔工具:http://zx. ...

  4. mysql 类似于check_【小白福利—初级DBA入门必看】MySQL常用工具介绍(六)——客户端工具MySQL_check...

    作为程序员你对MySQLcheck了解多少呢?如果没有深入了解过那也不用担心,这里有最全最详细的介绍,现在跟着Amy了解也不算晚哦~ 1 . 简介 mysqlcheck用来维护表:check检查.re ...

  5. web开发常用工具介绍

    web开发工具介绍: 主要浏览器:IE浏览器.火狐浏览器.谷歌浏览器.Edge浏览器.Safari浏览器.Opera浏览器等. 浏览器市场份额:http://tongji.baidu.com/data ...

  6. Linux常用工具介绍

    Linux工具介绍

  7. 【Python进阶】7-数据分析概述及常用工具介绍

    当今世界对信息技术的依赖程度在不断加深,每天都会有大量的数据产生,我们经常会感到数据越来越多,但是要从中发现有价值的信息却越来越难. 这里所说的信息,可以理解为对数据集处理之后的结果,是从数据集中提炼 ...

  8. 博客编写常用工具介绍

    作者:三十三重天 博客: http://www.zhouhuibo.club 截图/录屏 ScreenToGif ScreenToGif是个强大的Gif录制/剪辑工具' 官网地址 snipaste S ...

  9. 软件开发工程师常用工具介绍

    本文主要记录软件开发工程师在工作及学习中常用的工具,后面有时间把每个工具的基本用法都总结下. 工具合集 序号 工具名称 简述 使用指南 1 GitHub 适合团队开发人员之间共同开发时使用 GitHu ...

最新文章

  1. 【BZOJ】3751: [NOIP2014]解方程【秦九韶公式】【大整数取模技巧】
  2. android studio下载插件时出现的read time out问题
  3. jquery 流程图_使用 JQuery.Flowchart
  4. 在Salesforce中调用外部系统所提供的的Web Service
  5. linux curl 特殊字符,遇到问题--curl--- url参数中有+、空格、=、%、、#等特殊符号的导致传参不全 | 易学教程...
  6. mvn -DskipTests和-Dmaven.test.skip=true区别
  7. 考研分享:三战南大,考研的路上你从不孤独(内附500G最新考研资料分享)
  8. Impala SQL 语言参考
  9. 实验二 数据库和表的操作
  10. EXCEL 趋势图生成的公式应用说明
  11. java基础--接口
  12. 入行 AI,如何选个脚踏实地的岗位?
  13. 第一代电子计算机主要使用,第一代电子计算机主要采用的电子元件是什么?
  14. Jupyter Notebook又一懒人神器,拖拽生成Python代码!
  15. vue手机端打开高德地图app
  16. 工作日记---android lockscreen.java 在lock状态下显示charing和alarm
  17. 雅思阅读话题词汇-alluvial
  18. 如果做好一个管理者的反思
  19. 单反数码相机(百科名片)
  20. SpringBoot整合Swagger2实现接口文档

热门文章

  1. 西游记里最厉害的法宝——手机
  2. margin-right无效问题简析
  3. java 1.6.0 14_JDK 1.6.0_14 发布了
  4. 管理软件实施(6)——售前都是细节偏执狂
  5. PPT如何跨页让图像对齐?
  6. onClick和onDblClick并存的两种解决方法
  7. 阿里云机器上执行 locusts 命令出现 OSError: [Errno 97] Address family not supported by protocol...
  8. 设计模式8-外观模式(Facade)总结整理与练习
  9. Mysql 数据库(二)——数据库基础
  10. 【VUE基础】组件化高级