OpenSSL 무설치 GUI 웹툴

종류
생성 파일명
개인키 파일
알고리즘
키 길이
 키 길이 4096 실행시 약간의 시간이 소요될 수 있습니다.
 '개인키 암호화' 와 '공개키(발급 또는 암호화)'는 개인키 생성후 'Encrypt (암호화)'탭을 이용하세요.
종류
파일명
알고리즘
기존 파일
생성 파일명
알고리즘
키 길이
종류
CSR 파일
기존 키 파일
생성 파일명
CA 인증 기간 (일)
알고리즘
키 길이
Common Name (CN)
Country (C)
Locality Name (L)
State or ProvinceName (ST)
Organization Name (O)
Organizational UnitName (OU)
Street Address (street)
Domain Component (DC)
User Id (UID)
 포맷의  인증서 파일을
 포맷의  로 변환
 파일 용량이 크다면 오래걸리거나, 실패할 수 있습니다. (또한 일부 오류나는 알고리즘이 있을 수 있습니다.)
  파일의   알고리즘으로 해시 구하기
생성된 명령줄:

도움말

사용법

  1. 콘솔창에 OpenSSL 명령어를 입력하거나, 미리설계된 GUI를 통해 이용가능합니다.

    OpenSSL> openssl version

    OpenSSL> version

    명령어는 처음 시작부분에 openssl을 넣거나 빼도 작동합니다.

     

  2. GUI를 통해 명령어를 만들었으면, 실행버튼을 눌러 실행하시거나 약간의 편집후 붙여넣어 실행하셔도 됩니다.

    GUI는 일부 기능만을 위해 만들어져있어 원하는 기능을 위해서는 콘솔 입력이 불가피할 수 있습니다.

     

  3. 파일을 불러오거나, 파일을 저장하려면 콘솔창 하단의 파일탐색기를 이용하세요.

     

  4. 모든 작업은 사용하시는 기기(PC등)의 브라우저에서 진행되며, 일부 불가능한 명령어(Network, 사용자입력 등)가 있을 수 있습니다.

    작업명 -help를 이용해 모든 인자를 넣어서 실행하시면 됩니다.

     

  5. 더 자세한 사용법은 페이지 하단에 'OpenSSL GUI 활용법/도움말'을 참고하세요.

     

 

추가 명령어

  • clear: 콘솔창을 비웁니다.

     

 

추가 안내사항

  • 콘솔과 동일하게 우클릭으로 복사한 문자를 붙여넣을 수 있습니다.

    파이어폭스등 일부 브라우저는 우클릭하면 붙여넣기 버튼이 나타나고 클릭이후부터 가능할 수 있습니다.

    브라우저의 클립보드 권한이 필요합니다.

     

  • 파일탐색기에서 파일명을 넣으려면 ① 파일명 수정에서 전체복사 붙여넣기, ② 파일을 더블클릭하여 콘솔에 파일명 입력가능합니다.

     

  • 네트워크 연결이 필요한 명령어는 실행불가합니다.

    또한, 브라우저 샌드박스 외부로 연결할 수 없습니다.

     

  • 입력 상호작용(C언어에서 gets, puts, scanf_s 등)이 어렵습니다.

    명령어로 사용시 필요한 모든 값을 넣으면 입출력 상호작용없이 한번에 가능합니다. 그렇게 이용해주셔야합니다.

     

    예를들어 genrsa 사용시 아래와 같이 비밀번호를 명령어에 함께 작성가능합니다.

    -passout pass:<비밀번호> 또는 -passout file:<파일명>

     

 

OpenSSL 웹툴 소개

이미지 1장 크기정도의 OpenSSL 바이너리를 로드하여 무설치로 쉽게 사용가능한 툴 입니다.

인증 업체 홈페이지에 이런 툴이 제공되면 사용자가 제일 편하고 안심하고 사용가능할 것 같네요.

제 경우에 OpenSSL을 사용할 일이 거의 없어 아주 가끔 구글링해서 정해진 명령어만 쓰고 말았는데, 만들면서 보니까 다양한 기능을 갖고 있지만 help가 잘 나와있어 크게 어렵진 않게 사용가능한것 같습니다.

 

이외에 더 복잡하고 다양한 활용이 가능하나 이곳에서 GUI로 제공하는 정도만 하단에 내용을 작성하였습니다.

내용이나 GUI 추가를 원하시면 페이지 최하단 문의 링크에 참고문서와 활용예시등을 댓글로 남겨주세요.

 

 

OpenSSL GUI 활용법/도움말

RSA Key 만들기

  1. 공개키 여부를 선택하고 파일명과 비밀번호를 입력합니다.
  2. 알고리즘과 키 길이를 선택합니다.
  3. 만든 파일을 암호화 하거나, 공개키로 만드려면 'Encrypt (암호화)'탭을 이용하세요.

지원되는 암호화 알고리즘은 enc -list명령어를 통해 확인가능합니다.

openssl genrsa -<암호알고리즘> -out <파일명>.key -passout pass:"<비밀번호>" <키-길이>

더 다양한 명령어 설명은 genrsa -help, rsa -help를 통해 확인가능합니다.

 

ECDSA Key 만들기

  1. 파일명과 알고리즘을 선택합니다.
  2. '생성된 명령줄'에서 실행버튼을 누르거나, 복사한뒤 일부 매개변수를 원하는대로 수정하셔도 됩니다.
  3. 만든 파일을 암호화 하거나, 공개키로 만드려면 'Encrypt (암호화)'탭을 이용하세요.

지원되는 암호화 알고리즘은 ecparam -list_curves명령어를 통해 확인가능합니다. (알고리즘 스펙 설명이 포함되어있습니다.)

openssl ecparam -genkey -name <암호알고리즘> -out <파일명>.pem

더 다양한 명령어 설명은 ecparam -help를 통해 확인가능합니다.

 

Encrypt 암호화

  1. 암호화 할 기존 키 파일을 선택하고, 공개키 여부를 선택하고, 비밀번호를 입력합니다.
  2. 암호화 될 파일명을 선택하고, 공개키 여부를 선택하고, 설정할 비밀번호를 입력합니다.
  3. 알고리즘과 키 길이를 선택합니다.
  4. '생성된 명령줄'에서 실행버튼을 누르거나, 복사한뒤 일부 매개변수를 원하는대로 수정하셔도 됩니다.

더 다양한 명령어 설명은 ec -help를 통해 확인가능합니다.

 

인증서 작업 (Root CA, Self-Sign CA, CSR 등)

  1. CSR을 키파일(기존키/신규키)로 발급합니다. CN값 ~ UID값은 한개만 채워넣어도 됩니다.
  2. RootCA는 CSR 파일과 키를 이용해서 발급가능합니다.
  3. RootCA 하위의 인증서는 GUI를 제공하지 않으며, 명령어로 직접 사용해주세요.

CSR 인증서 작업에는 필수 인자값인 subj를 이용해주세요.

입력 예시는 -subj "/CN=example/C=KR/" 형태입니다. (RFC2253 스펙을 따릅니다.)

String X.500 AttributeType
------------------------------
CN (commonName)
L (localityName)
ST (stateOrProvinceName)
O (organizationName)
OU (organizationalUnitName)
C (countryName)
STREET (streetAddress)
DC (domainComponent)
UID (userid)

스펙상 STREET는 대문자이나, 최신 빌드 버전인 OpenSSL 3.3.0 에서 소문자로 처리하기 때문에 GUI에는 street로 적용하였습니다.

더 다양한 명령어 설명은 req -help를 통해 확인가능합니다.

 

Convert 변환하기

옵션이 너무 많아 GUI에 일부 포함하지 못했습니다.

인증서 파일이 있으면 선택후 GUI를 이용하실 수 있습니다.

  1. 인증서 파일을 선택하고, 파일 형태를 선택합니다.
  2. 만들 파일 형태를 선택하고, 이름을 정합니다.
  3. '생성된 명령줄'에서 실행버튼을 누르거나, 복사한뒤 일부 매개변수를 원하는대로 수정하셔도 됩니다.

PEM에서 pkcs로 변환 과정은 crl 또는 crl2pkcs7 를 써야하지만 포함되지 않았습니다.

더 다양한 명령어 설명은 x509 -help, pkcs7 -help, pkcs8 -help, pkcs12 -help, crl -help, crl2pkcs7 -help등을 통해 확인가능합니다.

 

Combine 결합하기

인증서와 키를 이용해서 pfx파일(pkcs#12, 인증서 + 키)을 만듭니다. 기존 비밀번호와 신규 비밀번호(pfx파일)을 입력해야합니다.

결합에 설정할 수 있는 변수가 많아 GUI로 제공하지 않으며, 명령줄을 통해 이용해주세요. 아래는 사용 예 입니다.

openssl pkcs12 -inkey server.key -passin pass:"<server.crt비밀번호>" -in server.crt -export -passout pass:"<server.pfx에 설정할 비밀번호>" -out server.pfx

더 다양한 명령어 설명은 pkcs12 -help를 통해 확인가능합니다.

 

오류제보 / 기능제안   글 작성하러가기