TABLE OF CONTENTS
- 1、生成自签名CA(Self-signed CA)来签发证书
- 2、生成凭证签发请求CSR(Certificate Signing Request)
- 4、使用Self-signed CA签发localhost证书
- SSL/TLS证书相关的一些概念
文章详细内容
1, java 9+ 自带 httpclient(我比较喜欢这种链式调用的,但是 java8 没有)
2, apache 原生 httpclient
3, 封装过的 apache httpclient
4, OkHttp
5, Feign
6, RestTemplate
7, Retrofit
jsoup
webclient
RxJava
EasyOKHttp
Unirest
okhttp+retrofit+rxjava
请求和资源的转发是指在一个过滤器中,通过调用 RequestDispatcher 的 forward 方法将请求和响应传递给其他资源(例如,另一个 Servlet 或 JSP 页面)。这个转发的过程可能导致过滤器链的其他过滤器再次被调用,从而可能引起一些逻辑的多次执行。继承 OncePerRequestFilter 主要是为了应对过滤器链中的多次调用问题
1 | public class ExampleFilter extends OncePerRequestFilter { |
OpenSSL生成自签名证书
1、生成自签名CA(Self-signed CA)来签发证书
更新了openssh,安装Java环境(确保JDK中的keytool可用)后,使用这个虚拟机作为自签名CA来签发Cert
1 | openssl req -x509 -sha256 -days 3650 -newkey rsa:4096 -keyout rootCA.key -out rootCA.crt |
2、生成凭证签发请求CSR(Certificate Signing Request)
站点在向全文机构申请证书前准备的自己的资料(包含公钥但不应当包含私钥)。CA基于CSR签发证书(Cert) 。
1 | openssl req -new -newkey rsa:4096 -keyout localhost.key -out localhost.csr |
4、使用Self-signed CA签发localhost证书
(1)获得 Cert 所需的其它信息
1 | cat > localhost.ext << EOF |
(2)使用 Self-signed CA 签发 localhost 证书
1 | openssl x509 -req -CA rootCA.crt -CAkey rootCA.key -in localhost.csr -out localhost.crt -days 365 -CAcreateserial -extfile localhost.ext |
SSL/TLS证书相关的一些概念
KeyManager:管理本地密钥库中的密钥(私钥),用于配置SSL/TLS握手中的客户端证书,使其能够进行双向SSL/TLS认证。
keyPassword:访问客户端证书的私钥的密码。通常通过非对称加密算法生成密钥对,为了保护私钥,通常会设置一个密码。
KeyStore:用于存储密钥和证书的容器,既可以包含客户端证书和私钥(由KeyManager使用),也可以包含信任的服务器证书(由TrustManager使用)。
TrustManager:配置信任的证书,用于验证服务器的身份。
TrustStrategy:一个策略接口,用于定义是否信任远程服务器的证书。可以自定义信任策略,例如接受所有证书、仅接受特定颁发机构的证书等
声明:本站所有文章均为原创或翻译,遵循署名 - 非商业性使用 - 禁止演绎 4.0 国际许可协议,如需转载请确保您对该协议有足够了解,并附上作者名 (Tsukasa) 及原文地址