OpenSSL

计算机网络第一弹——HTTP和HTTPS的区别

有些话、适合烂在心里 提交于 2020-10-19 18:41:04
HTTP和HTTPS的区别: HTTP:(HyperText Transfer Protocol)超文本传输协议,被用于web浏览器和服务器之间传递信息,从www服务器传输超文本到本地浏览器的TCP传输协议, HTTP协议以明文方式发送内容,不提供任何方式的数据加密,客户端和服务端都无法验证对方的身份 ,如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 HTTPS:安全套接字层超文本传输协议HTTPS,以安全为目标的HTTP通道,简单讲就是HTTP的安全版,为了数据传输的安全,在HTTP下加入SSL层,HTTPS的安全基础是SSL(Secure Sockets Layer)。 SSL协议,是一种在传输通信协议(TCP/IP)上实现的安全协议,采用公开秘钥技术。SSL的作用主要有以下三点: 1. 认证用户和服务器,确保数据发送在正确的客户机和服务器 2. 加密数据以防止数据中途被窃取 3. 维护数据的完整性,确保数据在传输过程中不被改变。 而SSL证书指的是在SSL通信中验证通信双方身份的数字文件,一般分为服务器证书和客户端证书,通常说的SSL证书主要指服务器证书,SSL证书有受信任的数字证书颁发机构CA在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

Android Studio怎么打包成APK并在真机调试

余生颓废 提交于 2020-10-19 18:18:11
Android Studio怎么打包成APK并在真机调试 首先,我们在Android studio上方的工具栏找到build,点击查看bulid工具。如下 第二:在bulid工具栏的下拉栏,我们可以找到Generate Signed Bundle or APK,点击进入该设置。 第三:选择APK之后按下Next。 因为我们是没有密钥的(身份证)所以我们要去生成一个密钥,所以这里我们选择 Create new… 点击文件夹图标,进行下面页面。在这里选择你自己存放的位置,创建一个空文件夹 出现这种问题,暂时可以跳过,点击ok 选择下面这几个,在点击Finish 等待一段时间。apk打包完毕,会弹出一个提示框之后返回到我们的项目包。 找到app下的release文件夹,里面有我们打包好的apk 调试一下,真机安装成功 来源: oschina 链接: https://my.oschina.net/u/4414570/blog/4679215

“失控”的 IPv6:观察 IPv6 网络环境安全现状

こ雲淡風輕ζ 提交于 2020-10-19 09:54:51
作者:se162xg@知道创宇404积极防御实验室 时间:2020年7月27日 1. 从IPv4到IPv6 IPv6的全称是“Internet Protocol version 6”,意为“互联网协议第6版”,是由国际互联网工程任务组(IETF)在1998年12月发布的最新版本互联网协议。相较于传统的IPv4协议,IPv6不仅扩展了原有的地址空间,还对网络层的通信机制进行了优化,使得报文处理过程在性能与安全性方面得以大幅提高。当前,在世界范围内IPv4与IPv6的应用仍处于“共存”状态,但从IPv4向IPv6的全面迁移已成为一种不可逆转的趋势。 一直以来,IPv4协议使用的是32位长度的网络地址,理论上最多只能为大约43亿设备分配独立地址。随着个人电脑、无线设备和各类智能终端的增多,显然,这一数值已不足以满足“万物互联”的需要。早在20多年以前,IETF就意识到了这一点,并将IPv6的网络地址长度增加到128位,这样,整个互联网世界就能够支持超过3.4 * 1038 个独立设备进行自由寻址。这是一个怎样的天文数字?借用一个经典的比喻,我们可以用IPv6的地址空间为地球表层的每一颗原子分配一个地址,然后,剩余的地址数量也足以分配另外100+与地球同样大小的星球。 图1. 2010年~2020年谷歌应用服务IPv6用户访问趋势   图2. 2020年5月中国IPv6活跃用户占比

聊下 git 使用前的一些注意事项

ε祈祈猫儿з 提交于 2020-10-19 08:53:49
连接方式https、ssh 在使用git的时候,不管你的服务器是开源平台github还是私服gitlab,你都需要clone仓库到本地,这个clone的时候就需要你选择连接方式。这个连接方式决定了你与服务器交互的时候以一个什么协议进行。如果你没搞清楚这两种方式,可能你在使用的时候会很困惑,别人在push代码的时候没有提示输入账号密码,而你却有,至少我当初有过这个问题。 可选择的协议有https、ssh两种,这从git repository仓库的地址就能分辨出来。 这是我6年前的开源项目,套打组件。拿这个做例子,红色范围内的地址就是ssh的连接地址。你可以通过”Use HTTPS”切换使用https连接地址。 这是两种方式连接git服务器。在clone的时候地址就决定了你的交互协议。这两种方式与git服务器交互的区别体现在你每次push代码的时候。https协议在你每次push的时候都要求你输入git账号密码,这种方式一般多用于那些你很少push代码的场景。ssh是用于那些工程开发,你需要频繁push代码的场景。 https的账号就是你的git服务器给你分配的,每次push的时候会有一个文本框提示你输入。 ssh的使用需要你的仓库管理员为你设置一个公钥,这样你每次push代码的时候git服务器才知道你是谁。这是采用RSA(公钥加密算法)也称非对称加密算法,RSA产生一对密钥

Git配置SSH Key的时候提示密钥无效

爱⌒轻易说出口 提交于 2020-10-19 07:04:31
错误提示:Key is invalid. You must supply a key in OpenSSH public key format 翻译:密钥无效。必须提供OpenSSH公钥格式的密钥 操作步骤 1.生成公钥 ssh-keygen -t rsa -C "GitHub账号的注册邮箱" 2.进入路径 vim ~/.ssh/id_rsa.pub 3.复制公钥到GitHub设置SSH and GPG keys中的SSH keys 错误原因:格式不正确 解决方法: 第2步使用如下命令后复制 cat ~/.ssh/id_rsa.pub 来源: oschina 链接: https://my.oschina.net/u/4363067/blog/4326011

使用NGINX作为HTTPS正向代理服务器

牧云@^-^@ 提交于 2020-10-18 13:42:24
一、HTTP/HTTPS正向代理的分类 简单介绍下正向代理的分类作为理解下文的背景知识: 1. 按客户端有无感知的分类 普通代理:在客户端需要在浏览器中或者系统环境变量手动设置代理的地址和端口。如squid,在客户端指定squid服务器IP和端口3128。 透明代理:客户端不需要做任何代理设置,“代理”这个角色对于客户端是透明的。如企业网络链路中的Web Gateway设备。 2. 按代理是否解密HTTPS的分类 隧道代理 :也就是透传代理。代理服务器只是在TCP协议上透传HTTPS流量,对于其代理的流量的具体内容不解密不感知。客户端和其访问的目的服务器做直接TLS/SSL交互。本文中讨论的NGINX代理方式属于这种模式。 中间人(MITM, Man-in-the-Middle)代理:代理服务器解密HTTPS流量,对客户端利用自签名证书完成TLS/SSL握手,对目的服务器端完成正常TLS交互。在客户端-代理-服务器的链路中建立两段TLS/SSL会话。如Charles,简单原理描述可以参考文章。 注:这种情况客户端在TLS握手阶段实际上是拿到的代理服务器自己的自签名证书,证书链的验证默认不成功,需要在客户端信任代理自签证书的Root CA证书。所以过程中是客户端有感的。如果要做成无感的透明代理,需要向客户端推送自建的Root CA证书,在企业内部环境下是可实现的。 二

IntelliJ IDEA 如何导出安卓(Android)apk文件 详细教程

回眸只為那壹抹淺笑 提交于 2020-10-18 13:29:22
做完一个Android项目之后,如何才能把项目发布到Internet上供别人使用呢?我们需要将自己的程序打包成Android安装包文件–APK(AndroidPackage),其后缀名为".apk"。将APK文件直接上传到Android模拟器或Android手机中执行即可进行安装。Android系统要求具有其开发者签名的私人密钥的应用程序才能够被安装。生成数字签名以及打包项目成APK都可以采用命令行的方式,但是通过IDEA中的向导我们会更加方便地完成整个流程,打包发布的过程非常简单。下面以前面开发的"Hello World"为例,演示如何生成APK。 导出步骤:Generate Signed Bundle / APK Build ——> 选择路径 APK ——> Next 接下来新建key或者选择已存在的key。 注意:在intellij idea系列工具中,默认key文件是以jks命名,而eclipse是以keystore为命名,都通用。 如:新建:有标记的地方都是必填 注意 : 其中 Key store path 是你指定存放jsk文件的路径,一定要记住傲。 设置密码的时候尽量设置成简单好记的。 回来 再 点击下一步 点击Finish 选择 debug released 的 区别   debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化

【AWS征文】AWS 数据加密知识点

时光毁灭记忆、已成空白 提交于 2020-10-18 09:37:26
独的权限,该密钥可进一步防止未经授权地访问 Amazon S3 中的对象。SSE-KMS 还向您提供审核跟踪,显示您的 CMK 的使用时间和使用者。此外,您还可以创建和管理客户托管 CMK,或者使用您、服务和区域独有的 AWS 托管 CMK。有关更多信息,请参阅使用具有 AWS Key Management Service 中存储的 CMK 的服务器端加密 (SSE-KMS) 保护数据。 每个对象使用唯一数据秘钥加密 具有客户提供密钥的服务器端加密 (SSE-C) 使用具有客户提供密钥的服务器端加密 (SSE-C) 时,您管理加密密钥,而 Amazon S3 管理加密(在它对磁盘进行写入时)和解密(在您访问您的对象时)。有关更多信息,请参阅通过使用客户提供的加密密钥的服务器端加密 (SSE-C) 保护数据。 所有对象使用相同的秘钥加密(客户端提供的) 客户端加密 客户端加密 是在将数据发送到 Amazon S3 之前加密数据的行为。要启用客户端加密,您可以选择以下方法: 使用 AWS KMS 中存储的 CMK 在上传对象时 — 通过使用客户主密钥 (CMK) ID,客户端先向 AWS KMS 发送请求以获取可用于加密对象数据的 CMK。AWS KMS 返回两个随机生成的数据密钥版本: 客户端用于加密对象数据的数据密钥的纯文本版本 客户端将作为对象元数据上传到 Amazon S3