- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有这两个文件(certificate.pem 和private_key.pem),它们由我使用的 API 提供。我需要使用这些文件在 Swift 项目中签署我的 http 请求。
我可以用 Postman 做到这一点。我在 Postman 的添加客户端证书选项卡中添加了 certificate.pem 作为 CRT 文件和 private_key.pem 作为 KEY 文件。当我在 Postman 上发送带有 header 和参数的 PUT 请求时,我从 Web 服务器收到了成功消息。
但是当我使用 Swift3 和 Alamofire 在 Xcode 中尝试所有这些操作时,我总是收到错误消息。你能帮我如何将这个 PEM 文件固定到 http 请求吗?
最佳答案
Alamofire 不直接支持 PEM 文件。您需要先将它们转换为 DER 文件,这在 here 中有说明。 .然后,您需要将新的 DER 文件添加到您的应用程序目标中。最后,您按照 Security 中的说明进行操作README 部分以启用服务器信任策略。
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"test.example.com": .pinCertificates(
certificates: ServerTrustPolicy.certificates(),
validateCertificateChain: true,
validateHost: true
),
"insecure.expired-apis.com": .disableEvaluation
]
let sessionManager = SessionManager(
serverTrustPolicyManager: ServerTrustPolicyManager(
policies: serverTrustPolicies
)
)
可以找到 ServerTrustPolicy.certificates()
调用 here它从 bundle 的 CER 和 DER 文件中加载所有数据,并将它们用于固定。
希望这对您有所帮助。 🍻
关于swift - 如何固定 certificate.pem 和 private_key.pem 文件以在 Swift 中签署 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49872849/
我正在将 Firebase 云消息传递与 Node.js 结合使用。我只想连接到 firebase 云消息传递我收到此错误消息: /home/t/ws/js/webserver/blitzer/nod
Updates [X] I discovered this happen when TLS::credentials creds is declared onglobal scope but if I
我现在在 Google Play 中有一个应用程序,我需要发布这个应用程序的新版本 2。 如何使用 private_key.pepk 签署 android 应用程序? 我丢失了 Java keysto
我可以在 Nodejs 中创建类似下面的签名代码吗? # Load PRIVATE key private_key = OpenSSL::PKey::RSA.new(File.read(Ra
我可以在 Nodejs 中创建类似下面的签名代码吗? # Load PRIVATE key private_key = OpenSSL::PKey::RSA.new(File.read(Ra
#!/usr/bin/env python import OpenSSL.crypto as crypto import sha import base64 KEY_BIT_LENGTH = 1024
在部署 AWS 机器后,我在使用 terraform 的配置程序执行命令时遇到问题。使用以下配置时,我看到一个未找到 key 的异常: ... provisioner "remote-ex
我丢失了 keystore 的密码 :( 而且我无法再在 Google Play 商店上上传更新。 我不能强制它,因为我知道它有 20 个字符,强制它会很长。 我还有private_key.pep
我正在尝试在将某些内容添加到我的 Firebase 数据库后发出推送通知。 我已经这样做了,引用this blog 。如果我的数据库中添加了某些内容,我正在尝试发出推送通知 以下代码用于在 fireb
我有这两个文件(certificate.pem 和private_key.pem),它们由我使用的 API 提供。我需要使用这些文件在 Swift 项目中签署我的 http 请求。 我可以用 Post
我是一名优秀的程序员,十分优秀!