761 lines
27 KiB
Markdown
761 lines
27 KiB
Markdown
### Detailed Function reference for the p≡p JSON Server Adapter. Version “(38) Frankenberg”, API version 0.15.0 ###
|
||
Output parameters are denoted by a **⇑** , InOut parameters are denoted by a **⇕** after the parameter type.
|
||
|
||
Nota bene: This list was created manually from the "authorative API description" and might be outdated.
|
||
|
||
#### Message API ####
|
||
|
||
##### MIME_encrypt_message( String mimetext, Integer size, StringList extra, String⇑ mime_ciphertext, PEP_enc_format env_format, Integer flags) #####
|
||
|
||
encrypt a MIME message, with MIME output
|
||
|
||
```
|
||
parameters:
|
||
mimetext (in) MIME encoded text to encrypt
|
||
size (in) size of input mime text
|
||
extra (in) extra keys for encryption
|
||
mime_ciphertext (out) encrypted, encoded message
|
||
enc_format (in) encrypted format
|
||
flags (in) flags to set special encryption features
|
||
|
||
return value:
|
||
PEP_STATUS_OK if everything worked
|
||
PEP_BUFFER_TOO_SMALL if encoded message size is too big to handle
|
||
PEP_CANNOT_CREATE_TEMP_FILE
|
||
if there are issues with temp files; in
|
||
this case errno will contain the underlying
|
||
error
|
||
PEP_OUT_OF_MEMORY if not enough memory could be allocated
|
||
```
|
||
*Caveat:* the encrypted, encoded mime text will go to the ownership of the caller; mimetext
|
||
will remain in the ownership of the caller
|
||
|
||
|
||
##### MIME_encrypt_message_for_self( Identity target_id, String mimetext, Integer size, StringList extra, String⇑ mime_ciphertext, PEP_enc_format enc_format, Integer flags) #####
|
||
encrypt MIME message for user's identity only, ignoring recipients and other identities from
|
||
the message, with MIME output
|
||
|
||
```
|
||
parameters:
|
||
target_id (in) self identity this message should be encrypted for
|
||
mimetext (in) MIME encoded text to encrypt
|
||
size (in) size of input mime text
|
||
extra (in) extra keys for encryption
|
||
mime_ciphertext (out) encrypted, encoded message
|
||
enc_format (in) encrypted format
|
||
flags (in) flags to set special encryption features
|
||
|
||
return value:
|
||
PEP_STATUS_OK if everything worked
|
||
PEP_BUFFER_TOO_SMALL if encoded message size is too big to handle
|
||
PEP_CANNOT_CREATE_TEMP_FILE
|
||
if there are issues with temp files; in
|
||
this case errno will contain the underlying
|
||
error
|
||
PEP_OUT_OF_MEMORY if not enough memory could be allocated
|
||
|
||
caveat:
|
||
the encrypted, encoded mime text will go to the ownership of the caller; mimetext
|
||
will remain in the ownership of the caller
|
||
```
|
||
|
||
|
||
##### MIME_decrypt_message(String mimetext, Integer size, String⇑ mime_plaintext, StringList⇑ keylist, PEP_rating⇑ rating, Integer⇕ flags, String⇑ modified_src)
|
||
|
||
decrypt a MIME message, with MIME output
|
||
```
|
||
parameters:
|
||
mimetext (in) MIME encoded text to decrypt
|
||
size (in) size of mime text to decode (in order to decrypt)
|
||
mime_plaintext (out) decrypted, encoded message
|
||
keylist (out) stringlist with keyids
|
||
rating (out) rating for the message
|
||
flags (inout) flags to signal special decryption features
|
||
modified_src (out) modified source string, if decrypt had reason to change it
|
||
|
||
return value:
|
||
decrypt status if everything worked with MIME encode/decode,
|
||
the status of the decryption is returned
|
||
(PEP_STATUS_OK or decryption error status)
|
||
PEP_BUFFER_TOO_SMALL if encoded message size is too big to handle
|
||
PEP_CANNOT_CREATE_TEMP_FILE
|
||
if there are issues with temp files; in
|
||
this case errno will contain the underlying
|
||
error
|
||
PEP_OUT_OF_MEMORY if not enough memory could be allocated
|
||
|
||
flag values:
|
||
in:
|
||
PEP_decrypt_flag_untrusted_server
|
||
used to signal that decrypt function should engage in behaviour
|
||
specified for when the server storing the source is untrusted.
|
||
out:
|
||
PEP_decrypt_flag_own_private_key
|
||
private key was imported for one of our addresses (NOT trusted
|
||
or set to be used - handshake/trust is required for that)
|
||
PEP_decrypt_flag_src_modified
|
||
indicates that the modified_src field should contain a modified
|
||
version of the source, at the moment always as a result of the
|
||
input flags.
|
||
PEP_decrypt_flag_consume
|
||
used by sync
|
||
PEP_decrypt_flag_ignore
|
||
used by sync
|
||
|
||
caveat:
|
||
the decrypted, encoded mime text will go to the ownership of the caller; mimetext
|
||
will remain in the ownership of the caller
|
||
```
|
||
|
||
|
||
##### startKeySync()
|
||
Start Key Synchronization for the current session.
|
||
|
||
##### stopKeySync()
|
||
Stop Key Synchronization for the current session.
|
||
|
||
##### startKeyserverLookup()
|
||
Start a global thread for Keyserver Lookup. This thread handles all keyserver communication for all sessions.
|
||
|
||
##### stopKeyserverLookup()
|
||
Stop the global thread for Keyserver Lookup.
|
||
|
||
|
||
##### encrypt_message(Message src, StringList extra_keys, Message⇑ dst, PEP_enc_format enc_format, Integer flags)
|
||
encrypt message in memory
|
||
```
|
||
parameters:
|
||
src (in) message to encrypt
|
||
extra_keys (in) extra keys for encryption
|
||
dst (out) pointer to new encrypted message or NULL on failure
|
||
enc_format (in) encrypted format
|
||
flags (in) flags to set special encryption features
|
||
|
||
return value:
|
||
PEP_STATUS_OK on success
|
||
PEP_KEY_NOT_FOUND at least one of the receipient keys
|
||
could not be found
|
||
PEP_KEY_HAS_AMBIG_NAME at least one of the receipient keys has
|
||
an ambiguous name
|
||
PEP_GET_KEY_FAILED cannot retrieve key
|
||
PEP_UNENCRYPTED no recipients with usable key,
|
||
message is left unencrypted,
|
||
and key is attached to it
|
||
```
|
||
|
||
##### encrypt_message_and_add_priv_key( Message src, Message⇑ dst, String to_fingerprint, PEP_enc_format enc_format, Integer flags)
|
||
encrypt message in memory, adding an encrypted private key (encrypted separately and sent within the inner message)
|
||
```
|
||
parameters:
|
||
session (in) session handle
|
||
src (in) message to encrypt
|
||
dst (out) pointer to new encrypted message or NULL if no
|
||
encryption could take place
|
||
to_fpr fingerprint of the recipient key to which the private key
|
||
should be encrypted
|
||
enc_format (in) encrypted format
|
||
flags (in) flags to set special encryption features
|
||
|
||
return value:
|
||
PEP_STATUS_OK on success
|
||
PEP_KEY_HAS_AMBIG_NAME at least one of the receipient keys has
|
||
an ambiguous name
|
||
PEP_UNENCRYPTED on demand or no recipients with usable
|
||
key, is left unencrypted, and key is
|
||
attached to it
|
||
|
||
caveat:
|
||
the ownershop of src remains with the caller
|
||
the ownership of dst goes to the caller
|
||
```
|
||
|
||
##### encrypt_message_for_self(Identity target_id, Message src, Message⇑ dst, PEP_enc_format enc_format, Integer flags)
|
||
encrypt message in memory for user's identity only,
|
||
ignoring recipients and other identities from
|
||
the message.
|
||
|
||
```
|
||
parameters:
|
||
target_id (in) self identity this message should be encrypted for
|
||
src (in) message to encrypt
|
||
dst (out) pointer to new encrypted message or NULL on failure
|
||
enc_format (in) encrypted format
|
||
flags (in) flags to set special encryption features
|
||
|
||
return value: (FIXME: This may not be correct or complete)
|
||
PEP_STATUS_OK on success
|
||
PEP_KEY_NOT_FOUND at least one of the receipient keys
|
||
could not be found
|
||
PEP_KEY_HAS_AMBIG_NAME at least one of the receipient keys has
|
||
an ambiguous name
|
||
PEP_GET_KEY_FAILED cannot retrieve key
|
||
```
|
||
*Caveat:* message is NOT encrypted for identities other than the target_id (and then,
|
||
only if the target_id refers to self!)
|
||
|
||
|
||
##### decrypt_message(Message⇕ src, Message⇑ dst, StringList⇑ keylist, PEP_rating⇑ rating, Integer⇕ flags)
|
||
decrypt message in memory
|
||
```
|
||
parameters:
|
||
src (inout) message to decrypt
|
||
dst (out) pointer to new decrypted message or NULL on failure
|
||
keylist (out) stringlist with keyids
|
||
rating (out) rating for the message
|
||
flags (inout) flags to signal special decryption features
|
||
|
||
return value:
|
||
error status
|
||
or PEP_DECRYPTED if message decrypted but not verified
|
||
or PEP_CANNOT_REENCRYPT if message was decrypted (and possibly
|
||
verified) but a reencryption operation is expected by the caller
|
||
and failed
|
||
or PEP_STATUS_OK on success
|
||
|
||
flag values:
|
||
in:
|
||
PEP_decrypt_flag_untrusted_server
|
||
used to signal that decrypt function should engage in behaviour
|
||
specified for when the server storing the source is untrusted
|
||
out:
|
||
PEP_decrypt_flag_own_private_key
|
||
private key was imported for one of our addresses (NOT trusted
|
||
or set to be used - handshake/trust is required for that)
|
||
PEP_decrypt_flag_src_modified
|
||
indicates that the src object has been modified. At the moment,
|
||
this is always as a direct result of the behaviour driven
|
||
by the input flags. This flag is the ONLY value that should be
|
||
relied upon to see if such changes have taken place.
|
||
PEP_decrypt_flag_consume
|
||
used by sync
|
||
PEP_decrypt_flag_ignore
|
||
used by sync
|
||
|
||
|
||
caveat:
|
||
the ownership of src remains with the caller - however, the contents
|
||
might be modified (strings freed and allocated anew or set to NULL,
|
||
etc) intentionally; when this happens, PEP_decrypt_flag_src_modified
|
||
is set.
|
||
the ownership of dst goes to the caller
|
||
the ownership of keylist goes to the caller
|
||
if src is unencrypted this function returns PEP_UNENCRYPTED and sets
|
||
dst to NULL
|
||
```
|
||
|
||
##### outgoing_message_rating(Message msg, PEP_rating⇑ rating)
|
||
get rating for an outgoing message
|
||
```
|
||
parameters:
|
||
msg (in) message to get the rating for
|
||
rating (out) rating for the message
|
||
|
||
return value:
|
||
error status or PEP_STATUS_OK on success
|
||
|
||
caveat:
|
||
msg->from must point to a valid pEp_identity
|
||
msg->dir must be PEP_dir_outgoing
|
||
```
|
||
|
||
##### re_evaluate_message_rating(Message msg, StringList keylist, PEP_rating enc_status, PEP_rating⇑ rating)
|
||
re-evaluate already decrypted message rating
|
||
```
|
||
parameters:
|
||
msg (in) message to get the rating for
|
||
keylist (in) decrypted message recipients keys fpr
|
||
enc_status (in) original rating for the decrypted message
|
||
rating (out) rating for the message
|
||
|
||
return value:
|
||
PEP_ILLEGAL_VALUE if decrypted message doesn't contain
|
||
X-EncStatus optional field and x_enc_status is
|
||
pEp_rating_udefined
|
||
or if decrypted message doesn't contain
|
||
X-Keylist optional field and x_keylist is NULL
|
||
PEP_OUT_OF_MEMORY if not enough memory could be allocated
|
||
|
||
caveat:
|
||
msg->from must point to a valid pEp_identity
|
||
```
|
||
|
||
##### identity_rating(Identity ident, PEP_rating⇑ rating)
|
||
get rating for a single identity
|
||
```
|
||
parameters:
|
||
ident (in) identity to get the rating for
|
||
rating (out) rating for the identity
|
||
|
||
return value:
|
||
error status or PEP_STATUS_OK on success
|
||
```
|
||
|
||
##### get_gpg_path(String⇑)
|
||
get path of gpg binary.
|
||
|
||
#### MIME message handling ####
|
||
|
||
##### mime_decode_message(String mime_message, Integer message_lenght, Message msg)
|
||
|
||
#### pEp Engine Core API ####
|
||
|
||
##### get_trustwords(Identity id1, Identity id2, Language lang, String⇑ words, Integer⇑ wsize, Bool full)
|
||
get full trustwords string for a *pair* of identities
|
||
```
|
||
parameters:
|
||
id1 (in) identity of first party in communication - fpr can't be NULL
|
||
id2 (in) identity of second party in communication - fpr can't be NULL
|
||
lang (in) C string with ISO 639-1 language code
|
||
words (out) pointer to C string with all trustwords UTF-8 encoded,
|
||
separated by a blank each
|
||
NULL if language is not supported or trustword
|
||
wordlist is damaged or unavailable
|
||
wsize (out) length of full trustwords string
|
||
full (in) if true, generate ALL trustwords for these identities.
|
||
else, generate a fixed-size subset. (TODO: fixed-minimum-entropy
|
||
subset in next version)
|
||
|
||
return value:
|
||
PEP_STATUS_OK trustwords retrieved
|
||
PEP_OUT_OF_MEMORY out of memory
|
||
PEP_TRUSTWORD_NOT_FOUND at least one trustword not found
|
||
```
|
||
|
||
##### get_languagelist(String⇑ languages)
|
||
get the list of languages
|
||
```
|
||
parameters:
|
||
languages (out) languages as string in double quoted CSV format
|
||
column 1 is the ISO 639-1 language code
|
||
column 2 is the name of the language
|
||
```
|
||
|
||
|
||
##### is_pep_user(Identity id, Bool⇑ ia_pwp)
|
||
returns true if the USER corresponding to this identity has been listed in the *person* table as a pEp user
|
||
```
|
||
parameters:
|
||
identity (in) - identity containing the user_id to check (this is
|
||
the only part of the struct we require to be set)
|
||
is_pep (out) - boolean pointer - will return true or false by
|
||
reference with respect to whether or not user is
|
||
a known pep user
|
||
```
|
||
|
||
##### config_passive_mode(Bool enable)
|
||
enable passive mode
|
||
|
||
* parameters: enable (in) flag if enabled or disabled
|
||
|
||
|
||
##### config_unencrypted_subject(Bool enable)
|
||
disable subject encryption
|
||
|
||
* parameters: enable (in) flag if enabled or disabled
|
||
|
||
|
||
#### Identity Management API ####
|
||
##### get_identity(String address, String user_id, Identity⇑ identity)
|
||
get identity information
|
||
|
||
```
|
||
parameters:
|
||
address (in) string with communication address, UTF-8 encoded
|
||
user_id (in) unique string to identify person that identity is refering to
|
||
identity (out) pEp_identity structure with results or NULL if failure
|
||
```
|
||
|
||
##### set_identity(Identity)
|
||
set identity information
|
||
```
|
||
parameters:
|
||
identity (in) pEp_identity structure
|
||
|
||
return value:
|
||
PEP_STATUS_OK = 0 encryption and signing succeeded
|
||
PEP_CANNOT_SET_PERSON writing to table person failed
|
||
PEP_CANNOT_SET_PGP_KEYPAIR writing to table pgp_keypair failed
|
||
PEP_CANNOT_SET_IDENTITY writing to table identity failed
|
||
PEP_COMMIT_FAILED SQL commit failed
|
||
PEP_KEY_BLACKLISTED Key blacklisted, cannot set identity
|
||
|
||
caveat:
|
||
address, fpr, user_id and username must be given
|
||
```
|
||
|
||
##### mark_as_comprimized(String fpr)
|
||
mark key in trust db as compromized
|
||
|
||
* parameters: fpr (in) fingerprint of key to mark
|
||
|
||
|
||
##### identity_rating(Identity ident, PEP_rating⇑ rating)
|
||
get rating for a single identity
|
||
```
|
||
parameters:
|
||
ident (in) identity to get the rating for
|
||
rating (out) rating for the identity
|
||
|
||
return value:
|
||
error status or PEP_STATUS_OK on success
|
||
```
|
||
|
||
##### outgoing_message_rating(Message msg, PEP_rating⇑ rating)
|
||
get rating for an outgoing message
|
||
```
|
||
parameters:
|
||
msg (in) message to get the rating for
|
||
rating (out) rating for the message
|
||
|
||
return value:
|
||
error status or PEP_STATUS_OK on success
|
||
|
||
caveat:
|
||
msg->from must point to a valid pEp_identity
|
||
msg->dir must be PEP_dir_outgoing
|
||
```
|
||
|
||
##### set_identity_flags(Identity⇕ identity, Integer flags)
|
||
update identity flags on existing identity
|
||
```
|
||
parameters:
|
||
identity (in,out) pointer to pEp_identity structure
|
||
flags (in) new value for flags
|
||
|
||
return value:
|
||
PEP_STATUS_OK = 0 encryption and signing succeeded
|
||
PEP_CANNOT_SET_IDENTITY update of identity failed
|
||
|
||
caveat:
|
||
address and user_id must be given in identity
|
||
```
|
||
|
||
##### unset_identity_flags(Identity⇕ identity, Integer flags)
|
||
update identity flags on existing identity
|
||
```
|
||
parameters:
|
||
identity (in,out) pointer to pEp_identity structure
|
||
flags (in) new value for flags
|
||
|
||
return value:
|
||
PEP_STATUS_OK = 0 encryption and signing succeeded
|
||
PEP_CANNOT_SET_IDENTITY update of identity failed
|
||
|
||
caveat:
|
||
address and user_id must be given in identity
|
||
```
|
||
|
||
#### Low level Key Management API ####
|
||
##### generate_keypair(Identity⇕ identity)
|
||
generate a new key pair and add it to the key ring
|
||
```
|
||
parameters:
|
||
identity (inout) pEp_identity structure
|
||
|
||
return value:
|
||
PEP_STATUS_OK = 0 encryption and signing succeeded
|
||
PEP_ILLEGAL_VALUE illegal values for identity fields given
|
||
PEP_CANNOT_CREATE_KEY key engine is on strike
|
||
|
||
caveat:
|
||
address and username fields must be set to UTF-8 strings
|
||
the fpr field must be set to NULL
|
||
```
|
||
|
||
##### delete_keypair(String fpr)
|
||
delete a public key or a key pair from the key ring
|
||
```
|
||
parameters:
|
||
fpr (in) string with key id or fingerprint of the public key
|
||
|
||
return value:
|
||
PEP_STATUS_OK = 0 key was successfully deleted
|
||
PEP_KEY_NOT_FOUND key not found
|
||
PEP_ILLEGAL_VALUE not a valid key id or fingerprint
|
||
PEP_KEY_HAS_AMBIG_NAME fpr does not uniquely identify a key
|
||
PEP_OUT_OF_MEMORY out of memory
|
||
```
|
||
|
||
##### import_key(String key_data, Integer size, IdentityList⇑ private_keys)
|
||
import key from data
|
||
```
|
||
parameters:
|
||
key_data (in) key data, i.e. ASCII armored OpenPGP key
|
||
size (in) amount of data to handle
|
||
private_keys (out) list of private keys that have been imported
|
||
|
||
return value:
|
||
PEP_STATUS_OK = 0 key was successfully imported
|
||
PEP_OUT_OF_MEMORY out of memory
|
||
PEP_ILLEGAL_VALUE there is no key data to import
|
||
```
|
||
|
||
##### export_key(String fpr, String⇑ key_data, Integer⇑ size)
|
||
export ascii armored key
|
||
```
|
||
parameters:
|
||
fpr (in) key id or fingerprint of key
|
||
key_data (out) ASCII armored OpenPGP key
|
||
size (out) amount of data to handle
|
||
|
||
return value:
|
||
PEP_STATUS_OK = 0 key was successfully exported
|
||
PEP_OUT_OF_MEMORY out of memory
|
||
PEP_KEY_NOT_FOUND key not found
|
||
```
|
||
|
||
##### find_keys(String pattern, StringList⇑ keylist)
|
||
find keys in keyring
|
||
```
|
||
parameters:
|
||
pattern (in) key id, user id or address to search for as UTF-8 string
|
||
keylist (out) list of fingerprints found or NULL on error
|
||
```
|
||
|
||
##### get_trust(Identity⇕ identity)
|
||
get the trust level a key has for a person
|
||
|
||
```
|
||
parameters:
|
||
identity (inout) user_id and fpr to check as UTF-8 strings (in)
|
||
user_id and comm_type as result (out)
|
||
```
|
||
|
||
This function modifies the given identity struct; the struct remains in
|
||
the ownership of the caller.
|
||
If the trust level cannot be determined identity->comm_type is set
|
||
to PEP_ct_unknown.
|
||
|
||
|
||
##### own_key_is_listed(String fpr, Bool⇑ listed)
|
||
returns true id key is listed as own key
|
||
```
|
||
parameters:
|
||
fpr (in) fingerprint of key to test
|
||
listed (out) flags if key is own
|
||
```
|
||
|
||
##### own_identities_retrieve(IdentityList⇑ own_identities)
|
||
retrieve all own identities
|
||
```
|
||
parameters:
|
||
own_identities (out) list of own identities
|
||
```
|
||
|
||
##### set_own_key( Identity⇕ id, String fpr)
|
||
mark key as own key
|
||
```
|
||
parameters:
|
||
me (inout) own identity this key is used for
|
||
fpr (in) fingerprint of the key to mark as own key
|
||
```
|
||
|
||
##### undo_last_mistrust()
|
||
reset identity and trust status for the last`identity in this session marked
|
||
as mistrusted to their cached values from the time of mistrust
|
||
|
||
```
|
||
parameters:
|
||
(none)
|
||
|
||
return value:
|
||
PEP_STATUS_OK if identity and trust were successfully restored.
|
||
Otherwise, error status from attempts to set.
|
||
|
||
caveat:
|
||
only works for this session, and only once. cache is invalidated
|
||
upon use.
|
||
|
||
WILL NOT WORK ON MISTRUSTED OWN KEY
|
||
```
|
||
|
||
##### myself(Identity⇕ identity)
|
||
ensures that the own identity is being complete
|
||
```
|
||
parameters:
|
||
identity (inout) identity of local user. At least .address, .username, .user_id must be set.
|
||
|
||
return value:
|
||
PEP_STATUS_OK if identity could be completed or was already complete, any other value on error
|
||
|
||
caveat:
|
||
This function generates a keypair on demand; because it's synchronous
|
||
it can need a decent amount of time to return.
|
||
If you need to do this asynchronous, you need to return an identity
|
||
with retrieve_next_identity() where pEp_identity.me is true.
|
||
```
|
||
|
||
##### update_identity(Identity⇕)
|
||
update identity information
|
||
```
|
||
parameters:
|
||
identity (inout) identity information of communication partner
|
||
(identity->fpr is OUT ONLY)
|
||
return value:
|
||
PEP_STATUS_OK if identity could be updated,
|
||
PEP_GET_KEY_FAILED for own identity that must be completed (myself())
|
||
any other value on error
|
||
|
||
caveat:
|
||
if this function returns PEP_ct_unknown or PEP_ct_key_expired in
|
||
identity->comm_type, the caller must insert the identity into the
|
||
asynchronous management implementation, so retrieve_next_identity()
|
||
will return this identity later
|
||
at least identity->address must be a non-empty UTF-8 string as input
|
||
update_identity() never writes flags; use set_identity_flags() for
|
||
writing
|
||
this function NEVER reads the incoming fpr, only writes to it.
|
||
```
|
||
|
||
##### trust_personal_key(Identity)
|
||
mark a key as trusted with a person
|
||
```
|
||
parameters:
|
||
ident (in) person and key to trust in
|
||
|
||
caveat:
|
||
the fields user_id, address and fpr must be supplied
|
||
```
|
||
|
||
##### key_mistrusted(Identity)
|
||
mark key as being compromized
|
||
```
|
||
parameters:
|
||
ident (in) person and key which was compromized
|
||
```
|
||
|
||
##### key_reset_trust(Identity)
|
||
undo trust_personal_key and key_mistrusted() for keys we don't own
|
||
```
|
||
parameters:
|
||
ident (in) person and key which was compromized
|
||
```
|
||
|
||
##### least_trust(String fpr, PEP_comm_type⇑ comm_type)
|
||
get the least known trust level for a key in the database
|
||
```
|
||
parameters:
|
||
fpr (in) fingerprint of key to check
|
||
comm_type (out) least comm_type as result (out)
|
||
```
|
||
|
||
If the trust level cannot be determined comm_type is set to PEP_ct_unknown.
|
||
|
||
|
||
##### get_key_rating(String fpr, PEP_comm_type⇑ comm_type)
|
||
get the rating a bare key has
|
||
```
|
||
parameters:
|
||
fpr (in) unique identifyer for key as UTF-8 string
|
||
comm_type (out) key rating
|
||
```
|
||
|
||
Iif an error occurs, *comm_type is set to PEP_ct_unknown and an error is returned
|
||
|
||
|
||
##### renew_key(String fpr, Timestamp ts)
|
||
renew an expired key
|
||
```
|
||
parameters:
|
||
fpr (in) ID of key to renew as UTF-8 string
|
||
ts (in) timestamp when key should expire or NULL for default
|
||
```
|
||
|
||
##### revoke(String fpr, String reason)
|
||
revoke a key
|
||
```
|
||
parameters:
|
||
fpr (in) ID of key to revoke as UTF-8 string
|
||
reason (in) text with reason for revoke as UTF-8 string
|
||
or NULL if reason unknown
|
||
|
||
caveat:
|
||
reason text must not include empty lines
|
||
this function is meant for internal use only; better use
|
||
key_mistrusted() of keymanagement API
|
||
```
|
||
|
||
##### key_expired(String fpr, Integer when, Bool⇑ expired)
|
||
flags if a key is already expired
|
||
```
|
||
parameters:
|
||
fpr (in) ID of key to check as UTF-8 string
|
||
when (in) UTC time of when should expiry be considered
|
||
expired (out) flag if key expired
|
||
```
|
||
|
||
|
||
#### from blacklist.h & OpenPGP_compat.h ####
|
||
##### blacklist_add(String fpr)
|
||
add to blacklist
|
||
* parameters: fpr (in) fingerprint of key to blacklist
|
||
|
||
|
||
##### blacklist_delete(String fpr)
|
||
delete from blacklist
|
||
* parameters: fpr (in) fingerprint of key to blacklist
|
||
|
||
##### blacklist_is_listed(String fpr, Bool⇑ listed)
|
||
is_listed in blacklist
|
||
```
|
||
parameters:
|
||
session (in) session to use
|
||
fpr (in) fingerprint of key to blacklist
|
||
listted (out)
|
||
```
|
||
|
||
##### blacklist_retrieve(StringList⇑ blacklist)
|
||
retrieve full blacklist of key fingerprints
|
||
|
||
* parameters: blacklist (out) copy of blacklist
|
||
|
||
|
||
##### OpenPGP_list_keyinfo(String search_pattern, StringPairList⇑ keyinfo_list)
|
||
get a key/UID list for pattern matches in keyring ("" to return entire keyring), filtering out revoked keys in the results
|
||
```
|
||
parameters:
|
||
search_pattern (in) search pattern - either an fpr, or something within the UID, or "" for all keys
|
||
keyinfo_list (out) a key/value pair list for each key / UID combination
|
||
```
|
||
|
||
|
||
#### Event Listener & Results ####
|
||
##### registerEventListener(String address, Integer port, String security_context)
|
||
Register an address/port pair where a JSON-RPC call shall be made to, when the Engine wants to call the client application.
|
||
These RPC calls are authenticated with a security_context parameter that is given to all calls (and can be different from the security_context
|
||
that is used for calls from the client to the JSON Server Adapter).
|
||
|
||
Currently there are two functions that can be called:
|
||
* messageToSend( Message )
|
||
* notifyHandshake( Identity self, Identity partner, sync_handshake_signal sig )
|
||
|
||
##### unregisterEventListener(String address, Integer port, String security_context)
|
||
Unregister a previous registered JSON-RPC listener.
|
||
|
||
##### deliverHandshakeResult(Identity partner, PEP_sync_handshake_result result)
|
||
give the result of the handshake dialog back to the Engine
|
||
```
|
||
parameters:
|
||
partner (in) the parther of the handshake
|
||
result (in) handshake result
|
||
```
|
||
|
||
#### Other ####
|
||
|
||
##### serverVersion()
|
||
Returns a struct with SemVer-compatible ABI version, the codename of the
|
||
JSON Adapter version etc.
|
||
|
||
##### version()
|
||
Returns a codename for the current JSON Server Adapter's version.
|
||
|
||
|
||
##### getGpgEnvironment()
|
||
Returns a struct holding 3 members
|
||
* gnupg_path
|
||
* gnupg_home environment variable, if set
|
||
* gpg_agent_info environment variable, if set.
|
||
|
||
##### shutdown()
|
||
shutdown the JSON Adapter
|