gpg --detach-sign file 会写出 file.sig(二进制),使用 --armor 时则写出 file.asc;用 gpg --verify file.asc file 验证。SSH 签名(ssh-keygen -Y sign)、Sigstore bundle、使用分离载荷的 JWS 以及 S/MIME 的 multipart/signed 部分都采用同样的方式。验证者收到的字节必须与签名时的字节完全相同;换行符的变化或重新压缩都会导致验证失败。
有效的分离签名只能证明某个密钥对这些字节签了名:验证者仍需判断该密钥是否属于预期的发布者,最好依据事先固定的指纹或身份来判断,而不是采信签名自己指明的那个密钥。