HTTPS URLがbetamaxで動作することができません。Betamax HTTPSプロキシでの記録 - 証明書エラー - Java Groovy
それは以下の投稿この他の問題は、しかし、私はすでにbetamax.pemファイルのインポートを行ってきたし、効果がなかったしているようだと似ています:ここで私は走ったimportコマンドだ
:
c:\Users\UserAccount>"%JAVA_HOME%/bin/keytool.exe" -importcert -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file betamax.pem -alias betamax -storepass changeit -noprompt
static final File TAPES =
new File(System.getProperty('BETAMAX_TAPEDIR') ?:
'src/integrationTest/resources/betamax/tapes')
static final TapeMode TAPEMODE =
System.getProperty('BETAMAX_MAKETAPES') ?
TapeMode.READ_WRITE :
TapeMode.READ_ONLY
static final Integer PROXYPORT =
System.getProperty('BETAMAX_PROXYPORT') ?
System.getProperty('BETAMAX_PROXYPORT').toInteger() :
Configuration.DEFAULT_PROXY_PORT
@Shared
Configuration configuration = Configuration.builder()
.tapeRoot(TAPES)
.ignoreLocalhost(false)
.defaultMode(TAPEMODE)
.proxyPort(PROXYPORT)
.sslEnabled(true)
.build()
@Rule
RecorderRule recorder = new RecorderRule(configuration)
@Betamax(tape='GradleNews.tape')
def "Try record HTTPS"()
{
when:
def http = new RESTClient('https://discuss.gradle.org')
http.head path: 'c/books-articles'
then:
true
}
生成します:
ここ は私の設定ですjavax.net.ssl.SSLException: hostname in certificate didn't match: <discuss.gradle.org> != <*.discourse.org> OR <*.discourse.org> OR <discourse.org>
誰かが間違っているのを誰でも見ることができますか?ここで
は、同様の問題のレポートです:要約すると Betamax fails to record HTTPS traffic
どのバージョンをお使いですか? –
サイドノート:私は 'System.getProperty( 'BETAMAX_MAKETAPES')'が本当に好きです。それはかわいいと効果的です:) –
これはBetamaxのバグのようです。 https://discuss.gradle.orgのダウンロードを行うと、正しくテープに保存されているように見えます。しかし、 'discourse.org'の証明書を解決しようとする際に例外を見ると、RESTClientが適切にMITMをインストールしていないという形でdiscourse.orgを探していることがわかります。どのRESTClientを使用していますか? –