| | |
| | | import io.minio.errors.*; |
| | | import io.minio.http.Method; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import okhttp3.ConnectionPool; |
| | | import okhttp3.ConnectionSpec; |
| | | import okhttp3.OkHttpClient; |
| | | import okhttp3.TlsVersion; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.net.ssl.SSLContext; |
| | |
| | | import java.security.ProviderException; |
| | | import java.security.SecureRandom; |
| | | import java.security.cert.X509Certificate; |
| | | import java.util.Collections; |
| | | import java.util.Objects; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | import static com.ard.common.config.OssConfiguration.*; |
| | | |
| | |
| | | }; |
| | | SSLContext sslContext = SSLContext.getInstance("TLSv1.2"); |
| | | sslContext.init(null, trustAllCerts, new SecureRandom()); |
| | | |
| | | ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS) |
| | | .tlsVersions(TlsVersion.TLS_1_2) |
| | | .allEnabledCipherSuites() |
| | | .build(); |
| | | |
| | | OkHttpClient httpClient = new OkHttpClient.Builder() |
| | | .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustAllCerts[0]) |
| | | .sslSocketFactory(sslContext.getSocketFactory(), |
| | | (X509TrustManager) trustAllCerts[0]) |
| | | .hostnameVerifier((hostname, session) -> true) |
| | | .connectionSpecs(Collections.singletonList(spec)) // ⭐关键 |
| | | .connectionPool(new ConnectionPool(0, 1, TimeUnit.SECONDS)) // ⭐禁用复用 |
| | | .build(); |
| | | |
| | | // 构建 AssumeRoleProvider,使用自定义 httpClient |
| | |
| | | OkHttpClient httpClient = new OkHttpClient.Builder() |
| | | .sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0]) |
| | | .hostnameVerifier((hostname, session) -> true) |
| | | .connectionSpecs(Collections.singletonList( |
| | | new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS) |
| | | .tlsVersions(TlsVersion.TLS_1_2) // 强制 TLS1.2 |
| | | .build() |
| | | )) |
| | | .build(); |
| | | |
| | | this.client = MinioClient.builder() |