300x250
반응형

Back-End/Java 12

[Java] tomcat 에서 SSL 적용시 Cannot recover key 에러 날 때

톰캣에서 SSL을 적용하려면 아래와 같은 소스를 입력 해야 합니다. 물론 그 전에 해당 SSL 업체에서 받은 key 파일을을 톰캣에서 사용할 수 있게끔 변환 해야 합니다. keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12 -destkeystore cert.jks -deststoretype jks 위의 예제는 PKCS(.pfx) 에서 keystore 파일로 변환 하는 명령어입니다. keytool은 자바에서 bin 폴더에 있는 파일입니다. 다른 crt파일을 변환 하는 방법도 있긴 한데 왠만하면 업체에서 pfx를 지원해주리라 보기 때문에 이게 편합니다. 다른건 좀 복잡하더군요. 어쨌든 적용을 해보니 톰캣 부팅시에 "Cannot recover..

Back-End/Java 2023.03.27

[Java] Java keytool - pfx에서 jks(JavaKeyStore)로 변환

Java keytool - pfx to jks(JavakeyStore) 변환 ※ 주의 사항 keytool 명령어는 JDK가 설치된 PC나 서버에서 사용할 수 있습니다. 아래의 경로에서 패키지를 설치 후 진행 하십시오. jdk or jre 패키지 - http://www.java.com/ko/download/manual.jsp [인증서 변환] 예) keytool -importkeystore -srckeystore 변환할파일.pfx -srcstoretype pkcs12 -destkeystore 변환될파일.jks -deststoretype jks ※ pfx 파일명은 ssl_kr.pfx라 가정하여 변환해보도록 하겠습니다. # keytool -importkeystore -srckeystore ssl_kr.pfx -..

Back-End/Java 2023.03.27

[Java] java로 구현한 코드 Windows Batch 스케줄링

- 서론 - 얼마 전에 타사 api를 호출해와서 DB에 저장하는 로직을 java로 구현하고 일 1회 실행시키는 업무가 주어졌다. java 파일에 로직을 다 짜고 실행시키면 DB에 들어가는 것까지 확인했는데, 이 파일을 어떻게 스케쥴링하면 좋을까 고민이 되었다. 고민된 이유 : 이전에 작성한 게시글 ( https://in0-pro.tistory.com/62 )에서 cron으로 스케쥴링을 구현했는데, [Spring] cron으로 스케쥴링 구현하기 (쉽고 자세한 설명) 회사에서 스케쥴링 구현으로 4시간 동안 삽질해서 알아냈다.. 초등학생도 알기 쉽게 차근차근 설명해드림! (spring 프로젝트를 생성했다는 가정 하에 시작함) 1. 스케쥴러 로직이 들어갈 자리를 만 in0-pro.tistory.com 다음에는 ..

Back-End/Java 2023.03.21

[Java] FTP 파일 전송하는 방법 (Apache commons-net Lib)

자바로 FTP 통신하기 (파일 업로드) 파일질라, 알FTP(?) 같은 훌륭한 FTP프로그램들이 이미 있지만 자바로 간단하게 파일을 전송하는 프로그램을 찾아보았다. (사실 텔넷으로 명령어 쓸 일이 있어서 telnet 라이브러리를 찾다가 ftp도 흥미가 생겨 한번 사용해보는 것...) * 참고로 apache에서 commons-net 이라고 라이브러리를 제공하는데 여기에 telnet도 있고 NTP, FTP등 다양한 일반적인 프로토콜이 있어서 일반적인 프로토콜 통신 기능을 쉽게 사용할 수 있다. ftp로 통신을 하려면 먼저 ftp서버가 돌고 있어야 파일 전송을 받아준다. virtual machine 을 사용해서 리눅스(우분투)를 설치한 후에 ftp서버를 사용할 수 있게 바꿔줘야 한다. (마지막에 설명함) 1 2..

Back-End/Java 2023.03.21

[Java] JAVA에서 JSON API parse시 ALLOW_NON_NUMERIC_NUMBERS, Object타입 등의 에러해결

자바에서 JSON API 호출 시 나는 에러 Non-standard token 'NaN': enable JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS to allow 위와 같은 에러 해결에는 mapper.enable ALLOW_NON_NUMERIC_NUMBERS 추가 ObjectMapper mapper = new ObjectMapper(); mapper.enable(JsonReadFeature.ALLOW_NON_NUMERIC_NUMBERS.mappedFeature()); Cannot deserialize value of type `java.util.ArrayList` from Object value (token `JsonToken.START_OBJECT`) Object ..

Back-End/Java 2023.03.07

[Java] RSA 방식을 이용한 전자 서명

1. RSA 방식이란 공개키와 개인키를 이용한 대표적인 암호화 방식이다. 전자 서명이 가능한 최초의 알고리즘이다. AES와 DES와 같은 대칭키 암호화 방식의 문제점인 키의 노출 문제를 해결한다. Kerckhoff가 만든 암호화 알고리즘이다. 2. 공개키와 비밀키 공개키 (Public Key) : 누구에게나 공개될 수 있으며 메시지를 보내는 발신자는 공개키를 통해 정보를 암호화한다. 비밀키 (Private Key) : 수신자는 비밀키를 암호화된 메시지를 복호화하는데 사용한다. 외부에 노출되지 않도록 안전하게 보관해야 한다. 3. 구현방식 구현 방식은 Client가 (로그인 시도자)가 평문을 비밀키를 가지고 암호화한 후 공개키를 DB에 저장하고 있는 서버는 사용자 정보 중 공개키를 조회할 수 있는 값으로 ..

Back-End/Java 2023.02.15

[Java] 자바 byte 단위로 문자열 자르기

자바에서 문자열 길이를 byte 단위로 가져오는 방법은 다음과 같다. UTF-8 기준 한글은 3바이트, 알파벳 대소문자나 숫자 및 띄어쓰기는 1바이트로 계산된다. String str = “테스트”; int bytesLen = str.getBytes().length; 문자열을 byte 단위로 자르기 위해서는 String 생성자를 이용하는 방법이 있다. 알파벳 대소문자와 숫자만으로 이뤄진 문자열을 자르기 위해서는 가장 좋은 방법이다. 아래는 6바이트까지 문자열을 자르는 예제다. String str = “테스트”; int endBytes = 6; String result = new String(str.getBytes(), 0, endBytes); 그런데 new String(str.getBytes(), 0, e..

Back-End/Java 2023.02.10

[JAVA]JXLS, POI JAVA에서 Excel 사용하는 구현 방법 및 종류 비교

개발을 하다 보면 종종 운영에서 엑셀 다운로드 기능에 대한 요구가 있는데, 이번에 Java에서 엑셀 다운로드를 구현하는 방법에 대해 알아보겠습니다. Java에서 엑셀 다운로드 기능을 위해 자주 쓰이는 방식으로 JXLS 라이브러리를 이용한 방식과 POI 라이브러리를 이용한 방식이 있습니다. ( ‘제이엑셀’, ‘포이’ 라고들 읽죠 ㅎㅎ) 1. JXLS 라이브러리를 이용한 엑셀 다운로드 기능 구현 방법 2. 티몬에서 JXLS를 이용했을 때의 장애발생 및 해결방안 3. POI 라이브러리의 SXSSF를 이용한 엑셀 다운로드 기능 구현 방법 1. JXLS 라이브러리를 이용한 엑셀 다운로드 1-1) JXLS 이란 ? - JXLS은 개발자가 미리 만들어 놓은 엑셀 템플릿 파일을 토대로 데이터가 자동으로 쓰여지기 때문에..

Back-End/Java 2023.02.09

[Java]자바(Java) 한글 초성 검색

1. 소개 한글 초성 검색으로 유효성 검사 및 Mini 검색 도구 안드로이드서 사용하든, java에서 사용하든 한글 초성으로 검색을 위해 일단 유효성 검사 필터를 예전에 만듬 연산은 조금 복잡하지만 구조는 상당히 간단히 되어있음. 지속적으로 업데이트 할 예정 *gradle은 안드로이드 버전 전용임. 다른곳에서 쓰려면 Github 코드에서 클래스 하나 복사 하면됨. 2. Gradle repositories { maven { url "https://jitpack.io" } } dependencies { compile 'com.github.roka88:searchkorean:0.0.1' } 3.사용법 RokaSearchKorean rokaSearchKorean = new RokaSearchKorean(); b..

Back-End/Java 2023.02.09

[Java]자바 한자를 한글로 변환 - UTF-8

입력된 한자를 한글로 변환하는 방법을 소개하고자 한다. 한자란게 여러 한글로 변환이 가능하기 때문에 해당 방법으로는 완벽한 한글로 변환되는 것을 바라지 않는 것이 좋을 것이다. 한자를 한글로 변환해 주는 부분의 코드 구현은 다음과 같다. public static String getHangle(String hanja) throws UnsupportedEncodingException { char unicode = 0x0000; byte[] hanjaByte = hanja.getBytes("UTF-8"); for( int i = 0; i < hanjaByte.length; ) { if( (hanjaByte[i]&0xFF) < 0x80 ) // 1Byte Character { i++; continue; } el..

Back-End/Java 2023.02.09
300x250
반응형