5.3-5.8. Schlüsseloperationen und Erweiterungen (Key Operations and Extensions)
Öffentliche Schlüssel werden über ihren standardmäßigen, leitungskodierten (wire-encoded) öffentlichen Schlüssel-Blob referenziert. Der Client kann alle Identitäten mit SSH_AGENTC_REMOVE_ALL_IDENTITIES entfernen, einen bestimmten Schlüssel mit SSH_AGENTC_REMOVE_IDENTITY entfernen, einen token-verwalteten Schlüssel mit SSH_AGENTC_REMOVE_SMARTCARD_KEY entfernen, die Schlüsselliste mit SSH_AGENTC_REQUEST_IDENTITIES anfordern und eine Signierung durch den privaten Schlüssel mit SSH_AGENTC_SIGN_REQUEST anfordern.
SSH_AGENTC_SIGN_REQUEST überträgt den Schlüssel-Blob, die Daten und Signierflags (signature flags). Bei Erfolg lautet die Antwort SSH_AGENT_SIGN_RESPONSE. Die definierten RSA-Signierflags sind SSH_AGENT_RSA_SHA2_256 und SSH_AGENT_RSA_SHA2_512.
Das Protokoll unterstützt das Sperren (locking) und Entsperren (unlocking) des Agent mit SSH_AGENTC_LOCK und SSH_AGENTC_UNLOCK. Der Erweiterungsmechanismus verwendet SSH_AGENTC_EXTENSION, SSH_AGENT_EXTENSION_RESPONSE und SSH_AGENT_EXTENSION_FAILURE. Die optionale query-Erweiterung ermöglicht dem Client, unterstützte Erweiterungsnamen zu ermitteln.