15 lines
897 B
Plaintext
15 lines
897 B
Plaintext
# 本包有意读取 crypto/ecdsa 的已废弃字段:PrivateKey.D 与 PublicKey.X / PublicKey.Y。
|
|||
|
|
#
|
||
|
|
# 原因是标准库自身在这些字段缺失时会崩溃,而不是返回错误:
|
||
|
|
#
|
||
|
|
# (&ecdsa.PublicKey{}).ECDH() -> panic: invalid memory address or nil pointer dereference
|
||
|
|
# (&ecdsa.PrivateKey{}).ECDH() -> panic: invalid memory address or nil pointer dereference
|
||
|
|
# ecdsa.VerifyASN1 / SignASN1 -> 同样会解引用 X / Y / D
|
||
|
|
#
|
||
|
|
# 本包对外承诺「任何畸形密钥都返回 error,绝不 panic」,因此必须在调用标准库
|
||
|
|
# 之前先判空。我们只**读取**这些字段,从不修改,不构成 Go 1.26 弃用说明所警告的
|
||
|
|
# 风险(该说明针对的是修改原始值,以及用 big.Int 做大数运算)。
|
||
|
|
#
|
||
|
|
# 测试文件同样需要这些字段来构造畸形密钥,故整包排除 SA1019。其余检查保持开启。
|
||
|
|
checks = ["all", "-SA1019"]
|