Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

When I list the details of a key I get output like this:

$ gpg --edit-key SOMEID
pub [..] created: [..] expires: [..]   usage:SC
[..]
sub [..] created: [..] expires: [..]   usage: E

Or even usage: SCA on another key (the master-key part).

What does these abbreviation in the usage field mean?

I can derive that:

S -> for signing
E -> for encrypting

But what about C and A?

And are there more?

And where to look stuff like this up?

share|improve this question

2 Answers 2

up vote 20 down vote accepted

Ok, the gpg manual does not seem to mention these abbreviations. Thus, one has to look at the source.

For example under Debian/Ubuntu:

$ apt-get source gnupg2
$ cd gnupg2-2.0.17
$ cscope -bR
$ grep 'usage: %' . -r --exclude '*po*'
$ vim g10/keyedit.c
jump to usage: %
jump to definition of `usagestr_from_pk`

From the code one can derive following table:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Constant              Character
───────────────────────────────
PUBKEY_USAGE_SIG      S
PUBKEY_USAGE_CERT     C
PUBKEY_USAGE_ENC      E
PUBKEY_USAGE_AUTH     A
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Thus, for example, usage: SCA means that the sub-key can be used for signing, for creating a certificate and authentication purposes.

share|improve this answer
1  
really anywhere in the docs? –  Jaime Hablutzel Jul 2 '14 at 19:48
    
@JaimeHablutzel, did you find any good documentation on this? –  Eric Fail Nov 3 '14 at 17:59
    
No, sorry, but the source seems a good place to start –  Jaime Hablutzel Nov 5 '14 at 18:21

These key flags are defined in the OpenPGP spec

5.2.3.21. Key Flags

(N octets of flags)

This subpacket contains a list of binary flags that hold information about a key. It is a string of octets, and an implementation MUST NOT assume a fixed size. This is so it can grow over time. If a list is shorter than an implementation expects, the unstated flags are considered to be zero. The defined flags are as follows:

   First octet:

   0x01 - This key may be used to certify other keys.

   0x02 - This key may be used to sign data.

   0x04 - This key may be used to encrypt communications.

   0x08 - This key may be used to encrypt storage.

   0x10 - The private component of this key may have been split
          by a secret-sharing mechanism.

   0x20 - This key may be used for authentication.

   0x80 - The private component of this key may be in the
          possession of more than one person.
share|improve this answer
1  
This looks like a useful reference, but it doesn't really answer the question. –  G-Man Feb 22 at 5:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.