리눅스:openssl(ssl인증서): 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
55번째 줄: 55번째 줄:
|간단히 https 통신
|간단히 https 통신
|공식 기관을 통해 인증을 받은 것은 아니지만, 그 https 통신을 사용하기 위해.
|공식 기관을 통해 인증을 받은 것은 아니지만, 그 https 통신을 사용하기 위해.
|
 
*개인키와 CSR을 생성하고 자체서명 인증서를 만들고...
*웹서버에 적용한다.(아래 목차를 참고하자.)
|openssl genrsa -out my.key 2048 & openssl req -new -x509 -key my.key -out my.crt
|}
|}
= 웹서버에 적용 =
== nginx ==
/etc/nginx/sites-available/nginx_conf 등 사용하고 있는 설정파일을 다음과 같이 편집한다.<syntaxhighlight lang="bash">
# 기본 설정 외에 서버를 하나 더 만들어준다.
server {
        # 받을 포트.
        listen 10100 ssl;  # 443인데..일단.
        # 고정아이피.
        server_name example.iptime.org;  # 도메인
        # ssl 설정
        ssl_certificate /경로/my.crt;
        ssl_certificate_key /경로/my.key;
#### 이외 설정.
</syntaxhighlight>이후 <code>nginx -t</code> 등으로 설정파일을 점검하고 <code>sudo service nginx restart</code> 등으로 서버를 재시작한다.

2022년 12월 1일 (목) 17:20 기준 최신판

리눅스를 위한 문서틀 틀:리눅스


  1. 리눅스:명령어
    1. 리눅스:디렉터리관련
      1. 리눅스:저장장치관련
      2. 리눅스:df(디스크사용량)
      3. 리눅스:저장장치관련팁
      4. 리눅스:압축
    2. 리눅스:프로세스관련
  2. 리눅스:권한관련
  3. 리눅스:편의기능
    1. 리눅스 원격 관리
      1. 리눅스:SSH
      2. 리눅스:MobaXterm
    2. 리눅스:각종 설정
    3. 리눅스:cron(자동작업 등록)
    4. 리눅스:daemon(자동실행)
    5. 리눅스:alias(명령 축약)
    6. 리눅스:로그관리
      1. 리눅스:logrotate(로그파일관리)
    7. 리눅스:포트관리
  4. 리눅스 기반 OS
    1. 틀:우분투
  5. 리눅스:패키지 관리
    1. 리눅스:apt-get
  6. 다양한 패키지
    1. 리눅스:openssl(ssl인증서)
  7. 리눅스:쉘 스크립트
    1. 틀:Bash

개요[편집 | 원본 편집]

HTTPS 보안을 사용하기 위해 SSL을 구성하게 도와주는 패키지.

구글의 API를 사용하거나 할 때 https 보안이 요구되는 경우가 있다.

보통 리눅스에 기본적으로 설치되어 있다.

기초 사용법[편집 | 원본 편집]

쉘에서 openssl로 openssl 프롬프트에 접속할 수 있다. 아래 '방법'은 쉘에서 바로 실행하는 방법으로, 프롬프트에선 openssl을 제외하면 된다.

아래 방법에서 key나 csr 등의 확장자는 굳이 맞춰주지 않아도 된다.(아무 확장자로든 가능)

과정 설명 방법
개인키 발급 https에선 서비스를 등록할 때마다 비밀번호가 필요해 비밀번호가 없이 사용.

-des3옵션을 주면 비밀번호를 생성하는 문답이 발생한다.

openssl genrsa -out 파일명.key 2048
공개키 발급 개인키에 이어서 공개에 사용할 키도 발급해야 한다.

개인키는 위에서 만든 것을 사용한다.

openssl rsa -in 개인키.key -pubout -out 공개키.key
인증요청서 만들기 인증기관에 보낼 신청서를 만든다.(굳이 안하고 아래 내용을 진행해도 된다.)

각종 정보를 기입할 창이 뜨는데, 그냥 enter를 쳐도 잘 넘어간다.(마지막의 패스워드, 옵션 회사명은 안넣는 게 좋겠다.)

openssl req -new -key 개인키.key -out 인증서.csr
인증서 만들기

(인증요청서 없을 때)

openssl req -new -x509 -key 개인키.key -out 만들인증서파일명.crt
인증서 만들기

(인증요청서 있을 때)

openssl x509  -req  -days [유효날]  -in [인증사인요청파일]  -signkey [개인키]  -out [인증서 파일명]
인증서 검증 인증서에 관한 정보를 열람한다. openssl x509 -text -in [인증서파일명] -noout

간단 사용[편집 | 원본 편집]

과정 설명 방법
간단히 https 통신 공식 기관을 통해 인증을 받은 것은 아니지만, 그 https 통신을 사용하기 위해.
  • 개인키와 CSR을 생성하고 자체서명 인증서를 만들고...
  • 웹서버에 적용한다.(아래 목차를 참고하자.)
openssl genrsa -out my.key 2048 & openssl req -new -x509 -key my.key -out my.crt

웹서버에 적용[편집 | 원본 편집]

nginx[편집 | 원본 편집]

/etc/nginx/sites-available/nginx_conf 등 사용하고 있는 설정파일을 다음과 같이 편집한다.

# 기본 설정 외에 서버를 하나 더 만들어준다.
server {
        # 받을 포트.
        listen 10100 ssl;  # 443인데..일단.
        # 고정아이피.
        server_name example.iptime.org;  # 도메인

        # ssl 설정
        ssl_certificate /경로/my.crt;
        ssl_certificate_key /경로/my.key;
#### 이외 설정.

이후 nginx -t 등으로 설정파일을 점검하고 sudo service nginx restart 등으로 서버를 재시작한다.