목록java (78)
코딩마을방범대
인증서 가져오기 CertificateFactory 지정된 타입의 CertificateFactory 객체를 작성해, 지정된 프로바이더를 구현 (SPI 객체) ※ -1: 저장된 인증서 / -2: String값 1. getInstance(문자열 알고리즘) 지정된 인증서 유형을 구현하는 인증서 팩토리 객체를 반환 // 공개키 유형의 X.509를 이용 CertificateFactory cf = CertificateFactory.getInstance("X.509"); 2-1. 파일 읽기 FileInputStream in = new FileInputStream(파일경로); 2-2. String inputStream에 담기 바이트코드로 바꾼 후 inputStream으로 생성 Byte[] crtByte = Base64...
X.509 공개 키 인증방식의 형식을 정의하는 표준 HTTPS의 기초가 되는 TLS/SSL을 포함한 많은 인터넷 프로토콜에서 사용 인증서 디지털 서명으로 내용 변경과 위장 행위를 검출하고, 부인을 방지할 수 있음 인증서의 표준 규격 버전(Verion Number) 인증서의 버전 시리얼 번호(Serial Number) CA가 할당한 정수로 된 고유 번호 CRL에서는 이 번호로 폐지한 인증서를 구별 서명 알고리즘(Signature Algorithm ID) 인증기관이 사용한 서명 알고리즘 발행자(Issuer Name) 인증서를 발행한 인증기관의 이름 Name(DN) 형식으로 기술됨 (사용자는 이 발행자와 시리얼 번호로 인증서를 구별) 유효기간(Validaty period) Not Before, Not Afte..
List findAllByLikeStatusAndUser_UserKey(LikeStatus likeStatus, String userKey) 위 코드와 같이 Query Method에 언더바가 있는 경우 아래 코드와 같이 연관관계 매핑이 이루어져있을 수 있음 // Like 테이블 @ManyToOne private User user; private LikeStatus likeStatus; JPA에서 지원하는 Query Method 자체에서 언더바가 JOIN 기능을 가지는게 아니라 Like 테이블에 user_key라는 필드를 가지고 있을 경우를 대비해 언더바를 이용해 그 모호성을 해결해 준 것 참고사이트
RSA 암호화 SSL/TLS에 가장 많이 사용되는 공개키 암호화 알고리즘 소인수분해 문제에 기반하여 알고리즘이 만들어졌음 암호화 뿐만 아니라 전자서명이 가능한 최초의 알고리즘 큰 정수의 소인수 분해의 난해함에 기반하여, 공개키만을 가지고는 개인키를 쉽게 짐작할 수 없도록 디자인되어 있음 RSA-2048 전에는 숫자가 number of digits 를 의미했으나 RSA-2048 부터는 bit 을 의미 RSA-2048 617 자리 숫자를 Key 로 사용 Bouncy Castle란 경량 암호화에 사용되는 API 모음 Java 및 C# 프로그래밍 언어 모두에 대한 API가 포함 JCE(Java Cryptography Extension) 및 JCA(Java Cryptography Architecture), JSS..
Spring Security란 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크 Principal을 아이디로, Credential을 비밀번호로 사용하는 Credential 기반의 인증 방식을 사용 Principal(접근 주체): 보호받는 Resource에 접근하는 대상 Credential(비밀번호): Resource에 접근하는 대상의 비밀번호 인증과 인가란 인증(Authentication) 해당 사용자가 본인이 맞는지 확인하는 절차 인가(Authorization) 인증된 사용자가 요청한 자원에 접근 가능한지 결정하는 절차 Spring Security의 주요 모듈 SecurityContextHolder 보안 주체의 세부 정보를 포함하여 응용프래그램의 현재 보..
File 클래스 파일 내용이 아닌, 파일 자체(껍데기)를 다룸 파일 스트림을 열기 전에 실제 파일에 대한 정보를 확인할 수 있고, 파일 자체를 삭제하거나 이름을 변경하는 등의 작업을 수행할 수 있음 File 생성자 new File(File parent, String child) : 상위 주소와 파일 이름(또는 디렉토리) new File(String pathname) : 상위 주소 new File(String parent, String child) : 상위 주소와 파일 이름(또는 디렉토리) new File(URI uri) : 파일의 uri 주소 File 메소드 1. 파일의 정보 메소드명 리턴값 기능 exists() boolean 파일이 실제 존재하는지 판단 isDirectory() boolean 디렉토리인..

로깅(Logging)이란? Log4j란? JAVA를 사용하여 Log를 남기는 도구 자바 기반의 로깅 유틸리티로 Apache에서 만든 오픈소스 라이브러리 log4j의 설정은 log4j.properties / log4j.xml 로 설정 Log 컴퓨터가 언제, 무슨 일을, 어떻게 했는지 남겨 놓은 기록 Log4j 구성 요소 요소 설명 Logger 출력할 메시지를 Appender에 전달 Appender 전달된 로그를 어디에 출력할지 결정(콘솔 출력, 파일 기록, DB 저장 등) Layout 로그를 어떤 형식으로 출력할지 결정 Appender 로그를 출력할 위치, 출력 형식 등을 지정 Appender태그는 Logger태그들보다 위에 있어야 함 요소 설명 ConsoleAppender org.apache.log4j...
Controller가 제대로 동작하지 않을 경우 확인해야하는 사항 1. 컨트롤러 클럐스의 최상단에 @Controller 어노테이션을 넣었는지 2. 컨트롤러가 메인 클래스(~Application.java)가 위치한 패키지 하위에 위치해있는지 메인 클래스에 붙어있는 @SpringBootApplication 어노테이션은 @Configuration, @EnableAutoConfiguration, @ComponentScan 3가지를 합친 것 @Configuration: 해당 클래스가 설정 파일임을 알려주는 용도 @EnableAutoConfiguration: 스프링의 다양한 설정이 자동으로 구성되고 완료됨 @ComponentScan: 자동으로 컴포넌트 클래스를 검색하여 컴포넌트와 빈 클래스를 Spring Appli..