summaryrefslogtreecommitdiff
path: root/doc/errorref.txt
blob: b943c675c55ff9b2001b7fdab4c825edff6f0b10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
# find ~/s/{gnupg,libgpg-error,libksba,libgcrypt,gpgme,gpa} -type f \
#        -name '*.[ch]' -print0 | xargs -0 grep -n GPG_ERR_


GPG_ERR_UNKNOWN_PACKET (1)	Unknown packet

    GNUPG:  - Redefined to G10ERR_UNKNOWN_PACKET in gpg.

GPG_ERR_UNKNOWN_VERSION (2)	Unknown version in packet

    Used by GnuPG 2.1 to identify valid OpenPGP packets with an
    unknown version.

GPG_ERR_PUBKEY_ALGO		Invalid public key algorithm

    GNUPG:  - Redefined to G10ERR_PUBKEY_ALGO in gpg.
            - Public key algorithm is not allowed by OpenPGP.
    GCRYPT: - Public key algorithm is not defined or not available.
              Note that this is also the case if the algorithm has
              been disabled.
            - [version < 1.5] Checking of the RSA secret key failed
                              (consistency check).

GPG_ERR_DIGEST_ALGO		Invalid digest algorithm

    GNUPG:  - Digest algorithm is not supported.
            - Redefined to G10ERR_PUBKEY_ALGO in gpg.
            - Digest algorithm is not allowed by OpenPGP.
            - Unsupported algorithm given to "--hash=" option of
              certain Assuan server commands.
            - Signature creation or verification failed due to
              an unsupported hash algorithm.
    GCRYPT: - Digest key algorithm is not defined or not available.
              Note that this is also the case if the algorithm has
              been disabled.
            - Unsupported digest algorithm in a selftest.
            - Invalid digest algorithm used in FIPS mode.  Note that
              in enforced-FIPS mode there is no such error return.
            - Message digested or HMAC computation finished with no
              message algorithm enabled for the hash context.
            - Bad digest algorithm given to public key function.

GPG_ERR_BAD_PUBKEY		Bad public key

    GNUPG:  - Redefined to G10ERR_BAD_PUBKEY in gpg.
            - Missing public or domain parameter in an s-expression.
              If the curve name is mssing GPG_ERR_INV_CURVE may be
              used as well.

GPG_ERR_BAD_SECKEY		Bad secret key

    GNUPG:  - Invalid format of a S-expression encoded private key in
              gpg-agent.
            - Missing secret parameter in an s-expression.
            - A protected or shadowed private key was passed to the
              OpenPGP card application for storing it on the card.
            - A private key passed to the OpenPGP card application does
              not match the requirements of the card or misses required
              parameters.
            - Gpg'agents import key command is not able to convert
              the key to the internal format.
    GCRYPT: - Checking the secret key failed (consistency check).


GPG_ERR_BAD_SIGNATURE		Bad signature

    GNUPG:  - Redefined to G10ERR_BAD_SIGN in gpg.
            - The MDC check of an OpenPGP encrypted message failed.
            - A OpenPGP key signature did not verify.
            - A signature with a key flagged as "never trust" was made.
    GCRYPT: - A public key signature did not verify.

GPG_ERR_NO_PUBKEY		No public key

    GNUPG:  - Redefined to G10ERR_NO_PUBKEY in gpg.
            - A key was requested from an OpenPGP card but the key is
              not stored on the card.
            - The public key could not be retrieved from a corresponding
              certificate on a card (command READKEY in scd).
            - A requested certificate was not found or an unspecified
              error occured while selecting a X.509 certificate in
              gpgsm.
            - The specified certificate or key was not found.  This
              does not necessary mean that the certifciate is not
              available but the specification method may not be usable
              for the given certificate.  May also happen for
              certificates somewhere in the chain while validaiting a
              certificate chain.
            - The requested encryption certificate was not found.
            - A certificate specified in a CMS message is not
              available and thus the signature could not be verified
              or details of the certificate be shown.
    GPA:    - No key was given for encryption.
            - The selected encryption protocol is not available.

GPG_ERR_CHECKSUM		Checksum error

    GNUPG:  - The checksum of an unprotected OpenPGP secret key packet
              is wrong.
    GCRYPT: - Decryption in AESWRAP mode does not match the expected IV.
    [more to come]

GPG_ERR_BAD_PASSPHRASE		Bad passphrase

    GNUPG: - The entered passphrase does not verify


12	GPG_ERR_CIPHER_ALGO		Invalid cipher algorithm
13	GPG_ERR_KEYRING_OPEN		Keyring open
14	GPG_ERR_INV_PACKET		Invalid packet
15	GPG_ERR_INV_ARMOR		Invalid armor
16	GPG_ERR_NO_USER_ID		No user ID

GPG_ERR_NO_SECKEY		No secret key

   NTBTLS: - No private key or pre-shared key available.

18	GPG_ERR_WRONG_SECKEY		Wrong secret key used

GPG_ERR_BAD_KEY			Bad session key

    GNUPG: - gpg-agent's command IMPORT_KEY or EXPORT_KEY is used
             without a prior KEYWRAP_KEY command.

    [more to come]


20	GPG_ERR_COMPR_ALGO		Unknown compression algorithm
21	GPG_ERR_NO_PRIME		Number is not prime
22	GPG_ERR_NO_ENCODING_METHOD	Invalid encoding method
23	GPG_ERR_NO_ENCRYPTION_SCHEME	Invalid encryption scheme
24	GPG_ERR_NO_SIGNATURE_SCHEME	Invalid signature scheme
25	GPG_ERR_INV_ATTR		Invalid attribute


GPG_ERR_NO_VALUE		No value

    GNUPG:  - A timestamp value is expect but there is none.
    KSBA:   - A timestamp value is expect but there is none.
            - A certificate is missing a required property.
            - A CMS object is missing a required property.
            - Converting a Distinguised Name to an RFC2253 string failed.


GPG_ERR_NOT_FOUND		Not found

    A search operation did not return a matching value.


GPG_ERR_VALUE_NOT_FOUND		Value not found

    GNUPG:  - A keyblock or a cert object was requested but not
              found.  This might indicate an internal error here.


29	GPG_ERR_SYNTAX			Syntax error
30	GPG_ERR_BAD_MPI			Bad MPI value

GPG_ERR_INV_PASSPHRASE		Invalid passphrase

    GNUPG:  - Required constraints of the passphrase are not met.

32	GPG_ERR_SIG_CLASS		Invalid signature class
33	GPG_ERR_RESOURCE_LIMIT		Resources exhausted
34	GPG_ERR_INV_KEYRING		Invalid keyring
35	GPG_ERR_TRUSTDB			Trust DB error


GPG_ERR_BAD_CERT		Bad certificate


GPG_ERR_INV_USER_ID		Invalid user ID

    GNUPG:  - Used to indicate a bad specification of a user id.
    [more to come]


38	GPG_ERR_UNEXPECTED		Unexpected error
39	GPG_ERR_TIME_CONFLICT		Time conflict
40	GPG_ERR_KEYSERVER		Keyserver error


GPG_ERR_WRONG_PUBKEY_ALGO	Wrong public key algorithm

    GNUPG: - The algorithm is not expected.  For example a DSA
             algorithm is used where a non-DSA algorithm is expected
             or vice versa.  May indicate an internal error.
    NTBTLS: - Public key type mismatch.  The peer presented a
              different key type than requested.


42	GPG_ERR_TRIBUTE_TO_D_A		Tribute to D. A.
43	GPG_ERR_WEAK_KEY		Weak encryption key
44	GPG_ERR_INV_KEYLEN		Invalid key length

GPG_ERR_INV_ARG			Invalid argument

    GCRYPT:  - Unsupported length of input data in encrypt or decrypt
               cipher functions.  For example not matching the block
               lengths of the algorithm.
             - Incompatible args given; e.g. two or none if exactly one
               is required.
    [more to come]


46	GPG_ERR_BAD_URI			Syntax error in URI
47	GPG_ERR_INV_URI			Invalid URI
48	GPG_ERR_NETWORK			Network error
49	GPG_ERR_UNKNOWN_HOST		Unknown host

        Used instead of the non-portbale EHOSTNOTFOUND which is
        returned by some systems as a mapping of h_errno's
        HOST_NOT_FOUND


50	GPG_ERR_SELFTEST_FAILED		Selftest failed
51	GPG_ERR_NOT_ENCRYPTED		Data not encrypted
52	GPG_ERR_NOT_PROCESSED		Data not processed
53	GPG_ERR_UNUSABLE_PUBKEY		Unusable public key
54	GPG_ERR_UNUSABLE_SECKEY		Unusable secret key

GPG_ERR_INV_VALUE		Invalid value

    NTBTLS: - A DH parameter is out of range


56	GPG_ERR_BAD_CERT_CHAIN		Bad certificate chain

GPG_ERR_MISSING_CERT		Missing certificate

    NTBTLS: - The server needs to send a certifciate but none has been
              set.  See also GPG_ERR_MISSING_ISSUER_CERT and
              GPG_ERR_MISSING_CLIENT_CERT.



58	GPG_ERR_NO_DATA			No data
59	GPG_ERR_BUG			Bug

60	GPG_ERR_NOT_SUPPORTED		Not supported

        Used if a feature is currently not supported but may be
        enabled for example using a program option.  Commonly used if
        a feature has been disabled by an administrator.  See also
        GPG_ERR_NOT_ENABLED.  Sometimes also used for features which
        are not yet supported.


61	GPG_ERR_INV_OP			Invalid operation code
62	GPG_ERR_TIMEOUT			Timeout
63	GPG_ERR_INTERNAL		Internal error
64	GPG_ERR_EOF_GCRYPT		EOF (gcrypt)
65	GPG_ERR_INV_OBJ			Invalid object
66	GPG_ERR_TOO_SHORT		Provided object is too short
67	GPG_ERR_TOO_LARGE		Provided object is too large
68	GPG_ERR_NO_OBJ			Missing item in object

GPG_ERR_NOT_IMPLEMENTED		Not implemented

    NTBTLS: - The requested feature is not implemented.

GPG_ERR_CONFLICT		Conflicting use

    NTBTLS: - Function has already been called and may not be called
              again at this protocol state.
    GNUPG:  - Returned by g13 when creating a new container on a device
              which seems to be in use.


71	GPG_ERR_INV_CIPHER_MODE		Invalid cipher mode
72	GPG_ERR_INV_FLAG		Invalid flag

   GPGME: Used to indicate an invalid combination of flags.


73	GPG_ERR_INV_HANDLE		Invalid handle
74	GPG_ERR_TRUNCATED		Result truncated
75	GPG_ERR_INCOMPLETE_LINE		Incomplete line
76	GPG_ERR_INV_RESPONSE		Invalid response
77	GPG_ERR_NO_AGENT		No agent running
78	GPG_ERR_AGENT			agent error

GPG_ERR_INV_DATA		Invalid data

    GNUPG:  - Used in app-openpgp.c for a badly formatted request.
    GCRYPT: - No passphrase given for gcry_kdf_derive.
            - An opaque MPI is given to a public key function but not
              expected.

80	GPG_ERR_ASSUAN_SERVER_FAULT	Unspecific Assuan server fault

GPG_ERR_ASSUAN			General Assuan error

    GNUPG: - Used by Assuan command handler if they fail to do basic
             things like an es_fdopen or es_fopencookie.


82	GPG_ERR_INV_SESSION_KEY		Invalid session key
83	GPG_ERR_INV_SEXP		Invalid S-expression
84	GPG_ERR_UNSUPPORTED_ALGORITHM	Unsupported algorithm
85	GPG_ERR_NO_PIN_ENTRY		No pinentry
86	GPG_ERR_PIN_ENTRY		pinentry error
87	GPG_ERR_BAD_PIN			Bad PIN

GPG_ERR_INV_NAME		Invalid name

    GNUPG:  - Formerly used in GPGSM to indicate an error in
              the specification of a user id.  Later replaced by
              GPG_ERR_INV_USER_ID.
            - In G13 to indicate a bad file name (e.g. one with
              an embedded Nul byte when given as escaped string.
            - In SCDAEMON for an unknown attribute name.

    Also used for URLs which have non-acceptable characters for the
    specific application.

    [more to come]

GPG_ERR_BAD_DATA		Bad data

GPG_ERR_INV_PARAMETER		Invalid parameter

    GNUPG:  - Returned if gpg-agent sends a new generated key with
              unknown parameter names.
            - Invalid parameter in the parameter file for key
              generation by gpgsm.

91	GPG_ERR_WRONG_CARD		Wrong card
92	GPG_ERR_NO_DIRMNGR		No dirmngr
93	GPG_ERR_DIRMNGR			dirmngr error
94	GPG_ERR_CERT_REVOKED		Certificate revoked
95	GPG_ERR_NO_CRL_KNOWN		No CRL known
96	GPG_ERR_CRL_TOO_OLD		CRL too old
97	GPG_ERR_LINE_TOO_LONG		Line too long
98	GPG_ERR_NOT_TRUSTED		Not trusted
99	GPG_ERR_CANCELED		Operation cancelled
100	GPG_ERR_BAD_CA_CERT		Bad CA certificate
101	GPG_ERR_CERT_EXPIRED		Certificate expired
102	GPG_ERR_CERT_TOO_YOUNG		Certificate too young
103	GPG_ERR_UNSUPPORTED_CERT	Unsupported certificate
104	GPG_ERR_UNKNOWN_SEXP		Unknown S-expression
105	GPG_ERR_UNSUPPORTED_PROTECTION	Unsupported protection
106	GPG_ERR_CORRUPTED_PROTECTION	Corrupted protection
107	GPG_ERR_AMBIGUOUS_NAME		Ambiguous name
108	GPG_ERR_CARD			Card error
109	GPG_ERR_CARD_RESET		Card reset required
110	GPG_ERR_CARD_REMOVED		Card removed
111	GPG_ERR_INV_CARD		Invalid card
112	GPG_ERR_CARD_NOT_PRESENT	Card not present
113	GPG_ERR_NO_PKCS15_APP		No PKCS15 application
114	GPG_ERR_NOT_CONFIRMED		Not confirmed
115	GPG_ERR_CONFIGURATION		Configuration error
116	GPG_ERR_NO_POLICY_MATCH		No policy match
117	GPG_ERR_INV_INDEX		Invalid index
118	GPG_ERR_INV_ID			Invalid ID
119	GPG_ERR_NO_SCDAEMON		No SmartCard daemon
120	GPG_ERR_SCDAEMON		SmartCard daemon error

GPG_ERR_UNSUPPORTED_PROTOCOL	Unsupported protocol

    GPG:        - An unsupported keyserver protocol.
    GPG_AGENT:  - Invalid shadow_info protocol (not "t1-v1")
    LIBKSBA:    - Unknown OID of the OCSP response bytes
    GPGME:      - GPGME_PROTOCOL_xxx not supported.
    NTBTLS:     - Handshake protocol version not supported.

122	GPG_ERR_BAD_PIN_METHOD		Bad PIN method

GPG_ERR_CARD_NOT_INITIALIZED	Card not initialized

    SCDAEMON: - A card function is called but the card has not yet
                been initialized.  This may be due to a conflict with
                another card using connection or due to a bug.

124	GPG_ERR_UNSUPPORTED_OPERATION	Unsupported operation
125	GPG_ERR_WRONG_KEY_USAGE		Wrong key usage

    GNUPG: - Key usage not possible with selected algorithm.

GPG_ERR_NOTHING_FOUND		Nothing found

  Indicates that the operation was not possible because nothing has
  been found.  For example an update request for non existent data.


127	GPG_ERR_WRONG_BLOB_TYPE		Wrong blob type

GPG_ERR_MISSING_VALUE		Missing value

    GNUPG: - Not enough parameters for a secret key send to gpg-agent.

    GCRYPT: - A required parameter has not been given.


129	GPG_ERR_HARDWARE		Hardware problem
130	GPG_ERR_PIN_BLOCKED		PIN blocked
131	GPG_ERR_USE_CONDITIONS		Conditions of use not satisfied
132	GPG_ERR_PIN_NOT_SYNCED		PINs are not synced
133	GPG_ERR_INV_CRL			Invalid CRL
134	GPG_ERR_BAD_BER			BER error
135	GPG_ERR_INV_BER			Invalid BER
136	GPG_ERR_ELEMENT_NOT_FOUND	Element not found
137	GPG_ERR_IDENTIFIER_NOT_FOUND	Identifier not found
138	GPG_ERR_INV_TAG			Invalid tag

GPG_ERR_INV_LENGTH		Invalid length

    GCRYPT: - Bad block length for certain cipher algorithms and
              modes.
            - Bad length of input data; e.g. not a multiple of the
              block length.
            - A length does not match the size of the digest
              algorithm.
            - Length of signature or public key is not as expected
              (e.g. in EdDSA).
    [more to come]
    GNUPG:  - Invalid hash length for a pubkey
    [more to come]

GPG_ERR_INV_KEYINFO		Invalid key info

    KSBA: - Returned if the ASN.1 Keyinfo structure is not valid

141	GPG_ERR_UNEXPECTED_TAG		Unexpected tag
142	GPG_ERR_NOT_DER_ENCODED		Not DER encoded
143	GPG_ERR_NO_CMS_OBJ		No CMS object
144	GPG_ERR_INV_CMS_OBJ		Invalid CMS object
145	GPG_ERR_UNKNOWN_CMS_OBJ		Unknown CMS object
146	GPG_ERR_UNSUPPORTED_CMS_OBJ	Unsupported CMS object

GPG_ERR_UNSUPPORTED_ENCODING	Unsupported encoding

    GNUPG: - Returned by Dirmngr if a keyserver returns a HTML document.


148	GPG_ERR_UNSUPPORTED_CMS_VERSION	Unsupported CMS version


149	GPG_ERR_UNKNOWN_ALGORITHM	Unknown algorithm

    GCRYPT:  gcry_kdf_proc for an unknown kdf algorithm

150	GPG_ERR_INV_ENGINE		Invalid crypto engine

    GPGME: Several uses use cases.  For example:
           - Unexpected format of a status line.

151	GPG_ERR_PUBKEY_NOT_TRUSTED	Public key not trusted
152	GPG_ERR_DECRYPT_FAILED		Decryption failed
153	GPG_ERR_KEY_EXPIRED		Key expired
154	GPG_ERR_SIG_EXPIRED		Signature expired
155	GPG_ERR_ENCODING_PROBLEM	Encoding problem

GPG_ERR_INV_STATE		Invalid state

    The state (of a protocol) is not possible or not defined at all.

    NTBTLS: - Data received in an unexpected state.



157	GPG_ERR_DUP_VALUE		Duplicated value

GPG_ERR_MISSING_ACTION		Missing action

    GNUPG: - In G13 the server command "MOUNT" is used without prior
             use of the command "OPEN".

    others: - The libassuan ce-server test program uses this to
              indicate that the client did not conncted to the server
              as requested.

159	GPG_ERR_MODULE_NOT_FOUND	ASN.1 module not found
160	GPG_ERR_INV_OID_STRING		Invalid OID string
161	GPG_ERR_INV_TIME		Invalid time
162	GPG_ERR_INV_CRL_OBJ		Invalid CRL object
163	GPG_ERR_UNSUPPORTED_CRL_VERSION	Unsupported CRL version


GPG_ERR_INV_CERT_OBJ		Invalid certificate object

    GPGME: - A bad certificate (gpgme_key_t) has been passed to a
             function.  For example it might be incomplete due to a
             missing fingerprint.


165	GPG_ERR_UNKNOWN_NAME		Unknown name

        Used by GPG to indicate an unknown ECC curve name (may also
        indicate missing ECC support).  It is also used to indicate an
        unsuported parameter name in functions which take a name and
        value to update state.  Note that GPG_ERR_UNKNOWN_CURVE is
        used instead by newer code.

166	GPG_ERR_LOCALE_PROBLEM		A locale function failed
167	GPG_ERR_NOT_LOCKED		Not locked

GPG_ERR_PROTOCOL_VIOLATION	Protocol violation

    GNUPG: - Used for invalid HTTP responses.


GPG_ERR_INV_MAC			Invalid MAC

        The length, algo, or other properties of a MAC are not met.
        See also GPG_ERR_BAD_MAC.


170	GPG_ERR_INV_REQUEST		Invalid request
171	GPG_ERR_UNKNOWN_EXTN		Unknown extension
172	GPG_ERR_UNKNOWN_CRIT_EXTN	Unknown critical extension
173	GPG_ERR_LOCKED			Locked
174	GPG_ERR_UNKNOWN_OPTION		Unknown option
175	GPG_ERR_UNKNOWN_COMMAND		Unknown command
176	GPG_ERR_NOT_OPERATIONAL		Not operational
177	GPG_ERR_NO_PASSPHRASE		No passphrase given
178	GPG_ERR_NO_PIN			No PIN given

GPG_ERR_NOT_ENABLED		Not enabled

        Similar to GPG_ERR_NOT_SUPPORTED.  In general this error is
        used for disabled features which can be expected to be enabled
        by the user.


180	GPG_ERR_NO_ENGINE		No crypto engine
181	GPG_ERR_MISSING_KEY		Missing key

GPG_ERR_TOO_MANY                Too many objects

    GPG: - Dirmngr KS_GET called with too many pattern so that the
           maximum Assuan line length would overflow.
         - gpgsm's command export --secret called with too man keys.
    GPGME: - To many patterns in gpgme-tools's KEYLIST command.

GPG_ERR_LIMIT_REACHED           Limit reached

        A programmed limit has been reached.

        GnuPG: gpgtar: Extract directory can't be created because too
        many of directories with a similar name are already existing.

GPG_ERR_NOT_INITIALIZED		Not initialized

    An operation can't be performed because something has not been
    initialized.  This might be a missing initialization of an entire
    subsystems or a prerequisite for using a function is not
    fulfilled.

185	GPG_ERR_MISSING_ISSUER_CERT	Missing issuer certificate

GPG_ERR_NO_KEYSERVER		No keyserver available

        No keyserver configured or no keyserver available due to
        missing support for the requested protocol.  Found in Dirmngr.

GPG_ERR_INV_CURVE		Invalid elliptic curve

        The curve parameter is missing or the curve is invalid; for
        example it is not possible to get affine coordinates for the
        public key.

GPG_ERR_UNKNOWN_CURVE		Unknown elliptic curve

        The curve is not known or not supported by the protocol.


GPG_ERR_DUP_KEY                 Duplicated key

        A duplicated key was detected.  For example a unique key in a
        database occurred more than once.  Also used if in a protocol
        an expected key was returned more than once.

GPG_ERR_AMBIGUOUS		Ambiguous search

        A search etc returned an ambigious result.  This usually means
        that the search string was not specific enough.

GPG_ERR_NO_CRYPT_CTX		No crypto context

        A crypto context was expected but not given.  Commonly used by
        Libgcrypt.

GPG_ERR_WRONG_CRYPT_CTX		Wrong crypto context

        The given crypto context does not match the requirements.  For
        example in Libgcrypt a crypto context has private data
        pertaining to certain algorithms.  This error is for example
        returned if a crypto context initialized for a different
        algorithm is used.

GPG_ERR_BAD_CRYPT_CTX		Bad crypto context

        The is a problem with the crypto context.  For example it has
        not been properly initialized.

GPG_ERR_CRYPT_CTX_CONFLICT	Conflict in the crypto context

        Conflicting use of a crypto context.  For example if a context
        is used with objects that don't match the state of the
        context.

GPG_ERR_BROKEN_PUBKEY		Broken public key

        The public key was mathematically not correctly generated.
        (It would have been nicer if we would have used BAD_PUBKEY for
        this, but that error code is in long time use to describe for
        example policy and encoding problems with a key.  Using
        INV_PUBKEY would have been better for these purposes)

GPG_ERR_BROKEN_SECKEY		Broken secret key

        The secret key was mathematically not correctly generated.

GPG_ERR_MAC_ALGO

    GCRYPT: - MAC key algorithm is not defined or not available.


198     GPG_ERR_FULLY_CANCELED          Operation fully cancelled
199	GPG_ERR_UNFINISHED		Operation not yet finished
200	GPG_ERR_BUFFER_TOO_SHORT	Buffer too short

201	GPG_ERR_SEXP_INV_LEN_SPEC	Invalid length specifier in S-expression
202	GPG_ERR_SEXP_STRING_TOO_LONG	String too long in S-expression
203	GPG_ERR_SEXP_UNMATCHED_PAREN	Unmatched parentheses in S-expression
204	GPG_ERR_SEXP_NOT_CANONICAL	S-expression not canonical
205	GPG_ERR_SEXP_BAD_CHARACTER	Bad character in S-expression
206	GPG_ERR_SEXP_BAD_QUOTATION	Bad quotation in S-expression
207	GPG_ERR_SEXP_ZERO_PREFIX	Zero prefix in S-expression
208	GPG_ERR_SEXP_NESTED_DH		Nested display hints in S-expression
209	GPG_ERR_SEXP_UNMATCHED_DH	Unmatched display hints
210	GPG_ERR_SEXP_UNEXPECTED_PUNC	Unexpected reserved punctuation in S-expression
211	GPG_ERR_SEXP_BAD_HEX_CHAR	Bad hexadecimal character in S-expression
212	GPG_ERR_SEXP_ODD_HEX_NUMBERS	Odd hexadecimal numbers in S-expression
213	GPG_ERR_SEXP_BAD_OCT_CHAR	Bad octal character in S-expression


GPG_ERR_SUBKEYS_EXP_REV (217)           All subkeys are expired or revoked

GPG_ERR_DB_CORRUPTED (218)		Database is corrupted

GPG_ERR_SERVER_FAILED (219)		Server indicated a failure

GPG_ERR_NO_NAME	(220)		No name

    EAI_NONAME may be mapped to this code.

GPG_ERR_NO_KEY (221)		No key

    Some kind of key was not found.

GPG_ERR_LEGACY_KEY (222)        Legacy key

    Used by GnuPG to identify version 2 and 3 OpenPGP key packets.

GPG_ERR_REQUEST_TOO_SHORT       Request too short

    A received request is too short to continue processing.

GPG_ERR_REQUEST_TOO_LONG        Request too long

    A received request is too long to continue processing.  This may
    be due to an internal limitation, a protocol violation, or due to
    the use of a newer version of a protocol.

GPG_ERR_OBJ_TERM_STATE		Object is in termination state

    For cards this is the ISO status word 0x6285 (file is in
    termnation state).

GPG_ERR_NO_CERT_CHAIN		No certificate chain

    NTBTLS: - A CA chain has not been set but is required.

GPG_ERR_CERT_TOO_LARGE		Certificate is too large

    NTBTLS: - A certificate is too large to be used by the protocol.

GPG_ERR_INV_RECORD              Invalid record

    NTBTLS: - An invalid record was received

GPG_ERR_BAD_MAC			The MAC does not verify

    NTBTLS: - MAC verification of the message failed.

GPG_ERR_UNEXPECTED_MSG         Unexpected message

    GNUPG:  - An unexpected WKS message was received.
    NTBTLS: - Unexpected message received.

GPG_ERR_COMPR_FAILED           Compression or decompression failed

    NTBTLS: - As the description says.

GPG_ERR_WOULD_WRAP             A counter would wrap

    NTBTLS: - Too many messages exchanged
    Other:  - A counter would wrap.

GPG_ERR_FATAL_ALERT            Fatal alert message received

    NTBTLS: - Fatal alert message received from the peer.

GPG_ERR_NO_CIPHER              No cipher algorithm

    NTBTLS: - Server and client have no algo in common

GPG_ERR_MISSING_CLIENT_CERT     Missing client certificate

    NTBTLS: - No certificate received from client.

GPG_ERR_CLOSE_NOTIFY            Close notification received

    NTBTLS: - Alert with a close notification received

GPG_ERR_TICKET_EXPIRED          Ticket expired

    NTBTLS: - Session ticket has expired.

GPG_ERR_BAD_TICKET              Bad ticket

    NTBTLS: - Bad new session ticket message.

GPG_ERR_UNKNOWN_IDENTITY        Unknown identity

    NTBTLS: - Unknown PSK identify received

GPG_ERR_BAD_HS_CERT             Bad certificate message in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_CERT_REQ         Bad certificate request message in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_CERT_VER         Bad certificate verify message in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_CHANGE_CIPHER    Bad change cipher messsage in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_CLIENT_HELLO     Bad client hello message in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_SERVER_HELLO     Bad server hello message in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_SERVER_HELLO_DONE  Bad server hello done message in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_FINISHED         Bad finished message in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_SERVER_KEX       Bad server key exchange message in handshake

    NTBTLS: - As the description says.

GPG_ERR_BAD_HS_CLIENT_KEX       Bad client key exchange message in handshake

    NTBTLS: - As the description says.


GPG_ERR_BOGUS_STRING            Bogus string

    Used if a protocol sends length prefixed strings which contain a
    Nul byte and further processing would discard the rest of the
    string.  May also be used if a string contains unexpected and
    possible dangerous characters (e.g. control characters in a domain
    name).

GPG_ERR_FORBIDDEN		Forbidden

    The use of a features is not allowed due to insufficient rights.
    Use by gpg-agent as an error codes for restricted commands.

GPG_ERR_KEY_DISABLED            Key disabled

    GNUPG: - The key has been disabled by the user.

GPG_ERR_KEY_ON_CARD		Not possible with a card based key

    GNUPG: - The gpg-agent returns this if a DELETE_KEY commands is
             used for a smartcard based key.

GPG_ERR_INV_LOCK_OBJ		Invalid lock object

    GPGRT: - The provided lock object is not valid.  This indicates an
             internal problem in libgpg-error or more likely a
             programming error.

GPG_ERR_TRUE			True

    Used to retrun the boolena value True.  Note that GPG_ERR_NO_ERROR
    (with the value 0) is also often used to indicate the value true.

GPG_ERR_FALSE			False

    Used to return the boolean value False.


GPG_ERR_ASS_GENERAL (257)            General IPC error
GPG_ERR_ASS_ACCEPT_FAILED (258)      IPC accept call failed
GPG_ERR_ASS_CONNECT_FAILED (259)     IPC connect call failed
GPG_ERR_ASS_INV_RESPONSE (260)       Invalid IPC response
GPG_ERR_ASS_INV_VALUE (261)          Invalid value passed to IPC
GPG_ERR_ASS_INCOMPLETE_LINE (262)    Incomplete line passed to IPC
GPG_ERR_ASS_LINE_TOO_LONG (263)      Line passed to IPC too long
GPG_ERR_ASS_NESTED_COMMANDS (264)    Nested IPC commands
GPG_ERR_ASS_NO_DATA_CB (265)         No data callback in IPC
GPG_ERR_ASS_NO_INQUIRE_CB (266)      No inquire callback in IPC
GPG_ERR_ASS_NOT_A_SERVER (267)       Not an IPC server
GPG_ERR_ASS_NOT_A_CLIENT (268)       Not an IPC client
GPG_ERR_ASS_SERVER_START (269)       Problem starting IPC server
GPG_ERR_ASS_READ_ERROR (270)         IPC read error
GPG_ERR_ASS_WRITE_ERROR	(271)        IPC write error
GPG_ERR_ASS_TOO_MUCH_DATA  (273)     Too much data for IPC layer
GPG_ERR_ASS_UNEXPECTED_CMD (274)     Unexpected IPC command
GPG_ERR_ASS_UNKNOWN_CMD	(275)        Unknown IPC command
GPG_ERR_ASS_SYNTAX (276)             IPC syntax error
GPG_ERR_ASS_CANCELED (277)           IPC call has been cancelled
GPG_ERR_ASS_NO_INPUT (278)           No input source for IPC
GPG_ERR_ASS_NO_OUTPUT (279)          No output source for IPC
GPG_ERR_ASS_PARAMETER (280)          IPC parameter error
GPG_ERR_ASS_UNKNOWN_INQUIRE (281)    Unknown IPC inquire


GPG_ERR_ENGINE_TOO_OLD (300)	Crypto engine too old

GPG_ERR_WINDOW_TOO_SMALL(301)	Screen or window too small

    Pinentry: - The size of the screen is too small.

GPG_ERR_WINDOW_TOO_LARGE (302)	Screen or window too large

GPG_ERR_MISSING_ENVVAR (303)	Required environment variable not set

    Pinentry: - The size of the screen can't be determined.

GPG_ERR_LDAP_GENERAL		LDAP General error

   Catch all error for LDAP.  Use if if can't map an erro rocde to an
   gpg-error code.

GPG_ERR_LDAP_ATTR_GENERAL	LDAP General attribute error
GPG_ERR_LDAP_NAME_GENERAL	LDAP General name error
GPG_ERR_LDAP_SECURITY_GENERAL	LDAP General security error
GPG_ERR_LDAP_SERVICE_GENERAL	LDAP General service error
GPG_ERR_LDAP_UPDATE_GENERAL	LDAP General update error
GPG_ERR_LDAP_E_GENERAL		LDAP Experimental error code
GPG_ERR_LDAP_X_GENERAL	        LDAP Private error code
GPG_ERR_LDAP_OTHER_GENERAL	LDAP Other general error

  All above may be used to map ranges of LDAP errors to one specific
  code. OpenLDAP uses LDAP_xxx_RANGE(n) macros for tha mapping.
  "Other general error" may be used similar to "General error" for
  mapping of ranges.  Here are macros from OpenLDAP for reference

  #define LDAP_ATTR_ERROR(n)	 LDAP_RANGE((n),0x10,0x15) /* 16-21 */
  #define LDAP_NAME_ERROR(n)	 LDAP_RANGE((n),0x20,0x24) /* 32-34,36 */
  #define LDAP_SECURITY_ERROR(n) LDAP_RANGE((n),0x2F,0x32) /* 47-50 */
  #define LDAP_SERVICE_ERROR(n)	 LDAP_RANGE((n),0x33,0x36) /* 51-54 */
  #define LDAP_UPDATE_ERROR(n)	 LDAP_RANGE((n),0x40,0x47) /* 64-69,71 */
  #define LDAP_E_ERROR(n)	 LDAP_RANGE((n),0x1000,0x3FFF)
  #define LDAP_X_ERROR(n)	 LDAP_RANGE((n),0x4000,0xFFFF)