그 외 ... (정리해야함)

RSA 알고리즘을 이용하면 공개키/개인키 쌍이 생성된다. 우리는 암호화 통신을 이용하여 통신할 때 공새키를 사용자들에게 공개하게 되는데, 이 공개키가 해당 도메인(ex naver.com)에서 발행한것에 대한 보징을 받기 위해 인증기관(CA)에 공개키를 등록하게 된다. 이는 마치 인감도감을 만들어서 동사무소에 인감을 등록하는 과정과 같은데, 인감도장의 내용을 동사무소에 등록하면 동수마소는 이것이 내가 발행한 인감이라는 것을 보증하여 준다. 공개키(인감도장, 인증서) / 인증기관(동사무소, CA) 여기서 인증기관(CA)은 나의 공개키(인증서)를 보증하기 위해서 서명을 하게 된다. 여기서 서명이란 나의 공개키의 해쉬된 값(SHA256)을 인증기관의 개인키로 암호화 한 결과값을 뜻한다. ⇒ 디지털 서명(Digi..
2020/03/10 - [그 외 ... (정리해야함)/꿀팁] - 인증서 해쉬와 디지털 서명(Hash and Digital Signing) Self Signed Certificate(SSC)란? 인증서(digital certificate) ⇒ 인증기관의 개인키로 인증서 소유자의 공개키를 전자서명한 데이터 모든 인증서는 발급기관(CA)가 있어야지만 최상위 인증기관(ROOT CA)는 서명해줄 상위 인증기관이 없으므로 개인키로 스스로의 인증서에 서명하여 최상위 인증기관 인증서를 만든다. 이렇게 스스로 서명한 ROOT CA 인증서를 Self Signed Certifiacte라고 한다. 브라우저에서는 유명한 ROOT CA들의 인증서를 신뢰하는 CA로 미리 등록해 놓기 때문에, 우리가 만든 인증서는 신뢰할 수 없는 ..
PEM 인코딩된 인증서 정보를 출력 $ openssl x509 -text -noout -in 인증서.pem DER 인코딩된 인증서 정보를 출력(-inform der 옵션 추가) $ openssl x509 -text -noout -in 인증서.der -inform der 인코딩 변환(DER -> PEM) $ openssl x509 -inform der -outform pem -in 인증서.der -out 인증서.pem
PEM -> DER(바이너리) $ openssl x509 -in 원본인증서.pem -out 저장인증서.der -outform DER (인증서) $ openssl rsa -in 원본개인키.pem -out 저장개인키.der -pubout -outform DER (개인키) DER/CER(바이너리) -> PEM $ openssl x509 -in 원본인증서.cer -out 저장인증서.pem -outform pem $ openssl x509 -in 원본인증서.der -out 저장인증서.pem -inform der -outform pem pkcs#12 -> crt $ openssl pkcs12 -in pkcs12.p12 -clcerts -nokeys -out 저장인증서.crt privateKey + 인증서 -> pf..
RHEL/CentOS Linux는 기본 패키지에 포함되어 있으므로, 별도 설치가 필요 x Windows나 기타 Unix에서는 별도의 설치가 필요함 개인키(PrivateKey) 생성 암호화하지 않은 개인키 생성 $ openssl genrsa -out private_key.pem 1024 3DES로 암호화된 개인키 생성(PassPhrase를 입력해야 한다.) $ openssl genrsa -des3 -out enc_private_key.pem 1024 기존 개인키에 패스워드 추가 $ openssl rsa -des3 -in private_key.pem -out enc_private_key.pem 기존 개인키에 패스워드 제거 $ openssl rsa -in enc_private_key.pem -out priva..
restTemplate을 이용해서 response body를 String.class로 변환했을 때 한글이 깨지는 현상이 있었다. 이상하게도 여태까지 이런적은 없었는데.. 특정한 프로젝트에서만 발생하였음.(너무오래되서 전역적인 설정은 기억이안남...) 일단 급하게 처리한 방법은 아래와 같다. restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8"))); restTemplate.getForObject(url, String.class); restTemplate이 가지고있는 messageConverter List의 맨 앞에 StringHttpMessageConverter를 넣어주는 거다. (r..
매우 간단함 H2 데이터베이스 기본 설정 spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.h2.console.enabled=falseH2데이터베이스는 따로 설정하지 않으면, 위의 값이 기본값으로 설정됨 testdb 스키마에 mem(인 메모리 방식)으로 동작하라는 설정 우리는 콘솔이 필요하므로, application.properties에 spring.h2.console.enabled=true만 설정해주면됨 서버를 띄운 후 localhost:8080/h2-console 로 접속하면 위..
Stream을 이용한 2중 for문 우리는 2중 for문을 종종 사용해야할 때가 있다. Stream을 이용하여 2중 for문을 구현해보자. 상황 public static void main(String[] args) { List list1 = Arrays.asList("a", "b", "c", "d", "e"); List list2 = Arrays.asList("a", "b", "d"); // 2중 for문은 stream으로 어떻게 작성할까? // 만약 for문을 돌면서 같은 것만 list에 담고 싶다면? // 8버전 이전 List result1 = new ArrayList(); for(String str1 : list1){ for(String str2 : list2){ if(str1.equals(str2..
이 포스팅을 하는 이유는, MAC에 윈도우 PC 키보드를 연결하면 키보드배열이 달라서 무척 불편해서이다. 일단 차이점을 알아보자. 애플키보드 Fn / Control / Option / Command 순 (왼쪽 기준) 윈도우 키보드 Ctrl / 윈도우키 / Alt 순 여기서 윈도우 키보드를 MAC북에 연결하게 되면 다음과 같이 매핑된다. MAC Window(일반키보드) Command키 윈도우키 Option키 Alt키 맥북에서는 맨 오른쪽에 Command키가 있는데 윈도우 키보드를 연결하면 맨 오른쪽에서 한칸 왼쪽에 있는 것이 Command가 되는 것이다. (무척 헷갈림) 키보드 배열을 동일하게 설정해 보자 1. 환경설정 > 키보드 2. 보조키 3. 연결된 키보드의 매핑 순서를 변경 Option -> Com..
깡냉쓰
'그 외 ... (정리해야함)' 카테고리의 글 목록 (2 Page)