SSLCertificateSocketFactory クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
いくつかの追加機能を備えた SSLSocketFactory の実装:
<ul>
<li>Timeout specification for SSL handshake operations
<li>Hostname verification in most cases (see WARNINGs below)
<li>Optional SSL session caching with <code data-dev-comment-type="c">SSLSessionCache</code><li>Optionally bypass all SSL certificate checks
</ul>
The handshake timeout does not apply to actual TCP socket connection.
[Android.Runtime.Register("android/net/SSLCertificateSocketFactory", DoNotGenerateAcw=true)]
public class SSLCertificateSocketFactory : Javax.Net.Ssl.SSLSocketFactory
[<Android.Runtime.Register("android/net/SSLCertificateSocketFactory", DoNotGenerateAcw=true)>]
type SSLCertificateSocketFactory = class
inherit SSLSocketFactory
- 継承
- 属性
注釈
いくつかの追加機能を備えた SSLSocketFactory の実装:
<ul><li>ほとんどの場合の SSL ハンドシェイク操作<li>Hostname 検証のTimeout仕様 (下記の WARNING を参照) <li>SSLSessionCache<li を使用したオプションの SSL セッション キャッシュ>すべての SSL 証明書チェックをバイパスする</ul>
ハンドシェイク タイムアウトは、実際の TCP ソケット接続には適用されません。 接続タイムアウトも必要な場合は、 #createSocket() と Socket#connect(java.net.SocketAddress, int)を使用します。その後、接続先のサーバーの ID を確認する必要があります。
<b>最も SSLSocketFactory 実装ではサーバーの ID が検証されず、中間者攻撃が許可</b> この実装では、サーバーの証明書のホスト名がチェックされますが、ホスト名を指定する createSocket バリアントに対してのみチェックされます。
InetAddressを使用するメソッド、または接続されていないソケットを返すメソッドを使用する場合は、セキュリティで保護された接続を確保するために、サーバーの ID を自分で確認する必要があります。
詳細については、「 セキュリティ プロバイダーを更新して SSL の悪用から保護する 」を参照してください。
サーバーの ID を確認するには、 HttpsURLConnection#getDefaultHostnameVerifier() を使用して証明書のホスト名を確認する HostnameVerifier を取得することをお勧めします。
<b>Warning</b>: このクラスの一部のメソッドは接続されたソケットを返し、一部は接続されていないソケットを返します。 接続されたソケットを返すメソッドの場合、これらのソケットに対して接続またはハンドシェイク関連のプロパティを設定しても効果はありません。
開発デバイスでは、"setprop socket.relaxsslcheck yes" はすべての SSL 証明書とホスト名チェックをバイパスしてテストを行います。 この設定にはルート アクセスが必要です。
このメンバーは非推奨です。 このクラスでは、標準 API を使用して、エラーが発生しやすい置換が少なくなります。
SSLSocketを作成するには、SSLSocketFactoryまたはSSLSocketFactory#getDefault()からjavax.net.ssl.SSLContext#getSocketFactory()を取得します。 ホスト名を確認するには、 "HTTPS" を javax.net.ssl.SSLParameters#setEndpointIdentificationAlgorithm(String)に渡します。 ALPN を有効にするには、 javax.net.ssl.SSLParameters#setApplicationProtocols(String[])を使用します。 SNI を有効にするには、 javax.net.ssl.SSLParameters#setServerNames(java.util.List)を使用します。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| SSLCertificateSocketFactory(Int32) |
古い.
このメンバーは非推奨です。 |
| SSLCertificateSocketFactory(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| JniPeerMembers |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
| 名前 | 説明 |
|---|---|
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| CreateSocket() |
接続されていないソケットを作成します。 (継承元 SocketFactory) |
| CreateSocket(InetAddress, Int32, InetAddress, Int32) |
古い.
ソケットを作成します。 |
| CreateSocket(InetAddress, Int32) |
古い.
ソケットを作成します。 |
| CreateSocket(Socket, String, Int32, Boolean) |
古い.
ソケットを作成します。 |
| CreateSocket(String, Int32, InetAddress, Int32) |
古い.
ソケットを作成します。 |
| CreateSocket(String, Int32) |
古い.
ソケットを作成します。 |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| Equals(Object) |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| GetDefault(Int32, SSLSessionCache) |
オプションのハンドシェイク タイムアウトと SSL セッション キャッシュを持つ新しいソケット ファクトリ インスタンスを返します。 |
| GetDefault(Int32) |
オプションのハンドシェイク タイムアウトを含む新しいソケット ファクトリ インスタンスを返します。 |
| GetDefaultCipherSuites() |
古い.
既定で有効になっている暗号スイートの名前を返します。 |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| GetHttpSocketFactory(Int32, SSLSessionCache) |
古い.
Apache HTTP スタックで使用するソケット ファクトリ (SSLSocketFactory とも呼ばれますが、別の名前空間) を返します。 |
| GetInsecure(Int32, SSLSessionCache) |
オプションのハンドシェイク タイムアウトと SSL セッション キャッシュを使用して、すべての SSL セキュリティ チェックが無効になっているソケット ファクトリの新しいインスタンスを返します。 |
| GetNpnSelectedProtocol(Socket) |
クライアントとサーバーによって選択された 次のプロトコル ネゴシエーション (NPN) プロトコルを返します。プロトコルがネゴシエートされなかった場合は null を返します。 |
| GetSupportedCipherSuites() |
古い.
サポートされ、SSL 接続に対して有効にできる暗号スイートの名前を返します。 |
| JavaFinalize() |
古い.
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetHostname(Socket, String) |
特定のソケットで サーバー名表示 (SNI) をオンにします。 |
| SetKeyManagers(IKeyManager[]) |
このファクトリによって作成される接続に使用する |
| SetNpnProtocols(Byte[][]) |
このピアが関心を持つ 次のプロトコル ネゴシエーション (NPN) プロトコルを設定します。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| SetTrustManagers(ITrustManager[]) |
このファクトリによって作成される接続に使用する |
| SetUseSessionTickets(Socket, Boolean) |
特定のソケットで セッション チケット のサポートを有効にします。 |
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| IJavaPeerable.Finalized() |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| IJavaPeerable.JniObjectReferenceControlBlock |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
いくつかの追加機能を備えた SSLSocketFactory の実装:
(継承元 JavaObject)
|
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
いくつかの追加機能を備えた SSLSocketFactory の実装:
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|