dotfiles/.config/Code/User/History/3ebedc2c/Fva6.java
RafayAhmad7548 4f46de8d00 update
2024-09-09 16:59:28 +05:00

72 lines
No EOL
2.3 KiB
Java

package com.rutils;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse.BodyHandlers;
import java.security.KeyStore;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
public class HttpsUtil{
static HttpClient client;
static{
try{
KeyStore keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(HttpsUtil.class.getClassLoader().getResourceAsStream("ksclient.p12"), "ksclient7548".toCharArray());
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(keyStore);
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, tmf.getTrustManagers(), null);
client = HttpClient.newBuilder()
.sslContext(sslContext)
.build();
}
catch(Exception e){
e.printStackTrace();
}
}
public static boolean verifyCredentials(String username, String password){
try{
String jsonPayload = String.format("{\"username\":\"%s\", \"password\":\"%s\"}", username, password);
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("https://localhost:8000/login"))
.header("Content-Type", "application/json")
.POST(BodyPublishers.ofString(jsonPayload))
.build();
HttpResponse<String> httpResponse = client.send(request, BodyHandlers.ofString());
boolean response = Boolean.parseBoolean(httpResponse.body());
return response;
}
catch(URISyntaxException e1){
System.err.println("Invalid Uri provided for http request");
e1.printStackTrace();
}
catch(InterruptedException e2){
System.err.println("sending request interuppterd Eroor");
e2.printStackTrace();
}
catch(IOException e3){
System.err.println("io exeception when sending http request");
e3.printStackTrace();
}
return false;
}
}