iOS 上的自签名证书
Self-signed certificates on iOS
https://cordova.apache.org/docs/en/8.x/guide/appdev/security/index.html 提到
The reason is that accepting self-signed certificates bypasses the
certificate chain validation, which allows any server certificate to
be considered valid by the device.
- 这是否意味着一旦 iOS 设备信任 任何 自签名证书,任何 SSL 流量(来自任何应用程序)都不安全?
- 如果是,Apple 推荐的处理方式是什么(我
相信我无法阻止用户信任自签名
任何原因的证书)。我能以某种方式检查是否有这样的
证书是可信的(在这个例子中我使用 Cordova)。
- 或者这是否意味着仅对于应用自签名证书的连接不执行 SSL 验证?
服务器上安装了 SSL。所以这是关于不是由某些 CA(证书颁发机构)颁发的 SSL 证书。正确的证书是由某些真实的 CA 颁发的证书,例如 Verisign,以便 Android 或 iOS 设备可以通过验证信任链来验证它。
这不涉及移动设备本身安装的任何证书,iOS 或 Android。
进一步澄清自签名证书和 ca 证书检查 this SO answer。
在 iOS 上使用 Cordova 时,如果您想使用自签名证书,则必须将此代码添加到您的应用中。
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return YES;
}
@end
大概就是这个意思
The reason is that accepting self-signed certificates bypasses the
certificate chain validation, which allows any server certificate to
be considered valid by the device.
与 Android 不同,这是一个全有或全无,一旦您添加所有验证都将被跳过。
添加只会影响您的应用程序,不会影响其他应用程序,但它会影响您的 WebView 所做的所有连接。因此,它使您的应用程序高度不安全,因为人们可以轻松地进行中间人攻击。
https://cordova.apache.org/docs/en/8.x/guide/appdev/security/index.html 提到
The reason is that accepting self-signed certificates bypasses the certificate chain validation, which allows any server certificate to be considered valid by the device.
- 这是否意味着一旦 iOS 设备信任 任何 自签名证书,任何 SSL 流量(来自任何应用程序)都不安全?
- 如果是,Apple 推荐的处理方式是什么(我 相信我无法阻止用户信任自签名 任何原因的证书)。我能以某种方式检查是否有这样的 证书是可信的(在这个例子中我使用 Cordova)。
- 或者这是否意味着仅对于应用自签名证书的连接不执行 SSL 验证?
服务器上安装了 SSL。所以这是关于不是由某些 CA(证书颁发机构)颁发的 SSL 证书。正确的证书是由某些真实的 CA 颁发的证书,例如 Verisign,以便 Android 或 iOS 设备可以通过验证信任链来验证它。
这不涉及移动设备本身安装的任何证书,iOS 或 Android。
进一步澄清自签名证书和 ca 证书检查 this SO answer。
在 iOS 上使用 Cordova 时,如果您想使用自签名证书,则必须将此代码添加到您的应用中。
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return YES;
}
@end
大概就是这个意思
The reason is that accepting self-signed certificates bypasses the certificate chain validation, which allows any server certificate to be considered valid by the device.
与 Android 不同,这是一个全有或全无,一旦您添加所有验证都将被跳过。
添加只会影响您的应用程序,不会影响其他应用程序,但它会影响您的 WebView 所做的所有连接。因此,它使您的应用程序高度不安全,因为人们可以轻松地进行中间人攻击。