-1

この 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 )
 //================================
4

1 に答える 1

2

コードを貼り付けた結果、public X509Certificate[]との間に改行が入っている可能性があります。getAcceptedIssuers() {null}

改行を削除してみてください (そして、コードを読みやすい形式にフォーマットしてください) と、エラーが消えるはずです。

于 2013-07-19T16:22:31.657 に答える