Web信息安全实践_1.7 OpenSSL

OpenSSL

  • 用于实现SSL协议,能实现证书生成、证书签名、密钥生成、加解密等各种操作

命令行举例

openssl version
openssl prime
echo "encode me" |openssl | enc -base64
/*对字符串encode me进行base64编码*/
echo "ZW5jb2RIIG1lCg==" | openssl enc -base64 -d
/*对经过base64进行编码的字符串进行解码*/

自建HTTPS(使用OpenSSL)

  • 生成CA根证书
  • 为网站生成CSR(Certificate Signing Request,证书签名请求)
  • CA对CSR签名,生成网站证书
  • 建立网站,修改Apache配置(在apache配置中使用自己生成的证书)
  • 重启apache,在浏览器中使用https访问网站

生成CA

  • 生成CA根证书(cacert.com)

CA根证书可导入浏览器

openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 1925
  • 生成服务器签名证书请求(tempreq.pem)、服务器密钥(tempkey:服务器私钥)
openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform PEM
  • CA对服务器请求证书进行签名
openssl ca -in tempreq.pem -out server_crt.pem

*在使用第一、二条命令之前,要先生成CA配置文件、服务器配置文件,用来告诉命令关于CA和服务器的基本信息。

  • 输入以上三条命令之后,能获得:
    • 网站服务器的签名证书:server_crt.pem
    • 网站服务器的私钥:server_key.pem

原文地址:https://www.cnblogs.com/tianjiazhen/p/12235522.html

时间: 2024-11-07 12:21:29

Web信息安全实践_1.7 OpenSSL的相关文章

Web信息安全实践_1.3 HTTP

HHTP HTTPs:HTTP/ssl,安全的http Apache:HTTP服务器 SSL:安全的套接进程,应用层和tcp层中间,提供数据加密.身份认证 OpenSSL 浏览器/服务器交互 URL+HTML+HTTP→www URL(Uniform Resource Location,全局资源定位符) ∈ URI(Uniform Resource Identifiers) URL URL可定位到物理位置一台主机上一份文件的具体位置. e.g. HTTP请求 HTTP请求 方法:Get.Post

Web信息安全实践_1.6 RSA

非对称加密示例 (SSL.SSL工作过程.非对称加密) Alice和Bob进行加密传输 Bob公开自己的公钥91 Alice把三位数123乘以91,将乘积的末三位发给Bob 如123×91=11193:将193发送给Bob Bob将收到的数乘11,取后三位,得到原始信息 如:193×11=2123,:得到123,解密成功 原理:91×11=1001 RSA算法示例 挑选两个质数,如 p=61和 q=53(在实际应用中,RSA要求是大质数) 计算N = p×q = 3233 计算(p-1)× (q

Web信息安全实践_1.5 SSL (secure socket layer)

为什么需要SSL? 明文不安全 明文传输的用户名和密码被侦听到 实验:使用wireshark抓包 Phishing(钓鱼攻击): http://item.taobao.com/ http.//item.taobao/auction.com/ 什么是SSL? 1994.网景公司(Netscape) SSL位于传输层之上,应用层之下 具有良好的接口,为上层应用提供服务 e.g. http→https ftp→sftp SSL的功能:在通信双方之间提供保密性和完整性 服务器认证 用户身份认证(Phis

Web信息安全实践_3.4 CSRF防御

错误的CSRF防御方法 (1)只接受 POST 请求 攻击者不能基于链接简单地攻击( IMG ),但是可以使用脚本创建隐藏的 POST 请求 (2)转账需要多步 e.g. 第一个请求转多少个coin,第二个请求转给谁 CSRF 攻击可以按顺序执行每个步骤 (3)检查 Referer Referer Referer报文头是网页请求头的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理. 用户正常转账:请求从

Web信息安全实践_3.2 Cookie

HTTP 持久性 (1)HTTP 是一个无状态的协议:服务器不记录请求之间的关系 e.g. 购物,提交购物车.付钱两次请求之间,http协议不记录这两个请求之间的关系 (2HTTP 如何实现会话的持久性的呢? Cookie HTTP Cookie Cookie 的用途 (1)Cookie 用户浏览器访问网站时,在用户本地存储信息 服务器设置cookie的值,本地保存 (2)Authentication cookie 存储关于用户登录状况的信息 使用 Authentication Cookie 可

Web信息安全实践_6 SQL注入

www.myzoo.com 输入示例 Login a'# 用户a登录 a' or 1# a' or 1=1# a' and 1;# d' or 1# a' or '1  思考:为什么无密码可以登录?为什么最终登录的都是a? b' or 0;#  用户b登录 profile a', Coins=100 where Username='a' ;# User c' union select 1,1,1,1,1,1,if(substring(database(),1,1)=char(119),bench

Web信息安全实践_2.5 JS语法基础

JavaScript历史 HTML页面缺乏交互性 造成带宽.时间和服务器资源的浪费 前端加入基本的检查:登录名.密码是否为空,两次密码输入是否一致... JavaScript代码嵌入在HTML中 <script> ... </script> 浏览器加载页面时执行代码,代码的动态输出和HTML的静态内容进行集成 可以在用户输入提交给远程服务器之前进行验证 JavaScript语法 1.动态数据集成 document.write:向文档流写入HTML表达式或JavaScript代码 &

Web信息安全实践_2.3css简介

CSS(Cascading Style Sheets,层级样式表) 内容和格式分离 使用方式 外部样式表 (保存在外部 .css ) 内部样式表(位于 <head> 标签内部) 内联样式(在 HTML 元素内部) css语法 选择器.属性.值 p { font-family: times; } 选择器 类选择器用于指定一组元素的样式 类选择器使用 HTML类属性,并使用“.”定义 id 选择器用于为单个唯一元素指定样式 id 选择器使用 HTML元素的id属性,并使用“#”定义 简单的元素选择

Web信息安全实践_3.3 CSRF原理

什么是 CSRF Cross-site request forgery( 跨站请求伪造 ) CSRF 利用服务器对用户浏览器的信任 被攻击网站依赖用户的身份认证 攻击者使得用户的浏览器发送 HTTP 请求到目标网站 CSRF 的步骤(用户浏览器主动完成) 攻击者确定目标网站(存在CSRF漏洞的网站:目标网站基于cookie的身份认证) 在目标站点找到表单,或者可以提交请求的 URL ,并构造攻击页面或URL 使用get方式提交表单:所有的参数直接显示在URL中,只要构造相关URL就可以了, 为所