사설 인증서를 통한 https 통신 기능 #4

- 테스트 진행중
main
icksishu@gmail.com 1 week ago
parent df436c832d
commit ded7a6f68a

@ -1,18 +1,18 @@
{
"description": "bsm-lab 서버에서 실행함. postgres 연결.",
"myHostId": "agent-bsm-lab-postgres",
"myHostName": "192.168.0.41",
"myHostName": "agent-bsm-lab-postgres",
"myListenPort": 17801,
"sslEnabled": true,
"keyStorePath": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/agent-bsm-lab-postgres/cert/dfxagent-bsm-lab-postgres.p12",
"keyStorePath": "file:/D:/projects/bsm-lab/dfx/dfxagent/src/docs/agent-bsm-lab-postgres/cert/dfxagent-bsm-lab-postgres.p12",
"keyStorePassword": "qortpals1!",
"keyStoreAlias": "agent-bsm-lab-postgres",
"trustStorePath": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/agent-bsm-lab-postgres/cert/truststore-bsm-lab-postgres.jks",
"trustStorePath": "file:/D:/projects/bsm-lab/dfx/dfxagent/src/docs/agent-bsm-lab-postgres/cert/truststore-merged.jks",
"trustStorePassword": "qortpals1!",
"knownAgentList": [
{
"hostId": "agent-tuf-a15-defree-oracle",
"hostName": "192.168.0.41",
"hostName": "agent-tuf-a15-defree-oracle",
"listenPort": 63801,
"sslEnabled": true,
"dropBoxIdList": [

@ -4,10 +4,12 @@ setlocal
REM Update this path for your Windows environment.
set "JAVA_HOME=C:\Program Files\Java\jdk-17"
set "AGENT_HOME=D:\projects\bsm-lab\dfx\dfxagent\src\docs\agent-bsm-lab-postgres"
set "JAVA_OPTS= -Dfile.encoding=UTF-8 -Xms2048m -Xmx8192m -XshowSettings:properties"
set "TLS_OPTS= -Djavax.net.debug=ssl,handshake,trustmanager -Djavax.net.ssl.trustStore="%AGENT_HOME%\cert\truststore-merged.jks" -Djavax.net.ssl.trustStorePassword=qortpals1! -Djavax.net.ssl.keyStore="%AGENT_HOME%\cert\dfxagent-bsm-lab-postgres.p12" -Djavax.net.ssl.keyStorePassword=qortpals1! -Djavax.net.ssl.keyStoreType=PKCS12"
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd"') do set "TODAY=%%i"
chcp 65001
start "" "%JAVA_HOME%\bin\java.exe" -Dfile.encoding=UTF-8 -jar "%AGENT_HOME%\..\..\..\build\libs\dfxagent-1.0.9.jar" -Xms2048m -Xmx8192m --setting.file="%AGENT_HOME%\conf\dfxagent-bsm-lab-postgres.json"
start "" cmd /c ""%JAVA_HOME%\bin\java.exe" %JAVA_OPTS% %TLS_OPTS% -jar "%AGENT_HOME%\..\..\..\build\libs\dfxagent-1.0.9.jar" --setting.file="%AGENT_HOME%\conf\dfxagent-bsm-lab-postgres.json" 1>>"dfxagent-bsm-lab-postgres-console-debug-%TODAY%.log" 2>&1"
endlocal

@ -1,18 +1,18 @@
{
"description": "로컬에서 실행함. defree.ddns.net의 oracle 연결",
"myHostId": "agent-tuf-a15-defree-oracle",
"myHostName": "192.168.0.41",
"myHostName": "agent-tuf-a15-defree-oracle",
"myListenPort": 63801,
"sslEnabled": true,
"keyStorePath": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/agent-tuf-a15-defree-oracle/cert/dfxagent-tuf-a15-defree-oracle.p12",
"keyStorePath": "file:/D:/projects/bsm-lab/dfx/dfxagent/src/docs/agent-tuf-a15-defree-oracle/cert/dfxagent-tuf-a15-defree-oracle.p12",
"keyStorePassword": "qortpals1!",
"keyStoreAlias": "agent-tuf-a15-defree-oracle",
"trustStorePath": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/agent-tuf-a15-defree-oracle/cert/truststore-tuf-a15-defree-oracle.jks",
"trustStorePath": "file:/D:/projects/bsm-lab/dfx/dfxagent/src/docs/agent-tuf-a15-defree-oracle/cert/truststore-merged.jks",
"trustStorePassword": "qortpals1!",
"knownAgentList": [
{
"hostId": "agent-bsm-lab-postgres",
"hostName": "192.168.0.41",
"hostName": "agent-bsm-lab-postgres",
"listenPort": 17801,
"sslEnabled": true,
"dropBoxIdList": [

@ -4,10 +4,12 @@ setlocal
REM Update this path for your Windows environment.
set "JAVA_HOME=C:\Program Files\Java\jdk-17"
set "AGENT_HOME=D:\projects\bsm-lab\dfx\dfxagent\src\docs\agent-tuf-a15-defree-oracle"
set "JAVA_OPTS= -Dfile.encoding=UTF-8 -Xms2048m -Xmx8192m -XshowSettings:properties"
set "TLS_OPTS= -Djavax.net.debug=ssl,handshake,trustmanager -Djavax.net.ssl.trustStore="%AGENT_HOME%\cert\truststore-merged.jks" -Djavax.net.ssl.trustStorePassword=qortpals1! -Djavax.net.ssl.keyStore="%AGENT_HOME%\cert\dfxagent-tuf-a15-defree-oracle.p12" -Djavax.net.ssl.keyStorePassword=qortpals1! -Djavax.net.ssl.keyStoreType=PKCS12"
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd"') do set "TODAY=%%i"
chcp 65001
start "" "%JAVA_HOME%\bin\java.exe" -Dfile.encoding=UTF-8 -jar "%AGENT_HOME%\..\..\..\build\libs\dfxagent-1.0.8.jar" -Xms2048m -Xmx8192m --setting.file="%AGENT_HOME%\conf\dfxagent-tuf-a15-defree-oracle.json"
start "" cmd /c ""%JAVA_HOME%\bin\java.exe" %JAVA_OPTS% %TLS_OPTS% -jar "%AGENT_HOME%\..\..\..\build\libs\dfxagent-1.0.9.jar" --setting.file="%AGENT_HOME%\conf\dfxagent-tuf-a15-defree-oracle.json" 1>>"dfxagent-tuf-a15-defree-oracle-console-debug-%TODAY%.log" 2>&1"
endlocal

@ -54,10 +54,28 @@ public class DfxAgentApplication {
props.put("server.port", agentConfigDto.getMyListenPort());
props.put("server.ssl.enabled", agentConfigDto.isSslEnabled());
props.put("server.ssl.key-store", agentConfigDto.getKeyStorePath());
String keyStoreFilePath = agentConfigDto.getKeyStorePath();
if(keyStoreFilePath.startsWith("file:")) {
keyStoreFilePath = keyStoreFilePath.substring(5);
}
File keyStoreFile = new File(keyStoreFilePath);
if(!keyStoreFile.exists()) {
System.out.println("cannot find a keystore file: " + keyStoreFilePath);
System.exit(0);
}
props.put("server.ssl.key-store-password", agentConfigDto.getKeyStorePassword());
props.put("server.ssl.key-alias", agentConfigDto.getKeyStoreAlias());
props.put("server.ssl.key-store-type", "PKCS12");
props.put("server.ssl.trust-store", agentConfigDto.getTrustStorePath());
String trustStoreFilePath = agentConfigDto.getTrustStorePath();
if(trustStoreFilePath.startsWith("file:")) {
trustStoreFilePath = trustStoreFilePath.substring(5);
}
File trustStoreFile = new File(trustStoreFilePath);
if(!trustStoreFile.exists()) {
System.out.println("cannot find a truststore file: " + trustStoreFilePath);
System.exit(0);
}
props.put("server.ssl.trust-store-password", agentConfigDto.getTrustStorePassword());
props.put("server.ssl.trust-store-type", "JKS");
props.put("server.ssl.client-auth", "need");

@ -286,7 +286,12 @@ public class MessageUtils {
log.debug("StatusChecker to {} send a message UUID {}", knownAgent.getHostName(), messageUuid);
String response = "";
AckDto ackDto = null;
try {
response = restTemplate.postForObject(url, bodyEntity, String.class);
}
catch(Exception e) {
log.error("send a alive message: response = restTemplate.postForObject(url, bodyEntity, String.class);", e);
}
ackDto = objectMapper.readValue(response, new TypeReference<AckDto>() {});
return ackDto;
}

Loading…
Cancel
Save