回答編集履歴

1 書式の改善

tsuntsun

tsuntsun score 195

2016/08/02 14:16  投稿

Q①:実際は「サーバー認証」のみであれば、サーバー側の証明書の準備が整っていれば十分なのではと考えておりますが、あっておりますでしょうか?
----
> Q①:実際は「サーバー認証」のみであれば、サーバー側の証明書の準備が整っていれば十分なのではと考えておりますが、あっておりますでしょうか?
サーバ証明書が、パブリックなCA(ベリサインやグローバルサイン等)から発行されたものならその通りです。
そうでない場合(オレオレ証明書)には、クライアント側のTrustKeyStoreにRootCAを登録する必要があります。
Q②:SSL認証を考慮した実装方法をご教示ください。。(HttpsURLConnectionを使用したもの)setSSLSocketFactory等を使用?? 具体的に実装したいと思っているのは、 サーブレットからのHTTPS通信でのSSL認証になります。
----
> Q②:SSL認証を考慮した実装方法をご教示ください。。(HttpsURLConnectionを使用したもの)setSSLSocketFactory等を使用?? 具体的に実装したいと思っているのは、 サーブレットからのHTTPS通信でのSSL認証になります。
これが意味不明です。
単純にサービスを提供しているサーブレットにアクセスするクライアントを、クライアント認証を
使ったStrong Authを行いたいのですか?
わざわざ「サーブレットからのHTTPS通信」と書かれているので、サーブレット側から何処かに
新たにSSLを張るのでしょうか?
前者であれば、わざわざサーブレットで実装しなくても、APサーバで面倒見てくれますが。
(少なくとも、TomcatやJBoss,Glasfishはやってくれます) 
 
> Q③:クライアント側の実装する際は「サーバー認証」にて証明書の中身の妥当性を判断する場合にSSL認証処理を実装する必要があると考えて良いでしょうか?※単に中身について見ないのであれば下記Javaのように普通につなぎに行って良いものでしょうか? HttpURLConnectionを使用しても問題ない認識でサーバー認証は裏でやってくれると思っております。  
Q③:クライアント側の実装する際は「サーバー認証」にて証明書の中身の妥当性を判断する場合にSSL認証処理を実装する必要があると考えて良いでしょうか?※単に中身について見ないのであれば下記Javaのように普通につなぎに行って良いものでしょうか? HttpURLConnectionを使用しても問題ない認識でサーバー認証は裏でやってくれると思っております。  
----  
裏でやってくれます。 
 
Q④:下記URLにある実装で「SSL証明書の検証無効化とホスト名検証を無効化」する理由(メリット)は何なのでしょうか?
----
> Q④:下記URLにある実装で「SSL証明書の検証無効化とホスト名検証を無効化」する理由(メリット)は何なのでしょうか?
証明書の有効性を確認しに行かないので、SSL開始時のセッションが少し早くなります。
但しサーバに使われている証明書がEV対応であるならば、絶対に無効化してはいけません。
EV証明書の意味がなくなってしまいます。
#詳細は長くなるので、省略させて下さい m(_ _)m

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る