我正在使用Firefox95.0.2在邮箱中注册一个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":[]}}服务器使用一个自定义CA证书,该证书出现在Mail奶牛安装、客户端主机和Firefox上。
对原因有什么想法吗?
发布于 2021-12-26 16:04:09
在对Edge进行了更多的测试(并发现了"thisisunsafe“技巧)之后,我发现WebAuthn并不是一个热衷于端口的人。所以,它不喜欢:"id":"subdomain.domain.tld:port"。
在初始化$_SERVER['SERVER_NAME']变量时,用$_SERVER['HTTP_HOST']替换$WebAuthn修复了问题。
基本上,navigator.credentials.create()不接受带有端口的ids。
https://stackoverflow.com/questions/70487688
复制相似问题