x509.Certificate的CheckSignature方法是否支持多Go协程安全调用?
crypto/x509.Certificate.CheckSignature 协程安全性说明
Go标准库API遵循通用惯例:若方法仅对接收者做只读操作、不修改任何共享状态,则默认支持多协程安全调用。
针对CheckSignature方法:
- 方法定义:
func (c *x509.Certificate) CheckSignature(algo x509.SignatureAlgorithm, signed []byte, signature []byte) error - 逻辑仅读取接收者
c的字段完成签名验证,不会修改c的任何状态,也不依赖、修改外部共享变量 - 传入的
signed、signature参数仅被只读使用,方法内部不会修改其底层数据
综上,你可以安全地在多个Go协程中同时调用同一个x509.Certificate实例的CheckSignature方法,不会出现数据竞争或并发安全问题。
内容的提问来源于stack exchange,提问作者Nilan Saha
相关产品推荐
相关产品推荐

