Raspberry Pi를 EAP-TLS Wi-Fi 액세스 포인트에 연결하려고 합니다. 연결에 실패:
wlan0: CTRL-EVENT-EAP-STARTED EAP authentication started
wlan0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=13
OpenSSL: tls_read_pkcs12 - Failed to use PKCS#12 file error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
OpenSSL: pending error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
OpenSSL: tls_connection_private_key - Failed to load private key error:00000000:lib(0):func(0):reason(0)
TLS: Failed to load private key '/etc/ssl/private/demo.key'
TLS: Failed to set TLS connection parameters
EAP-TLS: Failed to initialize SSL.
"ASN1_CHECK_TLEN: 잘못된 레이블"을 검색하면 인증서 파일이 어떤 방식으로든 손상되었으며 선행 또는 후행 공백이 없는지 확인해야 한다는 제안만 찾을 수 있습니다. 파일을 실행하면 openssl rsa -check -noout -in /etc/ssl/private/demo.key
암호를 입력하라는 메시지가 표시되고 암호를 입력하면 "RSA key ok"가 인쇄되는 것을 제외하면 파일은 괜찮아 보입니다 .
private_key_passwd
에 저장된 비밀번호도 다시 확인했는데 wpa_supplicant.conf
올바른 것 같습니다.
문제가 무엇인지 어떻게 알 수 있나요?
답변1
openssl rsa
기본값에는 PEM으로 인코딩된 RSA 키가 필요하지만 오류 메시지는 wpa_supplicant
키 파일이 PKCS#12로 인코딩된 것으로 가정함을 나타냅니다.
구성 항목에 대한 설명을 읽은 후 private_key
동작은 다음과 같습니다.wpa_supplicant.conf
/usr/share/doc/wpa_supplicant/examples/wpa_supplicant.conf
클라이언트 인증서와 해당 개인 키가 PEM 형식인 경우 해당 파일 이름, 사용
client_cert
및private_key
구성 옵션을 각각 지정해야 합니다.클라이언트 인증서와 개인 키가 단일 PKCS#12 파일에 있는 경우(접미사는 일반적으로 .pfx 또는 .p12이며 직접 읽을 수 없음
openssl rsa
) 구성 항목만 사용하여 파일 이름을 지정해야private_key
하며 모든 항목의 구성client_cert
. 즉,client_cert
지정되지 않고private_key
일반 파일 이름인 경우wpa_supplicant
PKCS#12 형식이 사용됩니다.client_cert
구성 항목이 존재하지 않고 구성 항목에 가능한 여러 URI 스타일 형식 중 하나가 포함되어 있는 경우private_key
이러한 형식은 PKCS#11 토큰(스마트 카드) 또는 Windows 인증서 저장소( 적용된다면).
client_cert
에 지정 하지 못한 것 같습니다 wpa_supplicant.conf
.