OpenSSL

js与php7互通加解密

荒凉一梦 提交于 2021-01-23 23:44:07
php 7.1以后mcrypt_encrypt将会被废弃,所以我们使用openssl_decrypt和openssl_encrypt的组合方式实现AES加密实现 php /js互通加密/解密。 js端使用CryptoJS封装的库 https://blog.csdn.net/weixin_35719518/article/details/112054379 来源: oschina 链接: https://my.oschina.net/shunshun/blog/4921830

Nginx SSL配置

霸气de小男生 提交于 2021-01-23 22:43:41
一、SSL 原理 ① 客户端( 浏览器 )发送一个 https 请求给服务器 ② 服务器要有一套证书,其实就是公钥和私钥,这套证书可以自己生成,也可以向组织申请,服务器会把公钥传输给客户端 ③ 客户端收到公钥后,会验证其是否合法有效,无效会有警告提醒,有效则会生成一串随机数,并用收到的公钥加密,然后把加密后的随机字符串传输给服务器 ④ 服务器收到加密随机字符串后,先用私钥解密来获取到这一串随机字符串,再用这串随机字符串加密要传输的数据,然后把加密后的数据传给客户端 ⑤ 客户端收到数据后, 再用自己的私钥也就是那个随机字符串进行解密,最终得到想要的数据 二、Nginx SSL 配置 1. 先生成一套证书( 这里我们先自己生成证书来做实验,在实际中应该向合法机构购买证书 ) [root@localhost ~]$ cd /usr/local/nginx/conf/ [root@localhost conf]$ openssl genrsa -des3 -out tmp.key 2048 # 生成私钥文件(tmp.key),会让你设置私钥文件的密码 [root@localhost conf]$ openssl rsa - in tmp.key -out ssl.key && rm -f tmp.key # 转换私钥文件(ssl.key),把密码取消掉

在Nginx服务器中启用SSL的配置方法介绍

我的未来我决定 提交于 2021-01-23 20:52:38
这篇文章主要介绍了在Ningx服务器中启用SSL的配置方法,本文前提是已经在Linux系统下安装好了OpenSSL,需要的朋友可以参考下   生成证书   可以通过以下步骤生成一个简单的证书:   首先,进入你想创建证书和私钥的目录,例如: $cd/usr/local/nginx/conf   创建服务器私钥,命令会让你输入一个口令: $opensslgenrsa-des3-outserver.key1024   创建签名请求的证书(CSR): $opensslreq-new-keyserver.key-outserver.csr   在加载SSL支持的Nginx并使用上述私钥时除去必须的口令: $cpserver.keyserver.key.org$opensslrsa-inserver.key.org-outserver.key   启用一个SSL虚拟主机   在nginx.conf配置文件中编写: server{listen443;server_nameexample.com;root/apps/www;indexindex.htmlindex.htm;sslon;ssl_certificate/etc/nginx/ssl/nginx.crt;ssl_certificate_key/etc/nginx/ssl/nginx.key;#ssl

IdentityServer4(六)授权码流程原理之SPA

ε祈祈猫儿з 提交于 2021-01-23 11:34:58
在【One by One系列】IdentityServer4(四)授权码流程中提过一句: “ 为了安全,IdentityServer4是带有PKCE支持的授权码模式 ” 我们来回顾一下授权码流程 (A)用户访问客户端,后者将前者导向认证服务器。 (B)用户选择是否给予客户端授权。 (C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。 (D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。 (E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。 --摘自阮一峰老师-理解OAuth 2.0,自认为阮老师这块已经写比较清晰了,正所谓”眼前有景道不得,崔颢题诗在上头“。 1.什么是PKCE PKCE,全称Proof Key for Code Exchange,上篇讲到SPA,这是一种没有后端服务器的原生客户端,代码都在用户本地设备上运行,比如SPA在用户浏览器上运行,Win/Mac客户端,iOS/Android APP,如果让这些原生客户端安全地存放密钥(client secret)并不现实,且容易被破解。 Implicit Flow

IdentityServer4(六)授权码流程原理之SPA

杀马特。学长 韩版系。学妹 提交于 2021-01-23 10:52:57
在【One by One系列】IdentityServer4(四)授权码流程中提过一句: “ 为了安全,IdentityServer4是带有PKCE支持的授权码模式 ” 我们来回顾一下授权码流程 (A)用户访问客户端,后者将前者导向认证服务器。 (B)用户选择是否给予客户端授权。 (C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。 (D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。 (E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。 --摘自阮一峰老师-理解OAuth 2.0,自认为阮老师这块已经写比较清晰了,正所谓”眼前有景道不得,崔颢题诗在上头“。 1.什么是PKCE PKCE,全称Proof Key for Code Exchange,上篇讲到SPA,这是一种没有后端服务器的原生客户端,代码都在用户本地设备上运行,比如SPA在用户浏览器上运行,Win/Mac客户端,iOS/Android APP,如果让这些原生客户端安全地存放密钥(client secret)并不现实,且容易被破解。 Implicit Flow

Ubuntu 编译安装LNMP (一) 安装nginx

拜拜、爱过 提交于 2021-01-23 06:42:48
创建用户组 groupadd www(组名) 创建用户 useradd -m -g www(组名) dev(用户名) || useradd -m -g www(组名) -s /bin/bash dev (省去下一步) 修改用户shell m -g vim /etc/pasword 切换用户 su 改变文件的属主 chown -R www.dev software/ 一、安装nginx 1.安装编译需要用到的库和工具 apt-get install build -essential libtool gcc automake autoconf make 2.安装 pcre,支持重写rewrite功能 源码下载地址: https://ftp.pcre.org/pub/pcre/ wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz tar -zxvf pcre-8.44.tar.gz cd pcre-8.44/ ./configure make && make install 3.安装zlib, 支持gzip压缩 源码下载地址: http://zlib.net wget http://zlib.net/zlib-1.2.11.tar.gz tar -zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11 .

Ubuntu 编译安装LNMP (三) 安装php

时光总嘲笑我的痴心妄想 提交于 2021-01-23 06:42:38
安装依赖 apt install gcc -y && apt install make -y && apt install openssl -y && apt install curl -y && apt install libbz2-dev -y && apt install libxml2-dev -y && apt install libjpeg-dev -y && apt install libpng-dev -y && apt install libfreetype6-dev -y && apt install libzip-dev -y && apt install libssl-dev -y && apt install libsqlite3-dev -y && apt install libcurl4-openssl-dev -y && apt install libgmp3-dev -y && apt install libonig-dev -y && apt install libreadline-dev -y && apt install libxslt1-dev -y && apt install libffi-dev -y 下载php源码并解压安装 wget https://www.php.net/distributions/php-7.4.9.tar

Ubuntu 编译安装LNMP (二) 安装mysql

僤鯓⒐⒋嵵緔 提交于 2021-01-23 06:28:26
安装 : ①安装依赖 sudo apt install gcc g++ libxml2 libxml2-dev libssl-dev curl libcurl4-openssl-dev libgd-dev sudo apt install numactl sudo apt install libaio-dev sudo apt install cmake 注意: MySQL8.0需要用gcc的版本为 5.3以上 ②下载源码 源码包分为带boost版和不带boost版的,方便起见直接下载带boost的。 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz tar xzv -f mysql-boost-8.0.16.tar.gz cd mysql-8.0.16 ③编译安装 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DFORCE_INSOURCE_BUILD=ON make && make install 如报错: c++: Internal error: Killed (program cc1plus) Please

使用VS2019在WSL中开发调试.NET Core

生来就可爱ヽ(ⅴ<●) 提交于 2021-01-22 16:39:21
安装WSL 1、打开WINDOWS功能,勾选子系统选项 2、打开商店搜索WSL,安装ubuntu 我这里的系统版本是:18.04 如何查看ubuntu系统版本 sudo lsb_release -a 或 cat /etc/issue 3、打开ubuntu,设置账号密码 安装.net core SDK 参考以下链接即可安装: 在Linux Ubuntu 18.04 - x64上安装.NET Core SDK 你可能会遇见的问题 报错: 'universe' distribution component is already enabled for all sources. 解决方案: sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe" 报错参考连接 等待安装完成后,输入 dotnet --info 即可查看安装的SDK情况 配置SSH sudo vim /etc/ssh/sshd_config 找到以下配置: # Authentication: LoginGraceTime 2m PermitRootLogin prohibit-password StrictModes yes PasswordAuthentication no

linux下python升级

浪子不回头ぞ 提交于 2021-01-22 15:29:04
  在安装完虚拟机后,执行命令:python -v 发现默认安装的python版本是2.7,我想用httprunner,而它只支持3.4及以上,因此开始安装python3.6,安装步骤如下: 1、 下载python3.6: wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz 2、安装python:  2.1)创建目录: # mkdir -p /usr/local/python3  2.2)解压: # tar -zxvf Python-3.6.1.tgz  2.3)进入解压后的目录,编译安装:(1) # cd Python-3.6.1 (2) # ./configure --prefix=/usr/local/python3 (3)#make (4)make install  2.4)建立软链接: ln -s /usr/local/python3/bin/python3 /usr/bin/python3  2.5)将/usr/local/python3/bin加入PATH:(1) # vim ~/.bash_profile (2) PATH = $PATH:$HOME / bin : / usr / local / python3 / bin (3)修改完使其生效: # source ~/.bash