iwd
を使用してEAP-TLSアクセスポイントに接続したいのですが、クライアントキーを開けないようです。
# 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
[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
から呼び出されたもの)ですが、これは私の知る限りです。パスが存在する場合も存在しない場合も、エラーメッセージは同じです。
どんな助けでも大歓迎です。
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. **/
PEMエンコードされたRSA秘密鍵ファイルをロードします。
NIST 2017から判断すると トリプルDESは2017年にNISTで非推奨になりました 、それが原因である可能性があります。