0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

stone/stunnel の代替としての StreamRelay.jar (SSLクライアント編)

Last updated at Posted at 2017-05-24

java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar

StreamRelay.bat

TCPサーバとして待機しつつ、SSLクライアントとしてSSLサーバへ転送する場合


stone/stunnel の代替としての StreamRelay.jar

「local」側が tcp/90 で待機して、「remote」側の192.0.2.1:443 へSSLクライアントとして転送

java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRealy.jar -LocalPort 90 -RemoteHost 192.0.2.1 -RemotePort 443 -RemoteSSL


RemoteSSLオプションとRemoteSSLAfterProxyConnectionオプション

図

つまりProxyオプションを先に実施するのか、SSLにしてから実施するのかの違い

Java は Socketを継承した SSLSocketなので、このようにした。
(.NET Framework はStreamを継承したSSLStreamなので、より自由に組み合わせられる)


オプション

  • RemoteSSLMode [SSL|TLS]
  • RemoteSSLName サーバ側の証明書をチェックする場合、コモン名を指定する
  • DisableSNI Java7から既定で有効のTLS SNIを無効にする
  • UseWeakAlgorithm Java7から既定で弱い暗号や証明書が無効になったものを有効化する
  • UseAllSSLProtocols SSLプロトコルは任意
  • UseSSLProtocol SSLプロトコルを明示する
  • RistrictSSLProtocol 明示したプロトコルだけ拒否する
  • UseAllSSLCipherSuites 暗号スイートは任意
  • UseSSLCipherSuites 暗号スイートを明示する
  • RistrictSSLCipherSuite 明示した暗号スイートだけ拒否する

いろいろ細かくオプションが指定できるJavaのSSLCocketクラスだけど、あまり使わないと思う


暗号スイートの一覧

java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -ListSSLCipherSuite


暗号プロトコルの一覧

java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -ListSSLProtocol


目次へ戻る

目次というか最初の一歩

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?