Let's Encrypt와 함께 HP 프린터에 SSL 인증서를 설치하기
2026년 6월 9일
레거시 시스템이 싫어요
이 가이드는 HP DeskJet 3637에서 테스트되었습니다. 사용하시는 프린터 모델에 내장된 웹 서버가
얼마나 낙후되었는지에 따라 절차가 다를 수 있습니다. 참고로, 이 글을 작성하는 시점에 3637의
펌웨어 버전은 SWP2FN2223AR이며 빌드 날짜는 2022년 5월 30일입니다.
- 아직 안 하셨다면 프린터에 정적 IP 주소를 설정하세요. (나중에 DHCP 리스가 만기되서 드라이버를 6-7번 재설치하고 여럿 종교에 제사를 지내는 수고를 덜어주기도 하죠)
- 정적 IP 주소를 가리키는 DNS A 레코드를 생성합니다 (예를 들어, print.example.com -> 192.168.0.150)
certbot를 실행합니다:
여기서certbot certonly -v --manual --preferred-challenges dns -d print.example.com --key-type rsa--key-type rsa플래그가 중요한데, 최신 기본값은 EC 키 타입이기 때문입니다. 물론, 산업 폐기물 HP가 그따위 알아볼리 없으니 어쩔 수 없죠. (망해라 HP)- DNS 챌런지 관련 프롬프트를 따라 완성합니다
- 이제 개별 인증서 파일이 다운로드되면,
certbot이 해당 파일들을 어디에 저장해두었는지 확인해둡니다. 이제 PKCS#12 파일로 번들을 해줘야 합니다. 이를 위해openssl을 사용합니다:
여기서 내보내기 비밀번호를 물어보는데, 아무 임시 비밀번호를 입력하면 됩니다. 조금 있다가 다시 입력해야 하기 때문에 잠시 기억해둡니다.openssl pkcs12 -export -out printer.pfx -inkey privkey.pem -in cert.pem - 프린터의 IP(나 아까 설정한 도메인)에 접속하고, 다음 경로로 진입합니다: “Network > Advanced Settings > Certificates”
- “Configure”를 클릭한 후, “Import a Certificate and Private Key”를 선택합니다.
- 5번에서 만든
printer.pfx파일을 선택한 후, 아까 입력했던 임시 비밀번호를 입력한 후, “Mark private key as exportable”을 체크하지 않고 내버려둡니다. - “Finish”를 클릭하여 저장합니다.
이제 3개월마다 반복하는 절차만 남았군요.
물론, 이 모든 게 다 webUI단에서 이루어지도록 했을 수도 있는데, 그렇게 사용자-친화적이라면 실제로 HP 프린터라고 할 수 있을까요?
초안에 적는 걸 깜빡해서 조금 더 끄적여봅니다:
-
Q: HP를 굳이?
A: 페북에서 $10밖에 안 해서 샀습니다. 잉크 카트리지가 더 비싸더라고요.
-
Q: HP webUI 상 “Certificate Request” 옵션을 사용하면 안되나요?
A: 그걸 쓰면 공개 키를 만들 때 지수(exponent)를 3으로 설정해버리는데, 이 세상에 정신나가지 않고서야 그걸 받아주는 CA가 없기 때문이죠. 어떻게
고통스럽게알아냈는지는 물어보지 말아주세요.