summaryrefslogtreecommitdiff
path: root/AUTHORS
blob: 7c99e6ebe763d2d0bfa20e27acf57c1cb2f529b6 (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
GNU TLS AUTHORS -- Information about the authors.
Copyright (C) 2006, 2007, 2008, 2009 Simon Josefsson
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Nikos Mavrogiannopoulos
See the end for copying conditions.

The copyright holder for GnuTLS is Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Simon Josefsson <simon@josefsson.org>
Current maintainer; draft TLS 1.2 support.

Nikos Mavrogiannopoulos <nmav@gnutls.org>
Original author and maintainer of GnuTLS.

Fabio Fiorina <Fabio.Fiorina@alcatel.it>
ASN.1 structures parser library (libtasn1).

Timo Schulz <twoaday@freakmail.de>
OpenPGP support (OpenCDK library).

Andrew McDonald <andrew@mcdonald.org.uk>
OpenSSL compatible interface.

Ludovic Courtes <ludo@gnu.org>
Guile bindings, OpenPGP bug fixes.

Mario Lenz <m@riolenz.de>
Fixes to OpenCDK.

Howard Chu <hyc@symas.com>
APIs to extract X.500 DN's from Certificates.

Ivo Timmermans <ivo@o2w.nl>
Man pages, OpenCDK, fixes.

Stefan Walter <stef@memberwebs.com>
PKCS8 fix.

Yoshisato YANAGISAWA <yanagisawa@csg.is.titech.ac.jp>
Camellia support.

Emile Van Bergen <emile@e-advies.nl>
TLS/IA fixes.

Joe Orton <jorton@redhat.com>
Certificate name import/export, build fixes, test vectors.

Daniel Kahn Gillmor <dkg-debian.org@fifthhorseman.net>
OpenPGP discussion and improvements.

David Marín Carreño <davefx@gmail.com>
Added gnutls_x509_crq_get_key_id.

Daiki Ueno <ueno@unixuser.org>
Added TLS Session Ticket (RFC 5077) support,
finished client-side TLS 1.2 support.

Jonathan Bastien-Filiatrault <joe@x2a.org>
Fix TLS-version checks.

-----BEGIN PGP PUBLIC KEY BLOCK-----
URL: http://josefsson.org/key.txt (always latest version)
Comment: This 0xB565716F key is used to sign releases of GnuTLS.

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
GGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCQkBc0AUJBlijpAAK
CRDtoh6UtWVxb9EIBP4pk/ztQF+XV5L4krXEmbjAsGb9C+I+4OoRUY/mWDvNAjGp
pkhFD+8Q3oQvg+1dcPsJ5rQHSXgA2w1bOsTknK9DamyY35LHd9T0ZSllXOUX9q3Q
eKiDBYc2KB35ZtxKNIA4Lt5qDgYbSgtlERxDY94BCSy4YApdwATei3O32t5IoR+B
roeIr+w+zn9mVulkn3pRXByYDX/scxcTtWwRL+UNiPsEEwECAEUCGwMECwcDAgMV
AgMDFgIBAh4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQF
AkMVrNEFCQcvRSYACgkQ7aIelLVlcW+ahgUAnWORH5p6Cdk/zhen4sUwwnzsFyAO
Z7vaVPrQPq58Czl2FymLm5kJgsGXH8b6KLxVMo8hjTZnsm+zO6XTLXsnnK7nXk70
gBJ0AAM0XGlG53qDvvQmq3RkfFMHuSmxL+zL8pXTmnywIlEpgDHPVKbPKF3c508H
FEPKFnDjuyRwPgq3q2mhC/qYYBRvw9hjjeRCqDTdC5wHuWLzs5MCLeG+3YhGBBAR
AgAGBQJEc4b8AAoJEAixI47drUe278gAn15puEaeLjlpaTndlvxT+LAH/951AJ9b
0Hlo7Py6F9c1liLsMNWNDnyvZ4j7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIX
gCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJD8ykBBQkIC2/U
AAoJEO2iHpS1ZXFvrF0FAJLVqSWQ2fYNGCvBH4xRS4n2LruzdubmzNuCIZrc75M+
RfTvYeHwCNDY8H+PggYuXMT8armHvFvyL7jln864M9LTX4TwROrqKlkNgOkfxdSg
Oz4QE9RHxxooF1GMl1yhxCoumixYE5w0z0LGYRKy/Xzd3+VMcUaFXvEqY6Q+cnQo
qChCvKRmsIFhF4b4SAqzRePdx6U3PBpC4FbIlkQkpbaIRgQQEQIABgUCRYwLkgAK
CRApqihSMz58I53iAJ47ZGEOrZrMqV6WKmfKa8+5907zeQCeI9LFETr1SK3IHx/7
S7RlQhoqAzeI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1v
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
R2VqKBuUxxUJdEXQibcm8g5i6Z/riPsEEwECAEUCGwMECwcDAgMVAgMDFgIBAh4B
AheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQFAkMVrNIFCQcv
RSYACgkQ7aIelLVlcW/4KQT+IqyFzH4FIELZ3kQrbgPDDqwEM80Xg/maosIx9rZV
sZ5Zl99VCUaAl4t9O3aa0gAZGgLJpRrNaOPbTorjU5/sbRlUV4LJ8/KMG0oWXA0u
uMxbPuQAa0u1cX9sqezgyveUHwpckqI5OPm4Uj2b5vl6YAwNcnJAbcOdr9ZFx6Ck
j66uudHQ91mFgG9g89jqCBy0uxe18vcT9t6zVcuzItbNI4hGBBARAgAGBQJEc4b8
AAoJEAixI47drUe278gAn15puEaeLjlpaTndlvxT+LAH/951AJ9b0Hlo7Py6F9c1
liLsMNWNDnyvZ4hGBBARAgAGBQJEc4cAAAoJEAixI47drUe2X7kAn2STeXyx0720
Av+kaloy7DBcbQ9PAKCeHu+tG0BJiaFJ5PlFL9z7YTf6Koj7BBMBAgBFAhsDBAsH
AwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1D
RVJUBQJD8yj/BQkIC2/UAAoJEO2iHpS1ZXFvnC8E/2m35x5385TCfpBBULbxdISP
5DZcTlM9O30L+XZnn1lFVAFDQes7ZtLJfQtGUYzSPoA110G7ckq8YmLN46h++tV1
cEdUNC/+pq+Z+hb+wGTdXL9z2cGYXH4YyUTPFYgqAvegFEpUQb2ApP9tOfnNlAu3
gu74GUBN4AM1SVSOdyCApJdene5hCCFaplAesSze2TQ3DMHFg9b3sOa1hyNI1pCI
RgQQEQIABgUCRYwLjgAKCRApqihSMz58I4xDAJ9TxsGuTvlpK34/D/pFG6zQ20OJ
4wCcDRwPRMKgIVf4rpxjJHl6smEeBEqI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgEC
HgECF4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCRObodQUJ
CP8vSAAKCRDtoh6UtWVxb4FkBP9tBDCSdedRv15ohfH5pJsB6g7mByjDIXOWByKd
pTIe7on/WiA7CKWShA+zGGBEToD+6eTdlpyS8GvOk3abD1idUZEL41z2q55FYoWE
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
YhPMO1T1pJzVDqe8hC8kTG+zxTA=
=STWG
-----END PGP PUBLIC KEY BLOCK-----

----------------------------------------------------------------------
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.