Embedded.mobileprovisionファイルの開発者証明書を解析しようとしています。最初に使用します
security cms -D -i embedded.mobileprovision
base64開発者証明書文字列を取得します。
次に、文字列を64文字ごとに分割し、dev.cerという名前のファイルに保存しました。
最後に、最初の行に-----BEGIN CERTIFICATE-----
を追加し、ファイルの最後に-----END CERTIFICATE-----
を追加します。
私のMacコンピューターでは、dev.cerファイルを右クリックすると、開発者情報がすべて表示されます。ただし、openssl x509 -in dev.cer -text -noout
を使用すると、エラーが発生します。
unable to load certificate
69721:error:0906D066:PEM routines:PEM_read_bio:bad end line:/BuildRoot/Library/Caches/com.Apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.6/src/crypto/pem/pem_lib.c:747:
Dev.cerファイルは次のとおりです。
-----BEGIN CERTIFICATE-----
MIIFljCCBH6gAwIBAgIIIP7GMO9cWzYwDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
HhcNMTcwNDI5MDMzMDA4WhcNMTgwNDI5MDMzMDA4WjCBiTEaMBgGCgmSJomT8ixk
AQEMCk1ENFA0UTg1WlExMzAxBgNVBAMMKmlQaG9uZSBEZXZlbG9wZXI6IGFtbW1p
IGFtbW1pIChXM1BSS1JDVDRRKTETMBEGA1UECwwKVktRNTZVQ0c4ODEUMBIGA1UE
CgwLYW1tbWkgYW1tbWkxCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAwudboPuPnImOssBCw9vISRnnivreVwOuDAu77u47zIU8uTag
bzktX6pF54YToSLQHeOaNNQfZ7idccU2DKVBr3etz/++ca4HNadeUaEm2VWW4kEq
3iKIo1wZZhJJR6bQl4q797U0+f7eEXLKD4fjfidEF+ceAxAsX5YIuokq3K/B+XW3
tKk7D4nCaaCyJ9/+aJkFKT/oOxWRD0NYi5vXpni/3Plj5Qu3kDGrTUQaGCXXjRrA
E3mOVS4M2W5sFoOUpBxcfK7ajs+HUZNp0Gvb04OeD4O0lLTxcNu6omhG3MzOo81F
T+bkdxLM7XkIbNlIjYhyxGRynpgAKmiR9B/oeQIDAQABo4IB8TCCAe0wPwYIKwYB
BQUHAQEEMzAxMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5hcHBsZS5jb20vb2Nz
cDAzLXd3ZHIwMTAdBgNVHQ4EFgQUF8T1dPnBmZfKfG0+lHtczMuGy9owDAYDVR0T
AQH/BAIwADAfBgNVHSMEGDAWgBSIJxcJqbYYYIvs67r2R1nFUlSjtzCCAR0GA1Ud
IASCARQwggEQMIIBDAYJKoZIhvdjZAUBMIH+MIHDBggrBgEFBQcCAjCBtgyBs1Jl
bGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMg
YWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1z
IGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBj
ZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMDYGCCsGAQUFBwIBFipo
dHRwOi8vd3d3LmFwcGxlLmNvbS9jZXJ0aWZpY2F0ZWF1dGhvcml0eS8wDgYDVR0P
AQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMDMBMGCiqGSIb3Y2QGAQIB
Af8EAgUAMA0GCSqGSIb3DQEBCwUAA4IBAQA1//RUQ+hnCxfzSKO13qtuSb4IUrY5
bjkRKIAUlxN5aYVN5NIzCGxmahlDA/Rjw8MLVA8dWbT0QMSqx5IXC+Ov3JNZlkL0
5+RBuZEtZL7IZp0L3ZrCFtuizaunH9fZWbyFyfLACIYqZqP40N1+wIx1l4Es65Zu
WSeDeQMutda8DpmtCJhrnod9B1vfvDc3FUSmbJbvkLFh2UCgqtE9moLYI8qFMzqe
CQUJdPGdE+2WNv0wM8/cFIG/audSvEADKg1DgO+j6oP+urUe1gLsyzyv10J7/XA4
nmDuP1UNG7O7ADbdEOxhRiB96ZNwgcw9Q0wv9H9jMa+NNti6SxLud2+B
-----END CERTIFICATE----
ところで、オンライン証明書デコーダーを使用してdev.cerをデコードしましたが、うまく機能します。 URLは次のとおりです。
https://www.sslshopper.com/certificate-decoder.html
このサイトはopensslの使用を推奨しましたが、失敗しました。
Sunnycomesと同じ問題があり、彼のコメントは正しかった。ファイルの最終行の最後に「-」がありませんでした。私がいた前に:
-----END CERTIFICATE----
変更して:
-----END CERTIFICATE-----
それを修正しました。端末から証明書のテキストをコピーするときは注意する必要があることを学びました。
特記事項:pemファイルにCAおよびサブCAチェーンが含まれる場合、----- END CERTIFICATE ---- ----- BEGIN CERTIFICATE -----が同じ行にないことを確認してください。
tl; dr5つのダッシュが必要-----
BEGIN
およびEND
タグを囲んでいます。
各証明書の内容がBEGIN
およびEND
タグで囲まれていることを確認してください:
-----BEGIN CERTIFICATE-----
bGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMg
-----END CERTIFICATE-----
注意:公式によると RFC 7468 証明書のテキストエンコーディングに関するドキュメントがある必要があります:
正確に5つのダッシュ-----
行の先頭に5つのダッシュ-----
最後に。 (コピーペースト中に誤ってダッシュを1つ省略していないことを確認してください!)
したがって、同じ行に2つのカプセル化境界はありません、たとえば:----END CERTIFICATE----------BEGIN CERTIFICATE-----
。 (したがって、同じ行で新しい証明書を終了して直接開始することはできません。5つのダッシュではなく10のダッシュがあるためです。)
一部のWebサーバーでは、1つのファイルにすべてのSSL/TLS(ルート、中間、エンドユーザー)証明書が必要ですが、CAは通常すべての証明書を分けて送信します。すべての証明書を正しく連結するには、次のコマンドを使用できます。
cat end-user.crt <(echo) intermediate.pem <(echo) root.crt > bundled.crt
end-user.crt
、intermediate.pem
およびroot.crt
とファイル名。
注意:証明書の順序は重要です!エンドユーザー証明書から始めてから、すべての中間証明書とルート証明書で終わります。
ところで:.pem
および.crt
は両方とも有効なSSL証明書ファイルの末尾/エンコードです。
SSLファイルの詳細については、こちらをご覧ください こちら 。
友達ください!
使用しないでください "cat AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt> /tmp/commercial_ca.crt ..
これは間違った.crtファイルを作成します..
just。
1ルートとして証明書をコピーしてテキストファイルに貼り付けます(save as Commercial.crt)Vi、nano、またはメモ帳を使用します。このファイルを次のディレクトリに配置します/ opt/zimbra/ssl/zimbra/commercial /
2ルートとしてテキストエディターnanoまたはViを使用してZipファイルで受け取ったCAbundleを開き、(commercial_ca.crt)。このファイルを次のディレクトリ/ opt/zimbra/ssl/zimbra/commercial /に配置します
verify/ opt/zimbra/ssl/zimbra/commercial /のZimbraユーザーとして
/opt/zimbra/bin/zmcertmgr verifycrt comm commercial.key commercial.crt commercial_ca.crt
/ tmp /のZimbraユーザーとしてデプロイ
/opt/zimbra/bin/zmcertmgr deploycrt comm commercial.crt commercial_ca.crt
and
zmcontrol restart
楽しむ! from https://ssl.comodo.com/support/certificate-installation---zimbra-server.php
chown zimbra.zimbra /opt/zimbra/ssl/zimbra/commercial/*.crt
(ルートとして)
chmod 700 /opt/zimbra/ssl/zimbra/commercial/*.crt
(zimbraユーザーとして)
次のように機能します:tls.crt
-----BEGIN CERTIFICATE-----
the content of certificate.crt
the content of ca_bundle.crt
-----END CERTIFICATE-----
WindowsマシンからRHEL 7に証明書をコピーするときにも同様の問題がありました。中間およびルート証明書のすべての行の末尾に「^ M」があり、vimで証明書を表示する場合にのみ表示されます。
回避策は、証明書を編集してvimを実行することでした:
:%s/^ M $ //
これにより、各行の最後にあるすべての^ Mが削除されます。
(^ Mを取得するには、Ctrl + Shiftを押しながらvとmを連続して押す必要があります)