mkcert는 로컬에서 신뢰할 수 있는 개발 인증서를 만들기 위한 간단한 도구입니다. 구성이 필요하지 않습니다.
$ mkcert -install Created a new local CA ? The local CA is now installed in the system trust store! ⚡️ The local CA is now installed in the Firefox trust store (requires browser restart)! ? $ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1 Created a new certificate valid for the following names - "example.com" - "*.example.com" - "example.test" - "localhost" - "127.0.0.1" - "::1" The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅
개발을 위해 실제 인증 기관(CA)의 인증서를 사용하는 것은 위험하거나 불가능할 수 있지만( example.test
, localhost
또는 127.0.0.1
과 같은 호스트의 경우) 자체 서명된 인증서는 신뢰 오류를 발생시킵니다. 자체 CA를 관리하는 것이 가장 좋은 솔루션이지만 일반적으로 난해한 명령, 전문 지식 및 수동 단계가 필요합니다.
mkcert는 시스템 루트 저장소에 로컬 CA를 자동으로 생성 및 설치하고 로컬에서 신뢰할 수 있는 인증서를 생성합니다. mkcert는 인증서를 사용하도록 서버를 자동으로 구성하지 않지만 이는 사용자에게 달려 있습니다.
경고 : mkcert가 자동으로 생성하는
rootCA-key.pem
파일은 시스템의 보안 요청을 가로챌 수 있는 완전한 기능을 제공합니다. 공유하지 마십시오.
macOS에서는 Homebrew를 사용하세요.
brew install mkcert brew install nss # if you use Firefox
또는 MacPort.
sudo port selfupdate sudo port install mkcert sudo port install nss # if you use Firefox
Linux에서는 먼저 certutil
설치하십시오.
sudo apt install libnss3-tools -or- sudo yum install nss-tools -or- sudo pacman -S nss -or- sudo zypper install mozilla-nss-tools
그런 다음 Linux에서 Homebrew를 사용하여 설치할 수 있습니다.
brew install mkcert
또는 소스에서 빌드(Go 1.13+ 필요)
git clone https://github.com/FiloSottile/mkcert && cd mkcert go build -ldflags "-X main.Version=$(git describe --tags)"
또는 사전 빌드된 바이너리를 사용하세요.
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64" chmod +x mkcert-v*-linux-amd64 sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
Arch Linux 사용자의 경우 공식 Arch Linux 저장소에서 mkcert
사용할 수 있습니다.
sudo pacman -Syu mkcert
Windows에서는 Chocolatey를 사용하세요.
choco install mkcert
또는 스쿠프를 사용하세요
scoop bucket add extras scoop install mkcert
또는 소스에서 빌드하거나(Go 1.10+ 필요) 사전 빌드된 바이너리를 사용하세요.
권한 문제가 발생하면 mkcert
관리자로 실행해 보세요.
mkcert는 다음 루트 저장소를 지원합니다.
macOS 시스템 스토어
윈도우 시스템 스토어
다음 중 하나를 제공하는 Linux 변형
update-ca-trust
(Fedora, RHEL, CentOS) 또는
update-ca-certificates
(Ubuntu, Debian, OpenSUSE, SLES) 또는
trust
(아치)
Firefox(macOS 및 Linux에만 해당)
크롬과 크롬
Java( JAVA_HOME
이 설정된 경우)
로컬 루트 CA를 하위 집합에만 설치하려면 TRUST_STORES
환경 변수를 쉼표로 구분된 목록으로 설정하면 됩니다. 옵션은 "system", "java" 및 "nss"(Firefox 포함)입니다.
-cert-file FILE, -key-file FILE, -p12-file FILE Customize the output paths. -client Generate a certificate for client authentication. -ecdsa Generate a certificate with an ECDSA key. -pkcs12 Generate a ".p12" PKCS #12 file, also know as a ".pfx" file, containing certificate and key for legacy applications. -csr CSR Generate a certificate based on the supplied CSR. Conflicts with all other flags and arguments except -install and -cert-file.
참고: 도메인 이름 목록 앞에 이러한 옵션을 배치 해야 합니다 .
mkcert -key-file key.pem -cert-file cert.pem example.com *.example.com
mkcert는 제공된 이름 중 하나가 이메일 주소인 경우 S/MIME 인증서를 자동으로 생성합니다.
mkcert [email protected]
모바일 장치에서 인증서를 신뢰하려면 루트 CA를 설치해야 합니다. mkcert -CAROOT
로 인쇄한 폴더에 있는 rootCA.pem
파일입니다.
iOS에서는 AirDrop을 사용하거나, CA를 자신에게 이메일로 보내거나, HTTP 서버에서 제공할 수 있습니다. 프로필을 연 후 설정 > 다운로드된 프로필에서 프로필을 설치한 다음 완전 신뢰를 활성화해야 합니다.
Android의 경우 CA를 설치한 다음 앱 개발 빌드에서 사용자 루트를 활성화해야 합니다. 이 StackOverflow 답변을 참조하세요.
노드는 시스템 루트 저장소를 사용하지 않으므로 mkcert 인증서를 자동으로 수락하지 않습니다. 대신 NODE_EXTRA_CA_CERTS
환경 변수를 설정해야 합니다.
export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem"
CA 인증서와 해당 키는 사용자 홈의 애플리케이션 데이터 폴더에 저장됩니다. 설치는 자동화되어 있으므로 일반적으로 걱정할 필요가 없습니다. 그러나 위치는 mkcert -CAROOT
에 의해 인쇄됩니다.
별도의 CA를 관리하려면 $CAROOT
환경 변수를 사용하여 mkcert가 로컬 CA 파일을 찾을 폴더를 설정하고 찾을 수 있습니다.
신뢰 저장소에 설치하는 경우 CA 키가 필요하지 않으므로 CA 인증서를 내보내고 mkcert를 사용하여 다른 컴퓨터에 설치할 수 있습니다.
mkcert -CAROOT
에서 rootCA.pem
파일을 찾습니다.
다른 컴퓨터에 복사하세요
$CAROOT
해당 디렉토리에 설정
mkcert -install
실행
mkcert는 프로덕션이 아닌 개발 목적을 위한 것이므로 최종 사용자의 컴퓨터에서 사용해서는 안 되며 rootCA-key.pem
내보내거나 공유해서는 안 됩니다.