"The operation is insecure." 在使用 Mailcow 的 firefox 上 navigator.credentials.create()
"The operation is insecure." On navigator.credentials.create() on firefox using Mailcow
我正在尝试使用 Firefox 95.0.2 在 Mailcow 中注册一个 fido2 设备。
尝试这样做时,注册状态字段宣布:
The operation is insecure.
我已经设法将错误追踪到这一行:
return navigator.credentials.create(createCredentialArgs);
其中 createCredentialArgs
是:
{"publicKey":{"rp":{"name":"WebAuthn Library","id":"subdomain.domain.tld:port"},"authenticatorSelection":{"userVerification":"preferred","requireResidentKey":true},"user":{"id":"=?BINARY?B?YWRtaW4=?=","name":"admin","displayName":"admin"},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-257}],"attestation":"direct","extensions":{"exts":true},"timeout":30000,"challenge":"=?BINARY?B?AJpcm\/8fHdnFDt60yDig2j14XLKtQmJfvslXLPIFj0g=?=","excludeCredentials":[]}}
服务器使用 Mailcow 安装、客户端主机和 Firefox 上的自定义 CA 证书。
有什么想法吗?
在对 Edge 进行了更多测试后(并发现了“thisisunsafe”技巧),我发现 WebAuthn 并不是端口的忠实粉丝。
所以,它不喜欢:"id":"subdomain.domain.tld:port"
.
在初始化 $WebAuthn
变量时替换 $_SERVER['SERVER_NAME']
中的 $_SERVER['HTTP_HOST']
解决了问题。
基本上 navigator.credentials.create() 不接受带端口的 ID。
我正在尝试使用 Firefox 95.0.2 在 Mailcow 中注册一个 fido2 设备。 尝试这样做时,注册状态字段宣布:
The operation is insecure.
我已经设法将错误追踪到这一行:
return navigator.credentials.create(createCredentialArgs);
其中 createCredentialArgs
是:
{"publicKey":{"rp":{"name":"WebAuthn Library","id":"subdomain.domain.tld:port"},"authenticatorSelection":{"userVerification":"preferred","requireResidentKey":true},"user":{"id":"=?BINARY?B?YWRtaW4=?=","name":"admin","displayName":"admin"},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-257}],"attestation":"direct","extensions":{"exts":true},"timeout":30000,"challenge":"=?BINARY?B?AJpcm\/8fHdnFDt60yDig2j14XLKtQmJfvslXLPIFj0g=?=","excludeCredentials":[]}}
服务器使用 Mailcow 安装、客户端主机和 Firefox 上的自定义 CA 证书。
有什么想法吗?
在对 Edge 进行了更多测试后(并发现了“thisisunsafe”技巧),我发现 WebAuthn 并不是端口的忠实粉丝。
所以,它不喜欢:"id":"subdomain.domain.tld:port"
.
在初始化 $WebAuthn
变量时替换 $_SERVER['SERVER_NAME']
中的 $_SERVER['HTTP_HOST']
解决了问题。
基本上 navigator.credentials.create() 不接受带端口的 ID。