跳到主要内容

5.3-5.8. Key Operations and Extensions

公钥通过其标准的 SSH 线路编码 (wire-encoded) 公钥 blob 进行引用. 客户端可以使用 SSH_AGENTC_REMOVE_ALL_IDENTITIES 移除所有身份, 使用 SSH_AGENTC_REMOVE_IDENTITY 移除特定密钥, 使用 SSH_AGENTC_REMOVE_SMARTCARD_KEY 移除令牌托管的密钥, 使用 SSH_AGENTC_REQUEST_IDENTITIES 请求密钥列表, 以及使用 SSH_AGENTC_SIGN_REQUEST 请求私钥签名.

SSH_AGENTC_SIGN_REQUEST 携带密钥 blob, 数据和签名标志 (signature flags). 成功时, 响应为 SSH_AGENT_SIGN_RESPONSE. 已定义的 RSA 签名标志为 SSH_AGENT_RSA_SHA2_256SSH_AGENT_RSA_SHA2_512.

该协议支持使用 SSH_AGENTC_LOCKSSH_AGENTC_UNLOCK 对 agent 进行锁定 (locking) 和解锁 (unlocking). 扩展机制使用 SSH_AGENTC_EXTENSION, SSH_AGENT_EXTENSION_RESPONSESSH_AGENT_EXTENSION_FAILURE. 可选的 query 扩展允许客户端发现受支持的扩展名称.