목록분류 전체보기 (221)
코딩마을방범대

token 같은 response가 항상 바뀌는 값은 일일히 api 별로 request 값을 수정해주기 번거롭다 이 같은 경우에 response 값을 바로 변수로 저장할 수 있는 방법을 사용하는 것이 편리하다! response 데이터를 받을 api request에서 Tests 탭에 하기와 같이 코드를 작성한다 jsonData.data의 data는 json key값을 기입하면 됨 var jsonData = JSON.parse(responseBody); if (jsonData) { pm.environment.set("부여할 변수명",jsonData.data); } 해당 api 폴더에 부여된 변수 그룹에 변수명이 추가되며, 변수명에 해당 데이터가 저장된다. ❗❗ Tests 탭에 console.log를 찍을 경우..

의존성 추가 // https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt implementation group: 'io.jsonwebtoken', name: 'jjwt', version: '0.9.1' 간단한 토큰 생성과 검증 토큰 생성 KEY값은 난수 생성 사이트 에서 생성하여 사용할 수 있음 key = 256bit 난수; //Header 부분 설정 Map headers = new HashMap(); // 토큰의 유형 headers.put("typ", "JWT"); // 서명 알고리즘 headers.put("alg", "HS256"); //payload 부분 설정 Map payloads = new HashMap(); // 저장할 데이터 설정(AES암호화) p..
JWT (Json Web Token) 인증에 필요한 정보들을 암호화시킨 JSON 토큰 인증(authentication) 또는 인가(authorization) 정보를 서버와 클라이언트 간에 안전하게 주고 받기 위해서 사용 JSON 데이터를 Base64 URL-safe Encode 를 통해 인코딩하여 직렬화한 것 (위변조 방지를 위해 개인키를 통한 전자서명이 들어있음)Base64 URL-safe Encode 는 일반적인 Base64 Encode 에서 URL 에서 오류없이 사용하도록 '+', '/' 를 각각 '-', '_' 로 표현한 것 Authorization HTTP 헤더를 Bearer 으로 설정하여 클라이언트에서 서버로 전송 서버에서는 토큰에 포함되어 있는 서명(signature) 정보를 통해서 위변조 ..
인증서 가져오기 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...
원래 웹에서의 데이터는 가로채면 누구나 읽을 수 있는 일반 텍스트 형태로 전송되었음 SSL (Secure Scokets Layer) 암호화 기반 인터넷 보안 프로토콜 개인정보 보호, 인증, 데이터 무결성을 보장하기 위해 Netscape가 1995년에 개발 전달되는 모든 데이터를 암호화하고 특정한 유형의 사이버 공격도 차단 TLS(Transport Layer Security) 암호화의 전신이기도 함 SSL/TLS 를 사용하는 웹사이트 URL은 HTTP 대신 HTTPS을 사용 SSL은 1996년 SSL 3.0 이후 업데이트되지 않았으며, 알려진 취약성이 여러가지가 있어 보안 전문가들은 SSL 사용 중단을 권장 SSL의 대안으로는 TLS가 있음 TLS 최신 암호화 프로토콜 SSL 암호화로 혼용해서 부르는 경우..
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..