文章目录
- 安全证书
-
* * 安全证书的主要组成部分
- 安全证书的应用场景
- 证书使用举例
- 证书格式
-
* PEM (Privacy Enhanced Mail)
- DER (Distinguished Encoding Rules)
- PKCS#7/P7B (Public Key Cryptography Standards #7)
- PKCS#12/PFX (Public Key Cryptography Standards #12)
- P7B 和 PFX/P12 的区别
- 证书示例
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/dc4aade9314847359a0e5f2ae89b7d49.jpeg#pic_center)
安全证书
安全证书,通常指的是数字证书(Digital Certificate),是由可信任的第三方机构(称为证书颁发机构,Certificate
Authority,简称 CA)发行的一种证明文件。它用于确认某个实体(如个人、公司、网站服务器等)的身份,并且使用公钥加密技术来帮助确保数据的安全传输。
安全证书的主要组成部分
- 公钥(Public Key) :用于加密信息,以便只有相应的私钥持有者能解密。
- 私钥(Private Key) :由证书持有者安全保管,用于解密公钥加密的信息或对数据进行签名。
- 证书所有者信息 :证书持有者的标识信息,如个人姓名、组织名等。
- 颁发机构信息 :证书由哪个 CA 颁发的信息。
- 有效期 :证书的有效日期范围。
- 证书指纹 :证书的数字摘要,通常是通过散列(哈希)函数生成,用于证书的验证。
- 数字签名 :CA 使用其私钥对证书内容(包括公钥和证书所有者信息)进行签名。
安全证书的应用场景
- HTTPS :安全超文本传输协议(Secure Hypertext Transfer Protocol)其中的 ‘S’ 即代表了安全,这需要使用 SSL/TLS 证书来建立加密的连接。
- 电子商务交易 :在在线交易中,它保证交易信息的安全和用户身份的验证。
- 电子邮箱加密 :数字证书可以用来加密电子邮件内容,保证只有收件人可以阅读。
- 代码签名 :开发者可以对他们发布的软件进行数字签名,以证明软件的完整性和出处。
- VPN :虚拟私人网络(Virtual Private Networks)使用证书来建立安全连接。
证书使用举例
假设您访问一个网站 https://www.example.com
,这个网站使用了 SSL/TLS 安全证书。以下是可能发生的步骤:
- 您的浏览器向
www.example.com
发出连接请求。 - 服务器将其安全证书发送给您的浏览器。
- 您的浏览器检查证书是否由受信任的 CA 签发,以及证书是否有效(未过期且未被撤销)。
- 如果证书受信任,浏览器将使用证书中的公钥加密一个随机生成的会话密钥,并发送给服务器。
- 服务器使用对应的私钥解密会话密钥。
- 之后的通信都将使用这个会话密钥进行加密,确保数据传输的安全性。
一个具体的例子是 Let’s Encrypt,这是一个提供免费 SSL/TLS 证书的 CA。它使网站管理员可以免费、自动化地获取安全证书,以启用
HTTPS 加密。
安全证书在现代通信中扮演着至关重要的角色,几乎任何需要保证数据安全性和完整性的场合都可能会用到它。
证书格式
安全证书主要有以下几种格式,每种格式根据其存储和使用的特点有不同的用途:
PEM (Privacy Enhanced Mail)
- 扩展名 :
.pem
,.crt
,.cer
,.key
- 包含 : 可以包含证书(public key)、私钥(private key)或者这两者的组合。
- 编码方式 : ASCII Base64 编码,以 “
-----BEGIN CERTIFICATE-----
” 开始,以 “-----END CERTIFICATE-----
” 结束。 - 用途 : 广泛支持,用于各种不同的系统和应用中,例如Apache和其他Web服务器,以及在Linux系统中。
DER (Distinguished Encoding Rules)
- 扩展名 :
.der
,.cer
- 包含 : 只包含证书,不包括私钥。
- 编码方式 : 二进制格式。
- 用途 : 常用于Java平台和Windows系统。
PKCS#7/P7B (Public Key Cryptography Standards #7)
- 扩展名 :
.p7b
,.p7c
- 包含 : 可以包含证书链(除了根证书),不包含私钥。
- 编码方式 : ASCII Base64 编码,以 “
-----BEGIN PKCS7-----
” 开始,以 “-----END PKCS7-----
” 结束。 - 用途 : 通常用于Windows服务器和Java Tomcat。
PKCS#12/PFX (Public Key Cryptography Standards #12)
- 扩展名 :
.p12
,.pfx
- 包含 : 可以包含证书链、私钥和证书的公钥。
- 编码方式 : 二进制格式。
- 用途 : 主要用于Windows系统,也支持其他系统。适用于需要同时导出证书和私钥的情况。
P7B 和 PFX/P12 的区别
主要在于:
- P7B 只包含证书和证书链,不包含私钥,通常用于证书导出和备份。
- PFX/P12 包含证书、证书链和私钥,是用于证书导出和迁移的全面格式,尤其是在需要将证书和私钥一并迁移时使用。
证书示例
一个 PEM 格式的证书示例如下:
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgIJAKC1Hi6Pb8m1MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkJFMRkwFwYDVQQKDBBHbG9iYWxTaWduIG52LXNhMRswGQYDVQQDDBJHbG9i
...
-----END CERTIFICATE-----
一个 DER 格式的证书通常无法在文本编辑器中打开,因为它是二进制编码的。 在交互式命令行或脚本中,你可以使用 OpenSSL
工具来转换证书的格式,例如,将 PEM 转换为 DER:
openssl x509 -outform der -in certificate.pem -out certificate.der
或者将 DER 转换为 PEM:
openssl x509 -inform der -in certificate.der -out certificate.pem
请注意 ,根据你的证书和私钥在文件中的存放方式,可能还需要额外的命令来处理它们(例如,从 PKCS#12 容器中提取私钥和证书)。
学习网络安全技术的方法无非三种:
第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。
第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
第三种就是去找培训。
接下来,我会教你零基础入门快速入门上手网络安全。
网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。
第一阶段:基础准备 4周~6周
这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
第二阶段:web渗透
学习基础 时间:1周 ~ 2周:
① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
配置渗透环境 时间:3周 ~ 4周:
① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。
渗透实战操作 时间:约6周:
① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
以上就是入门阶段
第三阶段:进阶
已经入门并且找到工作之后又该怎么进阶?详情看下图
给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!