現在公開鍵証明書を利用するセキュリティプロトコルやアプリケーションは X.509 バージョン3がよく用いられている。v3 では extensions というオプショナルなフィールドが設けられ、アプリケーション又はプロトコル独自の新しい拡張型を組み込むことが可能となった。
 X.509 では標準的な v3 拡張型がいくつか定義されている。電子メールアドレスや IP アドレスを subjectAltName に別名として組み込むことができる。また CA の証明書では、CA かどうかを示すフィールドとして basicConstraints が利用される。
 独自の拡張型だけでなく、これらの標準的な拡張型の利用もアプリケーションやプロトコルに依存しており、クリティカルビットの有無により検証などの動作が異なっている。

 SET では標準 v3 拡張として authorityKeyIdentifier, keyUsage, privateKeyUsagePeriod, certificatePolicies, subjectAltName, issuerAltName, basicConstraints, cRLNumber が、また SET 独自として hashedRootKey, certificateType, merchantData, cardCertRequired, tunneling, setExtensions が規定されている。
 これらのうち keyUsage, basicConstraints, hashedRootKey, certificateType にクリティカルビットが必須ということになっている。
 Netscape Communicator では authorityKeyIdentifier, basicConstraints, cRLDistributionPoints, extKeyUsage, keyUsage, subjectAltName, subjectKeyIdentifier が用いられている。これらのうち subjectAltName が証明書の subject フィールドが空である場合に限りクリティカルビットが必須となっている。
 そのほか extKeyUsage ではクリティカルビットがマークされているかどうかで解釈が異なる。マークされている場合には、証明書は表示されている目的の一つでしか利用できない。マークされていない場合では忠告として扱うだけで証明書の目的を制限することはない。
Netscape Communicator では更に独自拡張として netscape-cert-type, netscape-comment が利用されている。これらの拡張型は 1997年8月に Netscape 社の Jeff Weinstein がドラフトとして公開された。このドラフトでは上の2つのほか netscape-base-url, netscape-revocation-url, netscape-ca-revocation-url, netscape-cert-renewal-url, netscape-ca-policy-url, netscape-ssl-server-name が定義されているが、これらは廃止 (obsolete) されている。

 netscape-cert-type は証明書の利用を制限するために設けられておりビット列により 0: SSL クライアント, 1: SSL サーバ, 2: S/MIME クライアント, 3: オブジェクトサイン, 4: 予約済, 5: SSL 認証局, 6: S/MIME 認証局, 7: オブジェクトサイン認証局 という定義がされている。
 この netscape-cert-type 拡張は extKeyUsage や basicConstraints 拡張に取って変わられているが Navigator 3.x では必須となっている。
 この拡張が存在する場合は指定用途以外の利用は制限される。また、この拡張が存在しない場合でもオブジェクトサインとしての利用は制限される。

 認証局の証明書としての利用を目的で付けられる拡張としては netscape-cert-type と basicConstraints 拡張の2つが存在することになるため、次のように定められている。この2つのうち片方のみ組み込まれている場合には、その拡張型どおりに動作する。仮に2つの拡張型ともに存在しない場合には、認証局の証明書として利用しない。
 また2つとも含まれていた場合には、2つとも解析してどちらかに認証局の表示があれば認証局証明書として利用する。

 Netscape Communicator では CRL にも X.509 で定義された標準的な拡張型が利用されている。CRL 拡張として authorityKeyIdentifier, CRLNumber, deltaCRLIndicator, issuerAltName, issuingDistributionPoint が、また CRL Entry 拡張として certificateIssuer, holdInstructionCode, invalidityDate, reasonCode が利用されている。