https代理服务器(六)再次java动态签发【成功】

news/2025/10/28 23:38:29/文章来源:https://www.cnblogs.com/silyvin/p/19172950

https代理服务器(六)再次java动态签发【成功】

1

X500Name canamem = new X500Name(caCertificate.getSubjectX500Principal().getName());

改为

X500Name issuerName = new JcaX509CertificateHolder(caCertificate).getSubject();

否则写入keystore时报错 KeyStoreException: Certificate chain is not valid

 

2

GeneralNames generalNames = new GeneralNames(
new GeneralName[]{new GeneralName(GeneralName.dNSName, subject),
new GeneralName(GeneralName.dNSName, "hhh.com")}
);
certificateBuilder.addExtension(
org.bouncycastle.asn1.x509.Extension.subjectAlternativeName,
false,
generalNames
);

必须,iphone实测

 

3

System.setProperty("javax.net.ssl.trustStore", "rootCA.pem");

这一句不能加

 

/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home!/java.base/sun/security/ssl/TrustStoreManager.class

static {
fileSep = File.separator;
defaultStorePath = GetPropertyAction.privilegedGetProperty("java.home") + fileSep + "lib" + fileSep + "security";
defaultStore = defaultStorePath + fileSep + "cacerts";
jsseDefaultStore = defaultStorePath + fileSep + "jssecacerts";
}

sun.security.ssl.TrustStoreManager.TrustStoreDescriptor#createInstance

String storePropName = System.getProperty("javax.net.ssl.trustStore", TrustStoreManager.TrustStoreDescriptor.jsseDefaultStore);

 否则好像这个地方报错,不记得了

public static SSLContext getSslContextSuper(String host) throws Exception {
SSLContext sslContext = SSLContext.getInstance("TLSv1");
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
KeyStore ks = CertificateGenerator.genkeyStore(host);
char[] passArray = "changeit".toCharArray();
kmf.init(ks, passArray);
sslContext.init(kmf.getKeyManagers(), null, null);
return sslContext;
}

 

new Date(System.currentTimeMillis() - 60000),  

服务器证书starttime给扰动,否则iphone和mac时间不一样或者传输太快iphone会判定证书过期

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/949215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[AGC032D] Rotation Sort 题解

QwQ[AGC032D] Rotation Sort 题解 把循环移位看作是将某个数向左或右插入到任意位置,显然一个数最多被移动一次。 那么该序列中一共有三种数:向左移动 向右移动 不动假设已知每个数属于哪一种,考虑如何判定该方案是…

[AGC024E] Sequence Growing Hard 题解

QwQ[AGC024E] Sequence Growing Hard 题解 首先手玩一下样例,考虑在哪些位置插入是合法,假设在 \(pos\) 位置前插入 \(x\),则如果 \(x > a_{pos}\),则显然字典序会变大,否则如果 \(a_{pos} = x\) 需要找到 \(p…

新学期每日总结(第15天)

今日 相较昨日 学习下载数据库

实验2 现代C++编程初体验

任务1 源代码 T.h#pragma once#include <string>// 类T: 声明 class T { // 对象属性、方法 public:T(int x = 0, int y = 0); // 普通构造函数T(const T &t); // 复制构造函数T(T &&t); /…

P7154 [USACO20DEC] Sleeping Cows P 题解

QwQP7154 [USACO20DEC] Sleeping Cows P 题解 把 \(s, t\) 升序排序。 容易发现每一个 \(t_i\) 可匹配的 \(s_j\) 对应了一个前缀。 考虑刻画极大匹配,一个匹配是极大的当且仅当最大的没有被匹配的 \(t\) 小于最小的没…

Java流程控制——switch多选择结构

Java流程控制——switch多选择结构swtich多选择语句 多选择结构的另一实现方式为switch-case语句 switch-case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支 基本结构示例 switch(expression){case…

P3607 [USACO17JAN] Subsequence Reversal P 题解

好题P3607 [USACO17JAN] Subsequence Reversal P 题解 如果我们顺序对翻转的子序列做 DP,那么在末尾新增一个数会影响前面所有数的交换对应关系。 思考这个翻转的结构,前后对应的数交换,如果我们同时加入前后两个对…

示性函数2

Problem 设有一个大小为 $ n $ 的集合,进行 $ n $ 次操作,每次从集合中随机选取一个元素并记录之,求所有操作结束后,所记录的元素中互不相同的元素的个数的期望 $ E(X) $。分析 通常示性函数在应用与解决此类问题时…

随笔/杂记

随便写写记记 罗素茶壶:一个主张的不可证伪性,并不能成为相信它的理由。

k3s 基础 —— 将 traefik 替换为 ingress-nginx

k3s 基础 —— 将 traefik 替换为 ingress-nginx部署 创建 ingress-nginx.yaml apiVersion: helm.cattle.io/v1 kind: HelmChart metadata:name: ingress-nginxnamespace: kube-system spec:chart: https://<yourcd…

使用 Swift 解析验证码(结合 Tesseract OCR)

环境准备 1.1 安装 SwiftmacOS 自带 Swift,如需更新,可使用: xcode-select --install 更多内容访问ttocr.com或联系1436423940 然后检查 Swift 版本: swift --version Linux 用户可以从 Swift 官方网站 下载对应版…

常见排序算法Java实现

/**常见排序算法汇总 */ public class SortAlgorithms { /**冒泡排序(Bubble Sort) 思想:相邻元素两两比较,大的往后沉。 时间复杂度:O(n^2) 稳定性:稳定 */ public static void bubbleSort(int[] arr) { for (i…

题解:qoj1875 Nein

题意:给出 \(k,n\),问第 \(n\) 个是 \(10^k-1\) 的倍数的且每个数字不含有 \(9\) 的数是多少。\(k\le 18,n\le 10^{18}\)。 做法: 首先先跳出一个很显然的想法,一开始看这个东西觉得应该是拆成 \(x10^k-x\) 去讨论…

【uni-app】申请高德地图key,封装map.js,实现H5、iOS、Android通过getlocation获取地图定位信息(摘)

一、map组件基础使用<template><view class="contact"><image class="img" :src="formData.headImg"></image><view class="info"><view @…

.NET开发上手Microsoft Agent Framework(一)从开发一个AI美女聊天群组开始

前言 在AI快速发展的今天,微软推出了多个AI开发框架,从早期的AutoGen到Semantic Kernel,再到最新的Microsoft Agent Framework。很多开发者可能会有疑问:为什么微软要推出这么多框架?它们之间有什么区别?本文将通…

10/28

10/28今天在工程实训里学习了金属工艺加工,学习了java的相关网课

大学四年的学费/生活费自足攻略

1997年夏天带着通过亲戚朋友筹集的学费4000元踏上了北上兰州的旅程。我独自一人第一次穿越3000公里来到兰州,办好入学手续住进宿舍。虽然没有政和的老乡,但是有几位南平的老乡来找我,特别是建瓯话和政和话是一样的,…

175天 隧道技术篇防火墙组策略FRPNPSChiselSocks代理端口映射C2上线

三种工具 frp/NPS/Chisel 不用过多的纠结去使用哪一款工具 frp的C2上线 解决的问题: 1.C2上线 2.实现信息收集(两个) 这边可以使用CS生成一个47.xx.xx.xx的后门,然后搭建frp后,进行上线 下面相当于是把端口映射出…

10.28每日总结

今天的主要课程有人机交互技术,软件构造,软件企业文化。完成了上周机器学习的作业以及企业文化的报告,软考准备开始专精刷题里,加油!