aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/b.java
diff options
context:
space:
mode:
authorsyeyoung <cyong06@naver.com>2020-12-18 17:09:45 +0900
committersyeyoung <cyong06@naver.com>2020-12-18 17:09:45 +0900
commit07888566e25bb22e4e66d98059d50a9a33283ac4 (patch)
tree44e54dde275b61e32172eafe488bfb03eb18c85d /src/main/java/kr/syeyoung/dungeonsguide/b.java
parente6f83a23279ba7f2254efa4b49074fbc49bfb054 (diff)
downloadSkyblock-Dungeons-Guide-07888566e25bb22e4e66d98059d50a9a33283ac4.tar.gz
Skyblock-Dungeons-Guide-07888566e25bb22e4e66d98059d50a9a33283ac4.tar.bz2
Skyblock-Dungeons-Guide-07888566e25bb22e4e66d98059d50a9a33283ac4.zip
huh
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/b.java')
-rwxr-xr-x[-rw-r--r--]src/main/java/kr/syeyoung/dungeonsguide/b.java58
1 files changed, 53 insertions, 5 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/b.java b/src/main/java/kr/syeyoung/dungeonsguide/b.java
index 032d8e4e..056502f1 100644..100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/b.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/b.java
@@ -13,11 +13,15 @@ import org.apache.commons.codec.binary.Base64;
import javax.crypto.*;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
+import javax.net.ssl.*;
import javax.xml.bind.DatatypeConverter;
import java.io.*;
import java.math.BigInteger;
import java.net.*;
import java.security.*;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
@@ -44,8 +48,48 @@ public class b {
a();
}
+ private SSLSocketFactory e() throws NoSuchAlgorithmException, KeyManagementException, CertificateException, KeyStoreException, IOException {
+ X509Certificate a = (X509Certificate) CertificateFactory.getInstance("X.509")
+ .generateCertificate(new ByteArrayInputStream(("-----BEGIN CERTIFICATE-----\n" +
+ "MIIEZTCCA02gAwIBAgIQQAF1BIMUpMghjISpDBbN3zANBgkqhkiG9w0BAQsFADA/\n" +
+ "MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\n" +
+ "DkRTVCBSb290IENBIFgzMB4XDTIwMTAwNzE5MjE0MFoXDTIxMDkyOTE5MjE0MFow\n" +
+ "MjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxCzAJBgNVBAMT\n" +
+ "AlIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuwIVKMz2oJTTDxLs\n" +
+ "jVWSw/iC8ZmmekKIp10mqrUrucVMsa+Oa/l1yKPXD0eUFFU1V4yeqKI5GfWCPEKp\n" +
+ "Tm71O8Mu243AsFzzWTjn7c9p8FoLG77AlCQlh/o3cbMT5xys4Zvv2+Q7RVJFlqnB\n" +
+ "U840yFLuta7tj95gcOKlVKu2bQ6XpUA0ayvTvGbrZjR8+muLj1cpmfgwF126cm/7\n" +
+ "gcWt0oZYPRfH5wm78Sv3htzB2nFd1EbjzK0lwYi8YGd1ZrPxGPeiXOZT/zqItkel\n" +
+ "/xMY6pgJdz+dU/nPAeX1pnAXFK9jpP+Zs5Od3FOnBv5IhR2haa4ldbsTzFID9e1R\n" +
+ "oYvbFQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E\n" +
+ "BAMCAYYwSwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5p\n" +
+ "ZGVudHJ1c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTE\n" +
+ "p7Gkeyxx+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEE\n" +
+ "AYLfEwEBATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2Vu\n" +
+ "Y3J5cHQub3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0\n" +
+ "LmNvbS9EU1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYf\n" +
+ "r52LFMLGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0B\n" +
+ "AQsFAAOCAQEA2UzgyfWEiDcx27sT4rP8i2tiEmxYt0l+PAK3qB8oYevO4C5z70kH\n" +
+ "ejWEHx2taPDY/laBL21/WKZuNTYQHHPD5b1tXgHXbnL7KqC401dk5VvCadTQsvd8\n" +
+ "S8MXjohyc9z9/G2948kLjmE6Flh9dDYrVYA9x2O+hEPGOaEOa1eePynBgPayvUfL\n" +
+ "qjBstzLhWVQLGAkXXmNs+5ZnPBxzDJOLxhF2JIbeQAcH5H0tZrUlo5ZYyOqA7s9p\n" +
+ "O5b85o3AM/OJ+CktFBQtfvBhcJVd9wvlwPsk+uyOy2HI7mNxKKgsBTt375teA2Tw\n" +
+ "UdHkhVNcsAKX1H7GNNLOEADksd86wuoXvg==\n" +
+ "-----END CERTIFICATE-----").getBytes()));
+
+ KeyStore b = KeyStore.getInstance(KeyStore.getDefaultType());
+ b.load(null, null);
+ b.setCertificateEntry(Integer.toString(1), a);
+
+ TrustManagerFactory c = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+ c.init(b);
+
+ SSLContext d = SSLContext.getInstance("TLSv1.2");
+ d.init(null, c.getTrustManagers(), null);
+ return d.getSocketFactory();
+ }
- public String b() throws IOException, AuthenticationException, NoSuchAlgorithmException, IllegalBlockSizeException, InvalidKeyException, BadPaddingException, InvalidAlgorithmParameterException, NoSuchPaddingException {
+ public String b() throws IOException, AuthenticationException, NoSuchAlgorithmException, IllegalBlockSizeException, InvalidKeyException, BadPaddingException, InvalidAlgorithmParameterException, NoSuchPaddingException, CertificateException, KeyStoreException, KeyManagementException {
Session a = Minecraft.getMinecraft().getSession();
String b = a.getToken();
@@ -66,8 +110,11 @@ public class b {
return (JsonObject) new JsonParser().parse(b);
}
- private String a(GameProfile d) throws IOException {
- HttpURLConnection a = (HttpURLConnection) new URL("https://dungeonsguide.kro.kr/auth/requestAuth").openConnection();
+
+
+ private String a(GameProfile d) throws IOException, NoSuchAlgorithmException, CertificateException, KeyStoreException, KeyManagementException {
+ HttpsURLConnection a = (HttpsURLConnection) new URL("https://dungeonsguide.kro.kr/auth/requestAuth").openConnection();
+ a.setSSLSocketFactory(e());
a.setRequestProperty("User-Agent", "DungeonsGuide/1.0");
a.setRequestProperty("Content-Type", "application/json");
a.setRequestMethod("POST");
@@ -82,8 +129,9 @@ public class b {
}
return c.get("data").getAsString();
}
- private String a(String a, PublicKey b) throws IOException {
- HttpURLConnection c = (HttpURLConnection) new URL("https://dungeonsguide.kro.kr/auth/authenticate").openConnection();
+ private String a(String a, PublicKey b) throws IOException, NoSuchAlgorithmException, CertificateException, KeyStoreException, KeyManagementException {
+ HttpsURLConnection c = (HttpsURLConnection) new URL("https://dungeonsguide.kro.kr/auth/authenticate").openConnection();
+ c.setSSLSocketFactory(e());
c.setRequestMethod("POST");
c.setRequestProperty("User-Agent", "DungeonsGuide/1.0");
c.setRequestProperty("Content-Type", "application/json");