[31] 証明書一般については X.509 で規定されていますが、 インターネットでは X.509 証明書の v3 形式のプロファイルとして RFC 5280 で規定されるものが利用されています。
[25] CCITT X.509 の1988年版に最初の証明書の形式が規定されており、 これは v1 と呼ばれています >>24。
[28] PEM (1993) は v1 を採用しています。この運用経験が v3 の開発にフィードバックされています。 >>24
[26] X.509 は1993年に改訂され、この証明書の形式が v2 と呼ばれています >>24。
[27] X.509 は更に1996年に改訂され、この証明書の形式が v3 と呼ばれています >>24。
[29] RFC 3280 は v3 のインターネット向けプロファイルです。 RFC 5280 はその改訂版です。
[34] RFC 5280 においては、証明書の版は 3 ですが、場合によっては 2 とできることもあります。その場合でも 3 としても構いません。実装はどの版も受け入れるべきですが、 少なくても 3 に対応しなければなりません。 >>30
[97] TLS/1.2 の証明書は v3 とされています。
[72] BR に従うルートCA証明書と下位CA証明書は、 v3 を使わなければなりません >>71。
[102] Firefox も Chrome も IE も v1 にも対応しているようです。
[37] 版は TBSCertificate
の version
欄に指定します。
[88] application/pkix-cert
と application/pkix-crl
には version
引数があります >>86。既定値は 1 >>86
とありますが、意味は規定されていません。
[85] application/pkix-pkipath
(2011年) >>84
にも version
引数があります。こちらも既定値は 1 >>84
とありますが、意味は規定されていません。
[89] >>88 の version
引数は意味不明であるとして著者自身の正誤表
(2009年) >>87 により削除されています。 >>85 の version
引数は正誤表でも訂正されていません。
[32] 証明書の形式は ASN.1 により定義されています >>30。
[77] DER を使って表現するのが一般的ですが、理論上は ASN.1 に対応した他の構文でも表現できます。
[33] 署名の計算には ASN.1 DER を使います >>30。
[36] TBSCertificate
値は次の欄で構成されます >>30。
[39] extension
欄は、1つ以上の証明書拡張の列です。
これは v3 でのみ使えます。 >>30
[40] 拡張には、 critical なものと non-critical なものがあります。 critical なものは、認識できないか処理できないデータが含まれているなら、 証明書を拒絶しなければなりません。 non-critical なものは、認識できなければ無視して構いませんが、認識できるなら処理しなければなりません。 >>30
[42] 証明書に同じ種類の拡張を複数含めてはなりません >>30。
[74] ルートCA証明書を保持する実装は、証明書ごとにメタデータを関連付けて保持していることがあります。
[81] DER 形式は最も基本的な証明書の表現形式と思われます。
Windows では「DER encoded binary X.509」と呼ばれています。
DER 形式の証明書は、拡張子 .cer
>>86 や .crt
が用いられることがあります。
MIME型は application/pkix-cert
です >>86。
[79] .pem
形式の証明書は、 Windows
では「Base 64 encoded X.509」と呼ばれています。
.pem
形式の証明書は、拡張子 .cer
が用いられることがあります。
.pem
を参照。[94] 証明書ダウンロードでは、 MIME型として
application/x-x509-user-cert
、
application/x-x509-ca-cert
、
application/x-x509-email-cert
が使われます。
[138] RFC 4325: Internet X.509 Public Key Infrastructure Authority Information Access Certificate Revocation List (CRL) Extension, https://www.rfc-editor.org/rfc/rfc4325.html#section-2
[139] ユーザ属性, Internet Initiative Japan Inc., , https://manual.iij.jp/iid/iidapi/19000993.html
X.509証明書の値(Base64 エンコードされた DER 形式)
[47] 次の構文やデータ構造があります。
[50] その他次の概念があります。
[57] SSL/TLS で使われることを主に想定した証明書を SSL証明書 / TLS証明書といいます。
[58] 明確な定義はなさそうですが、 PKIX に従った証明書であって、 TLSサーバーやTLSクライアントで用いられるものを指しているようです。
[63] RFC 5280 は extended key usage 拡張に記述する値として
id-kp-serverAuth
(1.3.6.1.5.5.7.3.1) と id-kp-clientAuth
(1.3.6.1.5.5.7.3.2)
を定義しており、
それぞれ「TLS WWW server authentication」と「TLS WWW client authentication」 >>62
と説明されています。 BR に従う Subscriber Certificate はこの一方または両方が指定されることが要求されています >>64。
[69] netscape-cert-type 拡張には値として SSL-client (SSL client authentication use) や SSL-server (SSL server authentication use) を指定できます。 (他に CA 用の SSL-CA という値もあります。) 当初はこれらの値を持つものが SSL証明書と呼ばれていたと思われます。現在でもこれらの値を指定した証明書はあります。
[59] サーバー証明書については、 CN や SAN にドメイン名等が記述され、 service identity を検証できる状態にあるものを指すのが普通です。 多くの場合は HTTPS で利用され、 CA/Browser Forum の規定に基づく CA が発行した証明書である必要があります。 (HTTPS で用いない証明書や限られた範囲でのみ用いられる証明書の場合はこの限りではありません。)
[60] クライアント証明書については、特別な制約はなさそうです。クライアント証明書は組織内など限られた範囲でのみ用いられます。
[52] 証明書は PKI を構成する技術の1つであり、 ITU-T (および ISO/IEC) で標準化されています。 インターネットでの利用、特に TLS との組み合わせに関しては IETF が PKIX として規定しています。
[54] Web で利用可能な証明書 (主として HTTPS で用いられるもの) については CA/Browser Forum が発行基準を定めています。また各Webブラウザー事業者や OS の提供元がそれぞれの利用するルート証明書についての基準を設けています。
[55] 実際の証明書の発行はこれらの仕様に基づき各種機関・企業が行っています。
[107] nginx は reload
しないと証明書のファイルが変更されても再読み込みしません。
[108] おそらく他の実装もそうなっていることが多いでしょう。
[119] Let's Encrypt のように有効期間の短めの証明書を自動更新しながら使い続けるモデルが普及していきそうなので、 TLS の実装もそれに対応できる機能が求められています。
[1] 無償で正統的なコードサイニング証明書を入手する方法 http://sqs.cmr.sfc.keio.ac.jp/tdiary/?date=20051003#p01 (名無しさん 2005-10-04 00:42:50 +00:00)
[2] 高木浩光@自宅の日記 - PKIよくある勘違い(2)「安全に配布すればルート証明書を入れさせてよい」, PKIよくある勘違い(3)「プライベート認証局が妥当なら.. http://www.takagi-hiromitsu.jp/diary/20050205.html (名無しさん)
[3] 『無償で正統的なコードサイニング証明書を入手する方法:その2』 http://sqs.cmr.sfc.keio.ac.jp/tdiary/?date=20051003#p02 (名無しさん 2006-02-19 07:06:33 +00:00)
[4] 高木浩光@自宅の日記 - IE 7の普及でサーバ証明書失効によるトラブルが表面化する (高木浩光 著, 版) http://takagi-hiromitsu.jp/diary/20070415.html#p01 (名無しさん 2007-04-17 00:54:40 +00:00)
[5] Intent to Deprecate: SHA-1 certificates - Google グループ ( ( 版)) https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/2-R4XziFc7A%5B1-25-false%5D
[6] RFC 3709 - Internet X.509 Public Key Infrastructure: Logotypes in X.509 Certificates ( ( 版)) https://tools.ietf.org/html/rfc3709
[7] RFC 6170 - Internet X.509 Public Key Infrastructure -- Certificate Image ( ( 版)) https://tools.ietf.org/html/rfc6170
[8] Security Issue ( 版) http://web.archive.org/web/19970521032145/http://form.netscape.com/newsref/std/ssl_2.0_certificate.html
[9] Netscape Certificate Specifications ( 版) http://web.archive.org/web/19990218203921/http://home.netscape.com/eng/security/certs.html
[10] Netscape Certificate Download Specification ( 版) http://web.archive.org/web/19990202032056/http://www.home.netscape.com/eng/security/downloadcert.html
[11] Netscape Certificate Download Specification ( 版) http://web.archive.org/web/19990129050825/http://www.home.netscape.com/eng/security/comm4-cert-download.html
[12] Netscape Certificate Extensions Specification ( 版) http://web.archive.org/web/19990129063212/http://www.home.netscape.com/eng/security/comm4-cert-exts.html
[13] Netscape Certificate Extensions Specification ( 版) http://web.archive.org/web/19990218190724/http://home.netscape.com/eng/security/cert-exts.html
[14] Netscape Certificate Download Specification ( 版) http://web.archive.org/web/19990202032056/http://www.home.netscape.com/eng/security/downloadcert.html
[15] Security Issue ( 版) http://web.archive.org/web/19991008215709/http://home.netscape.com/eng/security/ssl_2.0_certificate.html
[16] RFC 6091 - Using OpenPGP Keys for Transport Layer Security (TLS) Authentication ( 版) http://tools.ietf.org/html/rfc6091
[17] Transport Layer Security (TLS) Extensions ( 版) http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#tls-extensiontype-values-3
[18] Transport Layer Security (TLS) Extensions ( 版) http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#certificate-status
[19] ImperialViolet - Revocation checking and Chrome's CRL (Adam Langley 著, 版) https://www.imperialviolet.org/2012/02/05/crlsets.html
[20] CA:Certificate Download Specification - MozillaWiki ( ( 版)) https://wiki.mozilla.org/CA:Certificate_Download_Specification
[44] Google warns of unauthorized TLS certificates trusted by almost all OSes [Updated] | Ars Technica ( 版) http://arstechnica.com/security/2015/03/google-warns-of-unauthorized-tls-certificates-trusted-by-almost-all-oses/
[45] CA:Problematic Practices - MozillaWiki ( 版) https://wiki.mozilla.org/CA:Problematic_Practices
[66] Netscape Certificate Download Specification ( 版) http://web.archive.org/web/19970709163955/http://home.netscape.com/eng/security/downloadcert.html
[67] Netscape Certificate Extensions Specification ( 版) http://web.archive.org/web/19970727173508/http://home.netscape.com/eng/security/cert-exts.html
[68] Constants for Netscape Extensions (Windows) ( 版) https://msdn.microsoft.com/en-us/library/windows/desktop/aa378149(v=vs.85).aspx
[73] CA:MD5and1024 - MozillaWiki ( 版) https://wiki.mozilla.org/CA:MD5and1024
[80] 技術/Security/PKI,SSL,TLS/メモ01_拡張子の迷宮(pem,der,crt,cer,csr,...) - Glamenv-Septzen.net ( 版) http://www.glamenv-septzen.net/view/1058
[83] Issue 66342 - android - <keygen> html5 element creates but does not save certificate - Android Open Source Project - Issue Tracker - Google Project Hosting ( 版) https://code.google.com/p/android/issues/detail?id=66342
[93] Netscape Certificate Extensions Specification ( 版) http://web.archive.org/web/19990129063212/http://www.home.netscape.com/eng/security/comm4-cert-exts.html
[92] Exciting Updates to Certificate Verification in Gecko | Mozilla Security Blog ( 版) https://blog.mozilla.org/security/2014/04/24/exciting-updates-to-certificate-verification-in-gecko/
[95] X.690 : Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) (tsbmail 著, 版) http://www.itu.int/rec/T-REC-X.690-200811-I/en
[96] X.690 : Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) (tsbmail 著, 版) http://www.itu.int/rec/T-REC-X.690-200811-I/en
[21] Oops: Instagram forgot to renew its SSL certificate (Owen Williams 著, 版) http://thenextweb.com/apps/2015/04/30/oops-instagram-forgot-to-renew-its-ssl-certificate/
[98] Fraudulent *.google.com Certificate | Mozilla Security Blog ( 版) https://blog.mozilla.org/security/2011/08/29/fraudulent-google-com-certificate/
[100] RFC 5697 - Other Certificates Extension ( 版) https://tools.ietf.org/html/rfc5697
[101] RFC 3739 - Internet X.509 Public Key Infrastructure: Qualified Certificates Profile ( 版) https://tools.ietf.org/html/rfc3739
[104] Web Security Context: User Interface Guidelines ( 版) http://www.w3.org/TR/wsc-ui/#tlstosecurehttp
[105] RFC 7633 - X.509v3 Transport Layer Security (TLS) Feature Extension ( 版) https://tools.ietf.org/html/rfc7633
[49] OpenSSL ( (OpenSSL Foundation, Inc.著, )) https://www.openssl.org/docs/manmaster/apps/x509v3_config.html#TLS-Feature-aka-Must-Staple
[109] gecko-dev/security/manager/ssl/tests/unit at master · mozilla/gecko-dev ( ()) https://github.com/mozilla/gecko-dev/tree/master/security/manager/ssl/tests/unit
[110] cURL - SSL CA Certificates ( ()) https://curl.haxx.se/docs/sslcerts.html
[112] 【悲報】Google、シマンテック発行のSSL証明書を問答無用でブロックへ : IT速報 ( ()) http://blog.livedoor.jp/itsoku/archives/50935193.html
[113] sleevi/explainer: Technical 'explainer' related to https://groups.google.com/a/chromium.org/d/msg/blink-dev/eUAKwjihhBs/rpxMXjZHCQAJ ( ()) https://github.com/sleevi/explainer
[114] Symantec Certificates ( ()) https://chromium.googlesource.com/chromium/src/+/master/net/data/ssl/symantec/README.md
[115] net/data/ssl - chromium/src - Git at Google ( ()) https://chromium.googlesource.com/chromium/src/+/master/net/data/ssl
[116] [Managed PKI for SSL] Google Chrome57 のバグにより EV SSL 証明書の組織名がグリーン表示されない事象について | Symantec () https://knowledge.symantec.com/jp/support/ssl-certificates-support/index?vproductcat=V_C_S&vdomain=VERISIGN.JP&page=content&id=INFO4287&actp=RSS&viewlocale=ja_JP&locale=ja_JP&redirected=true
[117] 705285 - EV evaluation breaks if "2.23.140.1.1" is present and the root is not enabled for it - chromium - Monorail () https://bugs.chromium.org/p/chromium/issues/detail?id=705285
[120] crt.sh | Certificate Search () https://crt.sh/
[121] crt.sh () https://github.com/crtsh
[122] crt.sh | Certificate Search () https://crt.sh/
[123] crt.sh () https://github.com/crtsh
[125] Is the Certificate Authority name-constrained somehow? · Issue #11075 · web-platform-tests/wpt () https://github.com/web-platform-tests/wpt/issues/11075
[126] Ruby の openssl ライブラリを使って、サーバ証明書やクライアント証明書を作成する () https://qiita.com/k-masaki/items/12b5e8a1874214308912
[127] OpenSSLでオレオレ認証局を作ろう - 気ままなブログ () http://d.hatena.ne.jp/entree/20150308/1425828062
[128] FGasper/p5-Crypt-Perl: CPAN’s Crypt::Perl () https://github.com/FGasper/p5-Crypt-Perl
[131] x509v3.cnf(5) - OpenBSD manual pages () https://man.openbsd.org/x509v3.cnf.5
[132] kroeckx/x509lint: Tool to check X509 certificates () https://github.com/kroeckx/x509lint
[134] Extend WebSocket interface to access and use certificates · Issue #4420 · whatwg/html () https://github.com/whatwg/html/issues/4420
[135] Let's Encrypt、証明書およそ300万件の強制失効処理を取りやめ | スラド セキュリティ () https://security.srad.jp/story/20/03/07/2211251/
[137] SSL/TLS証明書、9月1日以降の発行分は有効期間が実質1年間に。主要ブラウザの仕様変更で | スラド アップル () https://apple.srad.jp/story/20/08/21/0335207/