OpenGPG是由RFC4880定义的,相对X.509来说是一个简易的,离线使用的公钥证书。
GPG中使用user id来代表签名的实体,相当于X.509中的DN。
生成GPG证书时会生成一个主证书,相当于自签名的Root CA和若干由主证书签名的子证书。主证书只用于对子证书进行签名,实际加密时使用子证书。
GPG定义了以下证书用途(相当于KeyUsage)
Encryption:加密(E)。
Signing:签名(S)。
Certification:认证其他子密钥或 uid(C)。
Authentication:身份认证,例如用于 SSH 登录(A)。
GPG可以支持对称加密和信封加密,信封加密时用证书生成监时对称密钥。
GPG证书也可以对别人的证书进行签名,提供共识认证。
目前GPG主要用于文件的加密和签名。
参考:
https://datatracker.ietf.org/doc/html/rfc4880