EAP-TLS Wi-Fi証明書を生成するには?

EAP-TLS Wi-Fi証明書を生成するには?

LinuxコンピュータをWPA2 Enterprise Wi-Fi(私が管理している)に接続したいです。 OpenSSLを使用して生成した証明書はAndroidデバイスとiOSデバイスの両方で機能しますが、wpa_supplicantに必要な証明書の種類が何であるかはわかりません。

デフォルトでは ca.pem があり、特定のデバイスに対して次のファイルが生成されます。

  • デモファイル
  • デモ.csr
  • デモキー
  • デモ.p12

のように見えるwpa_supplicantは、公開証明書と個人証明書を含むファイルを使用したり、2つのファイルを使用したりできます。最初は2つのファイルを使用します。

  • デモキー
  • .demo.pem を実行して生成されたopenssl pkcs12 -in demo.p12 -out demo.pem -clcerts.

wpa_supplicant.conf構成は次のとおりです。

network={
    ssid="HelloWorld"
    key_mgmt=WPA-EAP
    pairwise=CCMP
    group=CCMP
    eap=TLS
    identity="[email protected]"
    ca_cert="/etc/ssl/private/ca.pem"
    client_cert="/etc/ssl/private/demo.pem"
    private_key="/etc/ssl/private/demo.key"
    private_key_passwd=...
}

次のエラーにより認証が失敗します。

OpenSSL: tls_read_pkcs12 - PKCS#12 ファイルは使用できません。エラー:0D0680A8:asn1エンコーディングルーチン:ASN1_CHECK_TLEN:無効なラベル

削除しclient_certprivate_key.pemファイルを指すと、エラーは変わりません。

.p12を指す場合、エラーは次のようになります。

OpenSSL: tls_connection_private_key - 秘密鍵エラーをロードできません: 00000000:lib(0):func(0):reason(0)

Debian ドキュメント私たちに教えてくださいPEMは.pfxで作成する必要があります。私がこれを行うとき:

openssl pkcs12 -export -out demo.pfx -inkey demo.key -in demo.crt -certfile ca.crt
openssl pkcs12 -in demo.pfx -out demo.pem -clcerts

元のエラーが再び発生しました。

OpenSSL: tls_read_pkcs12 - PKCS#12 ファイルは使用できません。エラー:0D0680A8:asn1エンコーディングルーチン:ASN1_CHECK_TLEN:無効なラベル

wpa_supplicantの証明書を正確にどのように生成しますか?

答え1

あなたのwpa_supplicant.confファイルにeap=TTLS

良い:

network={
ssid="HelloWorld"
key_mgmt=WPA-EAP
pairwise=CCMP
group=CCMP
eap=TTLS
identity="[email protected]"
ca_cert="/etc/ssl/private/ca.pem"
client_cert="/etc/ssl/private/demo.pem"
private_key="/etc/ssl/private/demo.key"
private_key_passwd=...
}  

また、構成によっては、およびanonymous_identityが必要になる場合がありますphase2

EAP-TTLS-MSChapv2 仮定:

network={
ssid="HelloWorld"
key_mgmt=WPA-EAP
pairwise=CCMP
group=CCMP
eap=TTLS
identity="[email protected]"
ca_cert="/etc/ssl/private/ca.pem"
client_cert="/etc/ssl/private/demo.pem"
private_key="/etc/ssl/private/demo.key"
private_key_passwd=...
phase2="auth=MSCHAPV2"
}  

関連情報