前言

以前就写过了, 只是写的太乱, 这篇是一个整理版. 以前的文章:

Git Bash 创建证书

PowerShell 创建证书

我已经没有用 PowerSheel 做证书了, 所以就不介绍了.

参考:

generate-trusted-ssl-certificate

Git Bash OpenSSL

OpenSSL 是最终使用的 tool, 它是 Linux 世界的东西, 要跑它最好是通过 Git.

安装 Git. Git 里面又有一个冬冬叫 Bash.

所以 Git > Bash > OpenSSL

Create .sh and .cnf

创建一个 folder 和 2 个 files

1. openssl.cnf

[ req ]
default_bits = 2048
default_md = sha256
default_days = 825
encrypt_key = no
distinguished_name = subject
req_extensions = req_ext
x509_extensions = x509_ext
string_mask = utf8only
prompt = no # The Subject DN can be formed using X501 or RFC 4514 (see RFC 4519 for a description).
# Its sort of a mashup. For example, RFC 4514 does not provide emailAddress. [ subject ]
countryName = MY
stateOrProvinceName = Johor
localityName = Skudai
organizationName = Stooges Web Design
OU = Engineering # Use a friendly name here because it's presented to the user. The server's DNS
# names are placed in Subject Alternate Names. Plus, DNS names here is deprecated
# by both IETF and CA/Browser Forums. If you place a DNS name here, then you
# must include the DNS name in the SAN too (otherwise, Chrome and others that
# strictly follow the CA/Browser Baseline Requirements will fail). commonName = 192.168.1.152
emailAddress = stoogeswebdesign@gmail.com # Section x509_ext is used when generating a self-signed certificate. I.e., openssl req -x509 ... [ x509_ext ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer # You only need digitalSignature below. *If* you don't allow
# RSA Key transport (i.e., you use ephemeral cipher suites), then
# omit keyEncipherment because that's key transport. basicConstraints = critical, CA:TRUE
keyUsage = critical, digitalSignature, keyEncipherment, cRLSign, keyCertSign
subjectAltName = @alternate_names
extendedKeyUsage = serverAuth # RFC 5280, Section 4.2.1.12 makes EKU optional
# CA/Browser Baseline Requirements, Appendix (B)(3)(G) makes me confused
# In either case, you probably only need serverAuth. #extendedKeyUsage = TLS Web Server Authentication # Section req_ext is used when generating a certificate signing request. I.e., openssl req ... [ req_ext ]
subjectKeyIdentifier = hash
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
subjectAltName = @alternate_names
nsComment = "OpenSSL Generated Certificate" # RFC 5280, Section 4.2.1.12 makes EKU optional
# CA/Browser Baseline Requirements, Appendix (B)(3)(G) makes me confused
# In either case, you probably only need serverAuth.
# extendedKeyUsage = serverAuth, clientAuth [ alternate_names ]
IP.1 = 192.168.1.152
DNS.1 = *.192.168.1.152
DNS.2 = 192.168.1.152

它是一个 config file, 把 IP 和公司信息换掉就可以了。

2. generate.sh

它是一个 command file, 内容是

#!/bin/bash

openssl req -days 825 -config openssl.cnf -new -x509 -out 192.168.1.152.crt -keyout 192.168.1.152.key

config link to 上面的 openssl.cnf, IP 换掉就可以了。

825 days 是因为 IOS 的限制,不能放太久。

openssl.cnf 里虽然也 set 了 default_days 但是,那个好像不适用于 openssl req command,所以这里还需要 set 一次。

for localhost

如果是做 localhost certificate,openssl.cnf 里的 IP.1 需要放 127.0.0.1,其它的地方把 192.168.1.152 换成 localhost 就可以了。

Run command

对着 folder 打开 Git Bash

然后输入 command

bash generate.sh

它会生成 2 个 files, .crt 和 .key.

Convert to .pfx

继续输入 command

openssl pkcs12 -export -out 192.168.1.152.pfx -inkey 192.168.1.152.key -in 192.168.1.152.crt

在输入密码就可以了.

Git Bash OpenSSL – Generate Self Signed Certificate的更多相关文章

  1. 解决git bash闪退问题 报openssl错误

    问题描述:今天安装git之后发现Git Bash工具闪退. 于是试了各种办法之后,最后终于解决. 背景描述:git 下载地址:https://git-scm.com/download/win 下载成功 ...

  2. 执行Git命令时出现各种 SSL certificate problem 的解决办法

    执行Git命令时出现各种 SSL certificate problem 的解决办法 来源  https://www.cnblogs.com/chenzc/p/5842932.html 比如我在win ...

  3. Generate a Push Certificate

    To send Push notification to an application/device couple you need an unique device token (see the O ...

  4. Git Manual / Git使用手册 / Git, GitLab, Git Bash, TortoiseGit (建议全文复制到Word文档中通过导航窗格查看)

    Git使用手册 目录 1     引言 2     Git.GitLab简介 2.1      Git 2.2      GitLab 2.3      Git基本概念 3     运行环境 4    ...

  5. FW 执行Git命令时出现各种 SSL certificate problem 的解决办法

    比如我在windows下用Git clone gitURL 就提示  SSL certificate problem: self signed certificate 这种问题,在windows下出现 ...

  6. Git Bash 常用指令

    1. 关于git bash常用指令 推荐博客: 史上最简单的 GitHub 教程  猴子都能懂的GIT入门 Learn Version Control with Git for Free Git Do ...

  7. git 入门教程之 git bash 竟然不支持 tree 命令

    开门见山 git bash 是 Windows 用户安装 git 时默认安装的命令行工具,不仅界面漂亮功能也不错,大多数情况下可以替代 Windows 原生的 cmd 命令行. 然而,git bash ...

  8. PHP curl出现SSL certificate problem: self signed certificate in certificate chain

    使用PHP curl请求https的时候出现错误“SSL certificate problem: self signed certificate in certificate chain”,这种情况 ...

  9. SSL certificate problem: self signed certificate

    执行Git命令时出现各种 SSL certificate problem 的解决办法 2014年10月11日 10:45:40   比如我在windows下用git clone gitURL 就提示  ...

  10. cmder git bash 使用

    cmder 是一款 windows 下的命令集合软件,它可以集合各种系统下的命令,并且操作非常快速方便. 安装有两个版本,一个是简化版(4.27M),一个是完全版(75.7M),它们的唯一区别:完全版 ...

随机推荐

  1. JavaScript实现防抖函数

    什么是防抖?防抖就是避免快速多次点击后执行过多的函数调用,就是本来你点击支付宝支付后不小心在点击一次,导致支付函数被调用了两次,还都执行了,付了两次钱. 防抖函数的思想就是将函数延迟调用,延迟时间内不 ...

  2. 记一次 Redisson 线上问题 → 你怎么能释放别人的锁

    开心一刻 今天,我的又一个好哥们脱单了,只剩下我自己单身了 我向一个我喜欢的女生吐苦水 我:我这辈子是找不到女朋友了 她:怎么可能,你很优秀的,会有很多女孩子愿意当你女朋友的 我内心窃喜,问道:那你愿 ...

  3. 微软CrowdStrike驱动蓝屏以及内核签名

    原因 当Windows操作系统遇到严重错误导致系统崩溃时,屏幕显示为蓝色,通常伴有错误代码和信息,这被称为"蓝屏死机"(Blue Screen of Death,简称BSOD) h ...

  4. 浅谈 I/O 与 I/O 多路复用

    1.基础知识 网络编程里常听到阻塞IO.非阻塞IO.同步IO.异步IO等概念,总听别人聊不如自己下来钻研一下.不过,搞清楚这些概念之前,还得先回顾一些基础的概念. 下面说的都是Linux环境下,跟Wi ...

  5. scratch打乒乓球源码免费下载

    点击下载

  6. 在Centos7中使用一键脚本安装Oracle11g

    在Centos7中使用一键脚本安装Oracle11g 1. 环境准备 1.1 系统版本:Centos7.9(2009) 1.2 Oracle版本:Oracle 11g 11.2.0.4 1.3 网络需 ...

  7. Jmeter函数助手11-BeanShell

    BeanShell函数用于简单的计算或者运行编程脚本. 表达式求值:填入脚本代码或脚本文件${__BeanShell(source("test.bsh"))} 存储结果的变量名(可 ...

  8. 【Keepalived】KP + NGINX 多机热备学习

    案例搭建 环境是三台机器,两台也可以 最后一个IP是测试的VIP 192.168.124.21 centos6-1 192.168.124.22 centos6-2 192.168.124.23 ce ...

  9. 【Uni-App】底部栏踩坑

    一.Page.json一定要注册这个页面 Uni-App通过page.json找到,解析不到这个页面文件是没用的 二.配置tabBar属性 "tabBar":{ "col ...

  10. 【Scala】08 模式匹配 Match Case

    由Scala封装的一套match case处理,功能比原Java的更为强大 package cn import scala.collection.immutable.IndexedSeqDefault ...