我正在尝试在eap-tls模式下设置freeraadius。我使用freeradius作为服务器,使用wpa-supplicant作为客户端。我在Ubuntu-14.04.3中安装了这两个软件包。我正在使用随freeradius包提供的示例证书。我使用 / freerad / raddb / cert 中提供的脚本引导程序。我不知道这个脚本是否正确签署了证书,因为我不是这方面的专家。我只是将client.conf中这些证书的路径提供给wpa-supplicant中的freeradius和配置文件。以下是我正在使用的wpa-supplicant配置
network={
ssid="YOUR-SSID"
scan_ssid=1
key_mgmt=WPA-EAP
eap=TLS
identity="alice"
ca_cert="/home/areh/freeradius-server-3.0.11/raddb/certs/ca.pem"
client_cert="/home/areh/freeradius-server-3.0.11/raddb/certs/client.pem"
private_key="/home/areh/freeradius-server-3.0.11/raddb/certs/client.key"
}
我使用 Freeradius -X 命令运行freeradius,使用 eapol_test -c eap-tls.conf -s testing123 运行wpa-supplicant命令。
我在wpa-supplicant终端上收到以下错误:
OpenSSL:tls_connection_client_cert - SSL_use_certificate_file(DER)失败错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:标记错误
OpenSSL:挂起错误:错误:0D07803A:asn1编码例程:ASN1_ITEM_EX_D2I:嵌套asn1错误
OpenSSL:挂起错误:错误:140C800D:SSL例程:SSL_use_certificate_file:ASN1 lib
OpenSSL:SSL_use_certificate_file(PEM) - >行
OpenSSL:tls_connection_private_key - SSL_use_PrivateKey_File(DER)失败错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误标记
OpenSSL:挂起错误:错误:0D08303A:asn1编码例程:ASN1_TEMPLATE_NOEXP_D2I:嵌套asn1错误
OpenSSL:挂起错误:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误标记
OpenSSL:挂起错误:错误:0D07803A:asn1编码例程:ASN1_ITEM_EX_D2I:嵌套asn1错误
OpenSSL:挂起错误:错误:04093004:rsa例程:OLD_RSA_PRIV_DECODE:RSA lib
OpenSSL:挂起错误:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误标记
OpenSSL:挂起错误:错误:0D07803A:asn1编码例程:ASN1_ITEM_EX_D2I:嵌套asn1错误
OpenSSL:挂起错误:错误:140CB00D:SSL例程:SSL_use_PrivateKey_file:ASN1 lib
OpenSSL:tls_connection_private_key - SSL_use_PrivateKey_File(PEM)失败错误:0907B068:PEM例程:PEM_READ_BIO_PRIVATEKEY:错误密码读取
OpenSSL:挂起错误:错误:140CB009:SSL例程:SSL_use_PrivateKey_file:PEM lib
OpenSSL:tls_read_pkcs12 - 无法使用PKCS#12文件错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:标记错误
OpenSSL:挂起错误:错误:0D07803A:asn1编码例程:ASN1_ITEM_EX_D2I:嵌套asn1错误
OpenSSL:无法加载私钥
TLS:无法加载私钥'/home/areh/freeradius-server-3.0.11/raddb/certs/client.key'
TLS:无法设置TLS连接参数
我正在使用wpa_supplicant-0.7.3并且还试用了2.5版本,freeradius版本是freeradius-server-3.0.11。我真的很感激任何线索或帮助。我正在使用wireshark进行调试,我可以看到正在交换的访问挑战和访问请求数据包但从未到达下一个消息阶段。请帮助解决这个问题。
答案 0 :(得分:1)
FreeRADIUS生成的默认客户端密钥已加密,因此您需要告诉eapol_test密码是什么。默认密码是"无论" - 请参阅系统上的/home/areh/freeradius-server-3.0.11/raddb/certs/passwords.mk
。
将以下内容添加到wpasupplicant配置文件中应该可以正常工作:
private_key_passwd = "whatever"
还有一个示例wpasupplicant配置文件,它与freeradius-server/src/tests/eap-tls.conf
中的FreeRADIUS一起提供。