Verify
------
- Data type: enum GpgmeSigStat
The `GpgmeSigStat' type holds the result of a signature check, or
the combined result of all signatures. The following results are
possible:
`GPGME_SIG_STAT_NONE'
This status should not occur in normal operation.
`GPGME_SIG_STAT_GOOD'
This status indicates that the signature is valid. For the
combined result this status means that all signatures are
valid.
`GPGME_SIG_STAT_BAD'
This status indicates that the signature is invalid. For the
combined result this status means that all signatures are
invalid.
`GPGME_SIG_STAT_NOKEY'
This status indicates that the signature could not be
verified due to a missing key. For the combined result this
status means that all signatures could not be checked due to
missing keys.
`GPGME_SIG_STAT_NOSIG'
This status indicates that the signature data provided was
not a real signature.
`GPGME_SIG_STAT_ERROR'
This status indicates that there was some other error which
prevented the signature verification.
`GPGME_SIG_STAT_DIFF'
For the combined result this status means that at least two
signatures have a different status. You can get each key's
status with `gpgme_get_sig_status'.
- Function: GpgmeError gpgme_op_verify (GpgmeCtx CTX, GpgmeData SIG,
GpgmeData PLAIN, GpgmeSigStat *R_STAT)
The function `gpgme_op_verify' verifies that the signature in the
data object SIG is a valid signature. If PLAIN is initialized
with plaintext data, it is assumed that SIG is a detached
signature, and its validity for the plaintext given in PLAIN is
verified. If PLAIN is an uninitialized data object, it is assumed
that SIG is a normal (or cleartext) signature, and the plaintext
is available in PLAIN after successful verification.
The combined status of all signatures is returned in R_STAT. The
results of the individual signature verifications can be retrieved
with `gpgme_get_sig_status' and `gpgme_get_sig_key'.
The function returns `GPGME_No_Error' if the operation could be
completed successfully, `GPGME_Invalid_Value' if CTX, SIG, PLAIN
or R_STAT is not a valid pointer, `GPGME_No_Data' if SIG does not
contain any data to verify, and passes through any errors that are
reported by the crypto engine support routines.
- Function: GpgmeError gpgme_op_verify_start (GpgmeCtx CTX,
GpgmeData SIG, GpgmeData PLAIN)
The function `gpgme_op_verify_start' initiates a `gpgme_op_verify'
operation. It can be completed by calling `gpgme_wait' on the
context. Note:Waiting For Completion.
The function returns `GPGME_No_Error' if the operation could be
started successfully, `GPGME_Invalid_Value' if CTX, SIG, PLAIN or
R_STAT is not a valid pointer, and `GPGME_No_Data' if SIG or PLAIN
does not contain any data to verify.
- Function: const char * gpgme_get_sig_status (GpgmeCtx CTX, int IDX,
GpgmeSigStat *R_STAT, time_t *R_CREATED)
The function `gpgme_get_sig_status' receives information about a
signature after the `gpgme_op_verify' or `gpgme_op_verify_decrypt'
operation. A single detached signature can contain signatures by
more than one key. The IDX specifies which signature's
information should be retrieved, starting from 0.
The status of the signature will be returned in R_STAT if it is
not `NULL'. The creation time stamp of the signature will be
returned in R_CREATED if it is not NULL.
The function returns a statically allocated string that contains
the fingerprint of the key which signed the plaintext, or `NULL' if
CTX is not a valid pointer, the operation is still pending, or no
verification could be performed.
- Function: const char * gpgme_get_sig_key (GpgmeCtx CTX, int IDX,
GpgmeSigKey *R_STAT)
The function `gpgme_get_sig_status' receives a `GpgmeKey' object
for the key which was used to verify the signature after the
`gpgme_op_verify' or `gpgme_op_verify_decrypt' operation. A
single detached signature can contain signatures by more than one
key. The IDX specifies which signature's information should be
retrieved, starting from 0. The key will have on reference for
the user.
The function is a convenient way to retrieve the keys belonging to
the fingerprints returned by `gpgme_get_sig_status'.
The function returns `GPGME_No_Error' if the key could be
returned, `GPGME_Invalid_Value' if R_KEY is not a valid pointer,
`GPGME_Invalid_Key' if the fingerprint is not valid, `GPGME_EOF'
if IDX is too large, or some other error value if a problem
occurred requesting the key.
- Function: char * gpgme_get_notation (GpgmeCtx CTX)
The function `gpgme_get_notation' can be used to retrieve notation
data from the last signature check in the context CTX.
If there is notation data available from the last signature check,
this function may be used to return this notation data as a string.
The string is an XML representation of that data embedded in a
<notation> container. The user has to release the string with
`free'.
The function returns a string if the notation data is available or
`NULL' if there is no such data available.