[][src]Function sequoia_ffi::store::sq_binding_import

#[no_mangle]pub extern "C" fn sq_binding_import(
    ctx: *mut Context,
    binding: *const Binding,
    cert: *const Cert
) -> Maybe<Cert>

Updates this binding with the given Cert.

C Declaration

pgp_cert_t
sq_binding_import (pgp_context_t ctx,
                   const pgp_binding_t binding,
                   const pgp_cert_t cert);

If the new key cert matches the current key, i.e. they have the same fingerprint, both keys are merged and normalized. The returned key contains all packets known to Sequoia, and should be used instead of cert.

If the new key does not match the current key, but carries a valid signature from the current key, it replaces the current key. This provides a natural way for key rotations.

If the new key does not match the current key, and it does not carry a valid signature from the current key, an Error::Conflict is returned, and you have to resolve the conflict, either by ignoring the new key, or by using sq_binding_rotate to force a rotation.