avwo
|
777bcf69ba
|
feat: handle client/server sent events
|
2026-06-14 13:36:19 +08:00 |
|
Frank
|
14a9407b4a
|
fix: add authorityKeyIdentifier extension to fix Python SSL verification error
## 问题描述
Python 3.13+ 配合 urllib3 2.6.3 使用 Whistle 作为 HTTPS 代理时,SSL 证书验证失败:
```
urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: Missing Authority Key Identifier
```
## 根本原因
OpenSSL 3.x 和 Python 的 urllib3 对证书链验证更加严格。Whistle 动态生成的服务器证书只包含 `subjectAltName` 扩展,缺少 `authorityKeyIdentifier` 等必要扩展。
## 解决方案
为生成的证书添加完整的 X.509v3 扩展:
- `basicConstraints` (CA:FALSE)
- `keyUsage` (digitalSignature, keyEncipherment)
- `extKeyUsage` (serverAuth, clientAuth)
- `authorityKeyIdentifier` (从 ROOT_CRT 的 SKI 获取)
## 测试环境
- Python 3.13.5
- urllib3 2.6.3
- OpenSSL 3.5.5
- Node.js v24.14.0
- Whistle v2.10.2
此修复确保 Python 严格的 SSL 验证在使用 Whistle 进行 HTTPS 抓包时能够正常通过。
|
2026-03-31 15:26:04 +08:00 |
|
avwo
|
40a892cfb0
|
refactor: refine code
|
2026-03-21 22:37:04 +08:00 |
|
avwo
|
b67ec50a0d
|
refactor: refine code
|
2026-02-07 22:15:56 +08:00 |
|
avwo
|
007df8395e
|
feat: allow disable custom certs
|
2026-02-01 23:29:45 +08:00 |
|
avwo
|
c4740f3ef2
|
refactor: refine code
|
2026-01-31 07:41:12 +08:00 |
|
avwo
|
d5007f3cd9
|
refactor: refine code
|
2025-12-21 21:53:22 +08:00 |
|
avwo
|
1b77a5d59c
|
feat: install plugins
|
2025-05-31 07:59:12 +08:00 |
|
avwo
|
c3839a4d90
|
feat: install plugins
|
2025-04-03 19:43:47 +08:00 |
|
avwo
|
c2282bf8b7
|
fix: https://github.com/avwo/whistle/pull/1192
|
2025-01-20 18:15:00 +08:00 |
|
avwo
|
eae6ce353d
|
fix: https://github.com/avwo/whistle/pull/1192
|
2025-01-13 20:35:02 +08:00 |
|
avwo
|
985f2dc48a
|
feat: allow to update root ca
|
2024-07-19 21:58:51 +08:00 |
|
avwo
|
e14d8b1e0c
|
fix: https://github.com/avwo/whistle/issues/759
|
2022-07-25 17:05:09 +08:00 |
|
avwo
|
f69fc0423f
|
refactor: refine code
|
2022-05-10 20:24:26 +08:00 |
|
avwo
|
9995e83240
|
fix: add custom root info
|
2022-05-10 20:07:41 +08:00 |
|
avwo
|
b02b397980
|
refactor: refine code
|
2022-05-10 19:54:25 +08:00 |
|
avwo
|
835d6b071b
|
feat: remove .cer & .pem cert files
|
2022-05-10 19:35:29 +08:00 |
|
avwo
|
da4fb5cfe4
|
feat: allow to upload .cer .pem cert files
|
2022-05-10 19:23:58 +08:00 |
|
avwo
|
a3acf8c209
|
feat: accept .cer, .pem cert file
|
2022-05-10 16:59:57 +08:00 |
|
avwo
|
659fe2cc7d
|
feat: create root ca by ToolBox
|
2022-03-29 09:47:08 +08:00 |
|
avwo
|
a0d69507e4
|
fix: https://github.com/electron/electron/issues/21162
|
2022-02-25 15:01:17 +08:00 |
|
avwo
|
dbaff24f3c
|
refactor: refine code
|
2022-02-14 13:20:02 +08:00 |
|
leezq
|
5dbc3b0c02
|
refactor: code style , prettier format
|
2022-01-25 14:48:06 +08:00 |
|
avwo
|
43f46945a3
|
refactor: refine serialNumber
|
2022-01-02 02:03:26 +08:00 |
|
avwo
|
67ff337896
|
fix: SEC_ERROR_REUSED_ISSUER_AND_SERIAL
|
2022-01-02 01:50:14 +08:00 |
|
avwo
|
3ca42255e8
|
refactor: extract loadCert function
|
2021-12-03 01:02:31 +08:00 |
|
avwo
|
3fd4b2a26e
|
style: output cert dir
|
2021-11-26 23:02:59 +08:00 |
|
avwo
|
f9a6489dce
|
refactor: refine upload root ca
|
2021-11-26 10:39:35 +08:00 |
|
avwo
|
87e5f1192b
|
refactor: reset certs cache
|
2021-11-25 22:46:59 +08:00 |
|
avwo
|
8c7ae4eaa1
|
refactor: utimes
|
2021-11-24 19:58:51 +08:00 |
|
avwo
|
0c538341ba
|
refactor: refine code
|
2021-11-20 23:34:14 +08:00 |
|
avwo
|
4110caf892
|
refactor: limit filename length
|
2021-11-20 17:31:40 +08:00 |
|
avwo
|
0d763f978e
|
refactor: refine code
|
2021-11-20 17:27:51 +08:00 |
|
avwo
|
a81d067d41
|
refactor: refine code
|
2021-11-20 04:32:58 +08:00 |
|
avwo
|
4176085151
|
refactor: refine removeCert & updloadCerts
|
2021-11-19 21:07:49 +08:00 |
|
avwo
|
4b3d3fe4b7
|
feat: add removeCert & uploadCerts
|
2021-11-19 20:47:52 +08:00 |
|
avwo
|
19b720dce2
|
refactor: refine code
|
2021-11-19 20:35:07 +08:00 |
|
avwo
|
0b56ba598f
|
refactor: refine code
|
2021-11-19 15:51:27 +08:00 |
|
avwo
|
dbde132e99
|
refactor: prevent access to user-uploaded certificates
|
2021-11-19 15:30:04 +08:00 |
|
avwo
|
11f6e2f815
|
refactor: refine code
|
2021-11-19 15:20:15 +08:00 |
|
avwo
|
e77c00bf67
|
feat: allow update custom in non-sni request
|
2021-11-19 14:50:02 +08:00 |
|
avwo
|
20a0876d8b
|
refactor: refine code
|
2021-10-04 15:49:58 +08:00 |
|
avwo
|
bc84044444
|
refactor: allow cache certs from plugin
|
2021-10-04 13:54:15 +08:00 |
|
avwo
|
91da64cf6e
|
feat: add disableCustomCerts mode
|
2021-10-04 13:18:51 +08:00 |
|
avwo
|
ad8af581cf
|
feat: disable://captureSNI & disable://captureNoSNI
|
2021-10-03 14:42:14 +08:00 |
|
avwo
|
05a14a3698
|
feat: support remote certificate
|
2021-09-30 01:16:26 +08:00 |
|
avwo
|
cf3b6e72db
|
feat: plugin/options.getRootCA
|
2021-09-04 23:25:20 +08:00 |
|
avwo
|
9ec218aed3
|
feat: handle http h2
|
2021-08-30 09:03:20 +08:00 |
|
avwo
|
ab8b1b79a6
|
refactor: refine code
|
2021-08-28 02:47:24 +08:00 |
|
avwo
|
c029ec430b
|
feat: getHttp2Server
|
2021-08-28 02:33:54 +08:00 |
|