如何在Ionic 3的iOS中实现SSL密钥固定?
我对iOS课程没有太多的知识。我正在构建一个需要SSL固定的iOS应用程序(Ionic 3)。谷歌的大多数例子都基于swift。我可以知道这些步骤吗?或者有人可以提供一些有关iOS SSL固定的链接吗 PS:我的服务器中已经有一个证书。此外,我还为Android进行了SSL固定和网络安全配置。裁判。工作正常如何在Ionic 3的iOS中实现SSL密钥固定?,ios,ionic3,ssl-certificate,public-key-pinning,Ios,Ionic3,Ssl Certificate,Public Key Pinning,我对iOS课程没有太多的知识。我正在构建一个需要SSL固定的iOS应用程序(Ionic 3)。谷歌的大多数例子都基于swift。我可以知道这些步骤吗?或者有人可以提供一些有关iOS SSL固定的链接吗 PS:我的服务器中已经有一个证书。此外,我还为Android进行了SSL固定和网络安全配置。裁判。工作正常 提前感谢。Ionic 5.4.15版本解决方案 要在ionic中启用SSL固定,请在根文件夹中创建一个目录,例如“certificates”,并将所有证书放在此文件夹中。 重要提示:此文件夹
提前感谢。Ionic 5.4.15版本解决方案 要在ionic中启用SSL固定,请在根文件夹中创建一个目录,例如“certificates”,并将所有证书放在此文件夹中。 重要提示:此文件夹中的所有证书必须具有后缀.cer 然后在根项目目录中修改angular.json 将此部分附加到“资产”数组的所有发生项 然后删除根项目中的www目录并运行“ionic build”, 它将在您的www文件夹中生成新的子目录“certificates” 在Typescript中使用证书: 我正在使用ionic原生http和cordova高级http插件 安装:
ionic cordova plugin add cordova-plugin-advanced-http
npm install @ionic-native/http
在根目录xyz.module.ts文件中导入:
import { HTTP } from '@ionic-native/http/ngx';
将其附加到提供程序:
providers: [
StatusBar,
SplashScreen,
**HTTP**,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
导入页面/组件中的xyz.ts文件:
import { HTTP } from '@ionic-native/http/ngx';
在构造函数中声明:
constructor(private http: HTTP) {}
在提出任何请求之前锁定证书:
async ngOnInit() {
await this.platform.ready();
this.advHttp.setServerTrustMode('pinned').then((res: any) => {
}, (error) => {
this.helpers.showError(error);
});
this.advHttp.setRequestTimeout(5);
}
现在您已经准备好了,可以使用https请求了!
文件:
您解决了问题吗?没有。。!对不起(我仍然讨厌iOS。可能cordova plugin advanced http会按照他们的官方文件工作,但我的ionic 3项目是用@angular/http开发的。所以我需要改变所有的事情。可能我被夹在了两者之间。
async ngOnInit() {
await this.platform.ready();
this.advHttp.setServerTrustMode('pinned').then((res: any) => {
}, (error) => {
this.helpers.showError(error);
});
this.advHttp.setRequestTimeout(5);
}