この StackOverflow 投稿への回答 1は、いくつかの Groovy コードを提供しますが、コンパイルされません (私にとっては、Groovy コンソール バージョン 2.1.3、または私の Grails 2.2.3 アプリで)。
このコードを機能させるために何を変更する必要があるか教えてください。私が得るエラーは次のとおりです。
unexpected token: public at line 14, column: 52 (... which is the "public X509 Certificate[]")
クイック リファレンスとして、回答 1 で提供されているコード ソリューションは次のとおりです。
import javax.net.ssl.X509TrustManager
import javax.net.ssl.SSLContext
import java.security.cert.X509Certificate
import javax.net.ssl.TrustManager
import java.security.SecureRandom
import org.apache.http.conn.ssl.SSLSocketFactory
import org.apache.http.conn.scheme.Scheme
import org.apache.http.conn.scheme.SchemeRegistry
def http = new HTTPBuilder( "https://your_unsecure_certificate_host" )
//=== SSL UNSECURE CERTIFICATE ===
def sslContext = SSLContext.getInstance("SSL")
sslContext.init(null, [ new X509TrustManager() {public X509Certificate[]
getAcceptedIssuers() {null }
public void checkClientTrusted(X509Certificate[] certs, String authType) { }
public void checkServerTrusted(X509Certificate[] certs, String authType) { }
} ] as TrustManager[], new SecureRandom())
def sf = new SSLSocketFactory(sslContext, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)
def httpsScheme = new Scheme("https", sf, 443)
http.client.connectionManager.schemeRegistry.register( httpsScheme )
//================================