pub struct InstallArgs<'a> {
pub global: bool,
pub did_key_id: String,
pub vta_key_id: String,
pub credential_did: String,
pub credential_private_key_mb: String,
pub vta_did: String,
pub vta_url: String,
pub mediator_did: Option<String>,
pub user_name: Option<String>,
pub verifying_key: &'a [u8; 32],
}Expand description
Inputs to install did-git-sign for an already-provisioned persona.
All fields are values the caller already has — there is no VTA bootstrap
here. The function writes the config file, stores VTA credentials in the
OS keyring, runs the relevant git config invocations, and updates the
allowed_signers file.
The verifying_key is the Ed25519 public key (32 raw bytes) that signs
the persona’s commits. It’s used in the allowed_signers entry; the
caller is expected to have already derived it from the persona key
material.
Fields§
§global: booltrue writes config to the user’s ~/.config/did-git-sign/,
false writes a repo-local .did-git-sign.json.
did_key_id: StringThe verification method id, e.g. did:webvh:.../persona#key-1.
vta_key_id: StringVTA key UUID for the persona’s signing key (stored in keyring so
did-git-sign -Y sign can fetch the secret on demand).
credential_did: StringDID this binary authenticates to the VTA as. The persona admin DID minted during VTA provisioning is the right value here.
credential_private_key_mb: StringMultibase-encoded private key paired with credential_did.
vta_did: StringVTA’s own DID (e.g. did:webvh:.../vta).
vta_url: StringVTA service URL, as resolved from the VTA’s DID document. May be
empty for DIDComm-only VTAs — mediator_did must be set in that
case so the signer can reach the VTA over DIDComm.
mediator_did: Option<String>DIDComm mediator DID advertised by the VTA. When Some, the signer
uses DIDComm transport instead of REST. Required when vta_url is
empty.
user_name: Option<String>Optional git config user.name to set during install.
verifying_key: &'a [u8; 32]Persona signing key public bytes (Ed25519, 32 bytes).