証明書からSSL証明書固定コマンドを取得する

証明書からSSL証明書固定コマンドを取得する

PEM形式の新しい証明書があります。 iOSが期待する形式をどのように取得しますか(OpenSSLを使用して?)? (例:Alamofire/source/ServerTrustEvaluation.swift) 私は次のようなものを使ってみました。

openssl x509 -in newcertificate.crt -outform der |openssl dgst -sha256 -binary |openssl enc -base64

しかし、iOSライブラリはデバッグなどの出力を生成しません。もちろん、ライブラリのデバッグから固定を取得できますが、OpenSSLコマンドを使用して同じ固定を取得したいと思います。

答え1

iOSにWebページから証明書をロードさせる予定の場合は、Webサーバーが正しいMIMEタイプを提供していることを確認するだけです。フォーマットされた証明書の場合、pemMIMEタイプはですapplication/x-x509-ca-cert。 MIMEタイプが正しい場合、iOSはPEM形式の証明書をそのまま受け入れて「受け入れますか」というプロンプトを表示し、証明書のみを含む最小の「プロファイル」としてインストールできます。

iOSに証明書とその秘密鍵を提供する必要がある場合(つまり、一部のサービスの身元を確認するのではなく、実際に認証に証明書を使用するために証明書が必要な場合)、証明書と秘密鍵の両方をパッケージ化する必要があるかもしれません。キー。キーは単一のPKCS#12ファイル(サフィックス.pfxまたは.p12)に保存され、MIMEタイプとして提供されますapplication/x-pkcs12。次のコマンドを使用してPKCS#12形式に変換できますopenssl pkcs12 -exportman pkcs12詳細についてはをご覧ください。

.mobileconfig別のオプションは、サフィックス(および対応するMIMEタイプ)を使用して証明書をapplication/x-apple-aspen-configAppleスタイルの「プロファイル」にラップすることです。しかし、ファイルを生成する.mobileconfigのに必要なツールがなければ、ファイルの生成は難しいです。ファイルは特定の構造を持つXMLファイルであり、オプションで署名できる.mobileconfigAppleファイルです。plist

関連情報