을(를) 사용하여 EAP-TLS 액세스 포인트에 연결하고 싶지만 iwd
클라이언트 키를 열 수 없기 때문에 실패합니다.
# iwctl
[iwd]# station wlan0 connect foo
Not configured
iwd
설명하다:
src/network.c:network_connect()
src/network.c:network_connect_8021x()
Failed to load /var/lib/wireless/skybert.pem
내 커널은 최신 안정 커널이며 다음을 활성화했습니다 CONFIG_PKCS8_PRIVATE_KEY_PARSER
.
# uname -r
5.2.1
# lsmod | grep pkcs8_key_parser
pkcs8_key_parser 16384 0
세계 여성의 날
# /usr/libexec/iwd --version
0.18
# export IWD_TLS_DEBUG=1
# /usr/libexec/iwd -d
[..]
src/network.c:network_connect()
src/network.c:network_connect_8021x()
Failed to load /var/lib/wireless/skybert.pem
/var/lib/iwd/foo.8021x
[Security]
EAP-Method=TLS
EAP-TLS-ClientCert=/var/lib/wirelss/skybert.pem
EAP-TLS-ClientKey=/var/lib/wireless/skybert.des3.key
EAP-TLS-ClientKeyPassphrase=youwish
EAP-Identity=skybert
해당 작업 wpa_supplicant
블록은 다음과 같습니다.
network={
ssid="foo"
key_mgmt=WPA-EAP
proto=WPA2
eap=TLS
identity="skybert"
client_cert="/var/lib/wireless/skybert.pem"
private_key="/var/lib/wireless/skybert.des3.key"
private_key_passwd="youwish"
}
운영 체제
❯ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
(시도) 소스 코드 읽기
내가 아는 한 ell/ell/pem.c
(에서 호출됨 iwd/src/eap-tls-common.c
)은 인증서를 로드할 수 없지만, 내가 아는 한은 그렇습니다. 경로가 존재하는지 여부에 관계없이 오류 메시지는 동일합니다.
어떤 도움이라도 대단히 감사하겠습니다.
답변1
파일에서pem.c
, 321행
C 언어에 대한 나의 제한된 이해로 인해 나는 다음 주석에서만 추론할 수 있습니다.
/** * l_pem_load_private_key * @filename: path string to the PEM file to load * @passphrase: private key encryption passphrase or NULL for unencrypted * @encrypted: receives indication whether the file was encrypted if non-NULL * * Load the PEM encoded RSA Private Key file at @filename. If it is an * encrypted private key and @passphrase was non-NULL, the file is * decrypted. If it's unencrypted @passphrase is ignored. @encrypted * stores information of whether the file was encrypted, both in a * success case and on error when NULL is returned. This can be used to * check if a passphrase is required without prior information. * * Returns: An l_key object to be freed with an l_key_free* function, * or NULL. **/
RSA 발췌
PEM으로 인코딩된 RSA 개인 키 파일을 로드합니다.
이제 더 이상 3DES(?)
NIST 2017에서:Triple DES는 2017년에 NIST에 의해 더 이상 사용되지 않습니다., 이것이 이유일 가능성이 높습니다.