summaryrefslogtreecommitdiff
path: root/src/gpgme.h.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpgme.h.in')
-rw-r--r--src/gpgme.h.in59
1 files changed, 52 insertions, 7 deletions
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index 502d68c..d44994a 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -303,12 +303,13 @@ typedef enum
gpgme_hash_algo_t;
-/* The available signature modes. */
+/* The available signature mode flags. */
typedef enum
{
GPGME_SIG_MODE_NORMAL = 0,
GPGME_SIG_MODE_DETACH = 1,
- GPGME_SIG_MODE_CLEAR = 2
+ GPGME_SIG_MODE_CLEAR = 2,
+ GPGME_SIG_MODE_ARCHIVE = 4
}
gpgme_sig_mode_t;
@@ -383,6 +384,7 @@ gpgme_protocol_t;
#define GPGME_KEYLIST_MODE_EPHEMERAL 128
#define GPGME_KEYLIST_MODE_VALIDATE 256
#define GPGME_KEYLIST_MODE_FORCE_EXTERN 512
+#define GPGME_KEYLIST_MODE_WITH_V5FPR 1024
#define GPGME_KEYLIST_MODE_LOCATE (1|2)
#define GPGME_KEYLIST_MODE_LOCATE_EXTERNAL (1|2|512)
@@ -574,8 +576,17 @@ struct _gpgme_subkey
/* True if the key is compliant to the de-vs mode. */
unsigned int is_de_vs : 1;
+ /* True if the key can be used for restricted encryption (ADSK). */
+ unsigned int can_renc : 1;
+
+ /* True if the key can be used for timestamping. */
+ unsigned int can_timestamp : 1;
+
+ /* True if the private key is possessed by more than one person. */
+ unsigned int is_group_owned : 1;
+
/* Internal to GPGME, do not use. */
- unsigned int _unused : 20;
+ unsigned int _unused : 17;
/* Public key algorithm supported by this subkey. */
gpgme_pubkey_algo_t pubkey_algo;
@@ -606,6 +617,9 @@ struct _gpgme_subkey
/* The keygrip of the subkey in hex digit form or NULL if not available. */
char *keygrip;
+
+ /* For OpenPGP the v5 fpr of a v4 key. For X.509 the SHA256 fingerprint. */
+ char *v5fpr;
};
typedef struct _gpgme_subkey *gpgme_subkey_t;
@@ -786,8 +800,20 @@ struct _gpgme_key
/* True if subkey is qualified for signatures according to German law. */
unsigned int is_qualified : 1;
+ /* True if key has at least one encryption subkey. */
+ unsigned int has_encrypt : 1;
+
+ /* True if key has at least one signing subkey. */
+ unsigned int has_sign : 1;
+
+ /* True if key has a certification capability. */
+ unsigned int has_certify : 1;
+
+ /* True if key has at least one authentication subkey. */
+ unsigned int has_authenticate : 1;
+
/* Internal to GPGME, do not use. */
- unsigned int _unused : 17;
+ unsigned int _unused : 13;
/* Origin of this key. */
unsigned int origin : 5;
@@ -1299,7 +1325,8 @@ typedef enum
GPGME_ENCRYPT_SYMMETRIC = 32,
GPGME_ENCRYPT_THROW_KEYIDS = 64,
GPGME_ENCRYPT_WRAP = 128,
- GPGME_ENCRYPT_WANT_ADDRESS = 256
+ GPGME_ENCRYPT_WANT_ADDRESS = 256,
+ GPGME_ENCRYPT_ARCHIVE = 512
}
gpgme_encrypt_flags_t;
@@ -1424,6 +1451,7 @@ gpgme_decrypt_result_t gpgme_op_decrypt_result (gpgme_ctx_t ctx);
typedef enum
{
GPGME_DECRYPT_VERIFY = 1,
+ GPGME_DECRYPT_ARCHIVE = 2,
GPGME_DECRYPT_UNWRAP = 128
}
gpgme_decrypt_flags_t;
@@ -1519,10 +1547,10 @@ gpgme_sign_result_t gpgme_op_sign_result (gpgme_ctx_t ctx);
/* Sign the plaintext PLAIN and store the signature in SIG. */
gpgme_error_t gpgme_op_sign_start (gpgme_ctx_t ctx,
gpgme_data_t plain, gpgme_data_t sig,
- gpgme_sig_mode_t mode);
+ gpgme_sig_mode_t flags);
gpgme_error_t gpgme_op_sign (gpgme_ctx_t ctx,
gpgme_data_t plain, gpgme_data_t sig,
- gpgme_sig_mode_t mode);
+ gpgme_sig_mode_t flags);
/*
@@ -1631,6 +1659,13 @@ typedef struct _gpgme_op_verify_result *gpgme_verify_result_t;
/* Retrieve a pointer to the result of the verify operation. */
gpgme_verify_result_t gpgme_op_verify_result (gpgme_ctx_t ctx);
+/* The valid verify flags. */
+typedef enum
+ {
+ GPGME_VERIFY_ARCHIVE = 1
+ }
+gpgme_verify_flags_t;
+
/* Verify within CTX that SIG is a valid signature for TEXT. */
gpgme_error_t gpgme_op_verify_start (gpgme_ctx_t ctx, gpgme_data_t sig,
gpgme_data_t signed_text,
@@ -1638,6 +1673,16 @@ gpgme_error_t gpgme_op_verify_start (gpgme_ctx_t ctx, gpgme_data_t sig,
gpgme_error_t gpgme_op_verify (gpgme_ctx_t ctx, gpgme_data_t sig,
gpgme_data_t signed_text,
gpgme_data_t plaintext);
+gpgme_error_t gpgme_op_verify_ext_start (gpgme_ctx_t ctx,
+ gpgme_verify_flags_t flags,
+ gpgme_data_t sig,
+ gpgme_data_t signed_text,
+ gpgme_data_t plaintext);
+gpgme_error_t gpgme_op_verify_ext (gpgme_ctx_t ctx,
+ gpgme_verify_flags_t flags,
+ gpgme_data_t sig,
+ gpgme_data_t signed_text,
+ gpgme_data_t plaintext);
/*