Merge pull request #148 from AlphaX-Projects/master

Update trustless manager and AT 1.4.1
This commit is contained in:
AlphaX-Projects 2023-12-12 16:16:34 +01:00 committed by GitHub
commit 3bf54dbd0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 27 deletions

Binary file not shown.

View File

@ -10,14 +10,13 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<skipTests>false</skipTests> <skipTests>false</skipTests>
<bouncycastle.version>1.69</bouncycastle.version>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version> <junit.version>4.13.2</junit.version>
<maven-source-plugin.version>3.2.0</maven-source-plugin.version> <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version> <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
<maven-surefire-plugin.version>3.0.0-M4</maven-surefire-plugin.version> <maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version> <maven-source-plugin.version>3.3.0</maven-source-plugin.version>
<maven-surefire-plugin.version>3.2.2</maven-surefire-plugin.version>
<bouncycastle.version>1.64</bouncycastle.version>
</properties> </properties>
<build> <build>
@ -117,7 +116,7 @@
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<version>4.13</version> <version>${junit.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -5,14 +5,11 @@
<versioning> <versioning>
<release>1.4.1</release> <release>1.4.1</release>
<versions> <versions>
<version>1.3.4</version>
<version>1.3.5</version>
<version>1.3.6</version>
<version>1.3.7</version> <version>1.3.7</version>
<version>1.3.8</version> <version>1.3.8</version>
<version>1.4.0</version> <version>1.4.0</version>
<version>1.4.1</version> <version>1.4.1</version>
</versions> </versions>
<lastUpdated>20230821074325</lastUpdated> <lastUpdated>20231212092227</lastUpdated>
</versioning> </versioning>
</metadata> </metadata>

View File

@ -1,33 +1,33 @@
package org.qortal.crypto; package org.qortal.crypto;
import javax.net.ssl.SSLContext; import javax.net.ssl.*;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.cert.X509Certificate; import java.security.cert.X509Certificate;
public abstract class TrustlessSSLSocketFactory { public abstract class TrustlessSSLSocketFactory {
// Create a trust manager that does not validate certificate chains /**
* Creates a SSLSocketFactory that ignore certificate chain validation because ElectrumX servers use mostly
* self signed certificates.
*/
private static final TrustManager[] TRUSTLESS_MANAGER = new TrustManager[] { private static final TrustManager[] TRUSTLESS_MANAGER = new TrustManager[] {
new X509TrustManager() { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() { public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0]; return null;
} }
public void checkClientTrusted(X509Certificate[] certs, String authType) {
public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
} }
public void checkServerTrusted(X509Certificate[] certs, String authType) {
public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
} }
} }
}; };
// Install the all-trusting trust manager /**
* Install the all-trusting trust manager.
*/
private static final SSLContext sc; private static final SSLContext sc;
static { static {
try { try {
sc = SSLContext.getInstance("TLSv1.3"); sc = SSLContext.getInstance("SSL");
sc.init(null, TRUSTLESS_MANAGER, new java.security.SecureRandom()); sc.init(null, TRUSTLESS_MANAGER, new java.security.SecureRandom());
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -37,5 +37,4 @@ public abstract class TrustlessSSLSocketFactory {
public static SSLSocketFactory getSocketFactory() { public static SSLSocketFactory getSocketFactory() {
return sc.getSocketFactory(); return sc.getSocketFactory();
} }
} }