@ capgo/ 电容器- sl- pinning
将 SSL 证书 Pinning 添加到您的 Capacitor app 在 iOS 和 Android 上的本地 HTTP 请求中, 因此您的 API 流量只信任自己的证书 .
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-ssl-pinning在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 加入@capgo/capor-sl-pinning到我的Capacitor app,并把它接上。" 代理设置指南 • 妇女 主机磁共振
主要特点
- 仅配置: 列表证书文件
plugins.SSLPinning.certs内capacitor.config。 。 。 . - 电容Http: 指针适用于
CapacitorHttp当启用时请求,并列出至少一个证书. - 同步钩子数字 :
cap sync复制证书,并将 PEM 文件转换为 iOS DER . - 不适用情况数字 :
excludedDomains让选择的 URL 跳过 Pinning . - 检查数字 :
getConfiguration()返回活动本地配置. - 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 在网上不可用.
密码 SSL Pinning 通过与 Capacitor 8 应用程序的集成将证书 Pinning 带给 Capacitor 8 应用程序 CapacitorHttp (原始内容存档于2019-10-12). Android and iOS.
执行遵循Ionic SSL 平接安装流并使用相同的 plugins.SSLPinning 已记录的配置形状 ionic.io (英语)。 。 。 .
文档
这里有最完整的医生: https://capgo.app/docs/plugins/ssl-pinning/ 互联网档案馆的存檔,存档日期2013-12-02
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-ssl-pinning` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
bun add @capgo/capacitor-ssl-pinning
bunx cap sync
配置
启用 Capacitor HTTP 截取并声明相对于您的应用根的证书文件 :
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
CapacitorHttp: {
enabled: true,
},
SSLPinning: {
certs: ['sslCerts/production/primary.cer', 'sslCerts/production/backup.der'],
excludedDomains: ['https://analytics.google.com'],
},
},
};
export default config;
期间 bunx cap sync,插件将配置的证书复制到 webDir/certs,这使得两个本土执行都从捆绑的应用资产中加载. 两者 .cer 财务报告和审定财务报表 .der 支持; PEM .cer 文件会自动转换为iOS的DER.
使用量
让 HTTPS 调用 CapacitorHttp数字 :
import { CapacitorHttp } from '@capacitor/core';
const response = await CapacitorHttp.get({
url: 'https://api.example.com/health',
});
如果服务器证书与被绑定的证书之一不符,则本土请求失败.
行为
- Android 注射被钉
SSLSocketFactory除非 URL 匹配 HTTP 请求excludedDomains。 。 。 . - iOS 将默认的 Capacitor HTTP 处理器以固定键交换
URLSession代表并同时通过Capacitor插件钩子回答WebView认证挑战. - Web只暴露出检查助手;浏览器不支持这种本土的打针行为.
API 密码
用于检查 SSL 披针配置的 CAPI .
本地强制执行自动适用于 CapacitorHttp 请求:
plugins.CapacitorHttp.enabled实值trueplugins.SSLPinning.certs包含至少一个证书
获取配置 ()
getConfiguration() => Promise<SSLPinningConfigurationState>
返回插件可见的当前本地配置 .
回返情况: Promise<SSLPinningConfigurationState>
获取 PluginVersion ()
getPluginVersion() => Promise<PluginVersionResult>
返回本地执行版本标记 .
回返情况: Promise<PluginVersionResult>
接口
SSLPinning 配置状态
静态 SSL pinning 配置目前可见于插件 .
| Prop | 类型 | 说明 |
|---|---|---|
configured | boolean | 是否配置至少一个证书用于本地 Pinning . |
certs | string[] | 证书路径从 capacitor.config.* 相对应用根. |
excludedDomains | string[] | 应绕过 SSL pinning 的完全合格 URL . |
插件变压器
插件版本有效载荷 .
| Prop | 类型 | 说明 |
|---|---|---|
version | string | 版本标识符由平台执行返回. |