OpenSSL 무설치 GUI 웹툴
종류 | |
생성 파일명 | |
개인키 파일 | |
알고리즘 | |
키 길이 |
종류 | |
파일명 | |
알고리즘 |
기존 파일 | |
생성 파일명 | |
알고리즘 | |
키 길이 |
종류 | |
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) |
생성된 명령줄: |
도움말
사용법
-
콘솔창에 OpenSSL 명령어를 입력하거나, 미리설계된 GUI를 통해 이용가능합니다.
OpenSSL> openssl version
OpenSSL> version
명령어는 처음 시작부분에 openssl을 넣거나 빼도 작동합니다.
-
GUI를 통해 명령어를 만들었으면, 실행버튼을 눌러 실행하시거나 약간의 편집후 붙여넣어 실행하셔도 됩니다.
GUI는 일부 기능만을 위해 만들어져있어 원하는 기능을 위해서는 콘솔 입력이 불가피할 수 있습니다.
-
파일을 불러오거나, 파일을 저장하려면 콘솔창 하단의 파일탐색기를 이용하세요.
-
모든 작업은 사용하시는 기기(PC등)의 브라우저에서 진행되며, 일부 불가능한 명령어(Network, 사용자입력 등)가 있을 수 있습니다.
작업명 -help를 이용해 모든 인자를 넣어서 실행하시면 됩니다.
-
더 자세한 사용법은 페이지 하단에 'OpenSSL GUI 활용법/도움말'을 참고하세요.
추가 명령어
-
clear: 콘솔창을 비웁니다.
추가 안내사항
-
콘솔과 동일하게 우클릭으로 복사한 문자를 붙여넣을 수 있습니다.
파이어폭스등 일부 브라우저는 우클릭하면 붙여넣기 버튼이 나타나고 클릭이후부터 가능할 수 있습니다.
브라우저의 클립보드 권한이 필요합니다.
-
파일탐색기에서 파일명을 넣으려면 ① 파일명 수정에서 전체복사 붙여넣기, ② 파일을 더블클릭하여 콘솔에 파일명 입력가능합니다.
-
네트워크 연결이 필요한 명령어는 실행불가합니다.
또한, 브라우저 샌드박스 외부로 연결할 수 없습니다.
-
입력 상호작용(C언어에서 gets, puts, scanf_s 등)이 어렵습니다.
명령어로 사용시 필요한 모든 값을 넣으면 입출력 상호작용없이 한번에 가능합니다. 그렇게 이용해주셔야합니다.
예를들어 genrsa 사용시 아래와 같이 비밀번호를 명령어에 함께 작성가능합니다.
-passout pass:<비밀번호> 또는 -passout file:<파일명>
OpenSSL 웹툴 소개
이미지 1장 크기정도의 OpenSSL 바이너리를 로드하여 무설치로 쉽게 사용가능한 툴 입니다.
인증 업체 홈페이지에 이런 툴이 제공되면 사용자가 제일 편하고 안심하고 사용가능할 것 같네요.
제 경우에 OpenSSL을 사용할 일이 거의 없어 아주 가끔 구글링해서 정해진 명령어만 쓰고 말았는데, 만들면서 보니까 다양한 기능을 갖고 있지만 help가 잘 나와있어 크게 어렵진 않게 사용가능한것 같습니다.
이외에 더 복잡하고 다양한 활용이 가능하나 이곳에서 GUI로 제공하는 정도만 하단에 내용을 작성하였습니다.
내용이나 GUI 추가를 원하시면 페이지 최하단 문의 링크에 참고문서와 활용예시등을 댓글로 남겨주세요.
OpenSSL GUI 활용법/도움말
RSA Key 만들기
- 공개키 여부를 선택하고 파일명과 비밀번호를 입력합니다.
- 알고리즘과 키 길이를 선택합니다.
- 만든 파일을 암호화 하거나, 공개키로 만드려면 'Encrypt (암호화)'탭을 이용하세요.
지원되는 암호화 알고리즘은 enc -list
명령어를 통해 확인가능합니다.
openssl genrsa -<암호알고리즘> -out <파일명>.key -passout pass:"<비밀번호>" <키-길이>
더 다양한 명령어 설명은 genrsa -help
, rsa -help
를 통해 확인가능합니다.
ECDSA Key 만들기
- 파일명과 알고리즘을 선택합니다.
- '생성된 명령줄'에서 실행버튼을 누르거나, 복사한뒤 일부 매개변수를 원하는대로 수정하셔도 됩니다.
- 만든 파일을 암호화 하거나, 공개키로 만드려면 'Encrypt (암호화)'탭을 이용하세요.
지원되는 암호화 알고리즘은 ecparam -list_curves
명령어를 통해 확인가능합니다. (알고리즘 스펙 설명이 포함되어있습니다.)
openssl ecparam -genkey -name <암호알고리즘> -out <파일명>.pem
더 다양한 명령어 설명은 ecparam -help
를 통해 확인가능합니다.
Encrypt 암호화
- 암호화 할 기존 키 파일을 선택하고, 공개키 여부를 선택하고, 비밀번호를 입력합니다.
- 암호화 될 파일명을 선택하고, 공개키 여부를 선택하고, 설정할 비밀번호를 입력합니다.
- 알고리즘과 키 길이를 선택합니다.
- '생성된 명령줄'에서 실행버튼을 누르거나, 복사한뒤 일부 매개변수를 원하는대로 수정하셔도 됩니다.
더 다양한 명령어 설명은 ec -help
를 통해 확인가능합니다.
인증서 작업 (Root CA, Self-Sign CA, CSR 등)
- CSR을 키파일(기존키/신규키)로 발급합니다. CN값 ~ UID값은 한개만 채워넣어도 됩니다.
- RootCA는 CSR 파일과 키를 이용해서 발급가능합니다.
- 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를 이용하실 수 있습니다.
- 인증서 파일을 선택하고, 파일 형태를 선택합니다.
- 만들 파일 형태를 선택하고, 이름을 정합니다.
- '생성된 명령줄'에서 실행버튼을 누르거나, 복사한뒤 일부 매개변수를 원하는대로 수정하셔도 됩니다.
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
를 통해 확인가능합니다.
오류제보 / 기능제안 글 작성하러가기