Added Cyg-Win

This commit is contained in:
Frank Harris 2026-06-06 18:46:40 -04:00
parent 82cbc206eb
commit 413c315806
10586 changed files with 3806249 additions and 0 deletions

View file

@ -0,0 +1,104 @@
Program: Libksba
Download: https://gnupg.org/ftp/gcrypt/libksba/
Repository: git://git.gnupg.org/libksba.git
Maintainer: Werner Koch <wk@gnupg.org>
Bug reports: https://bugs.gnupg.org
Security related bug reports: <security@gnupg.org>
License (library): LGPLv3+/GPLv2+
License (tools, manual): GPLv3+
Libksba is free software. See the files COPYING.* for detailed
copying conditions, and this file for notices about a few
contributions that require these additional notices to be distributed.
License copyright years may be listed using range notation, e.g.,
2000-2013, indicating that every year in the range, inclusive, is a
copyrightable year that would otherwise be listed individually.
List of Authors
===============
g10 Code GmbH
Design and most stuff.
GNUTLS Fabio Fiorina 2001-06-19
[According to CVS log of August 5, 2001 @ 11:38: "renamed cert_* to
x509_*" , further more, the original names must have been changed from
Fabio's orginal ones to cert_* when he commited them to CVS] As of
now the following files contain some of this code:
(asn1-parse.y, asn1-func.[ch])
Copyright
=========
Copyright (C) 2001-2006, 2010-2015, 2018-2023 g10 Code GmbH
Copyright (C) 2001-2003, 2007 Free Software Foundation, Inc.
Copyright (C) 2000, 2001 Fabio Fiorina
The library and the header files are distributed under the following
terms (LGPLv3+/GPLv2+):
KSBA is free software; you can redistribute it and/or modify
it under the terms of either
- the GNU Lesser General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at
your option) any later version.
or
- the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at
your option) any later version.
or both in parallel, as here.
KSBA is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
The other parts (e.g. manual, build system, tests) are distributed
under the following terms (GPLv3):
KSBA is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
KSBA is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
The ASN.1 definition for CMS is based on a specification published
under the following terms (see src/cms.asn):
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

View file

@ -0,0 +1,7 @@
KSBA is distributed under mixed GPL and LGPL licenses. Please see the
file AUTHOR for details. The text of the used licenses can be found in
the files:
COPYING.LGPLv3
COPYING.GPLv3
COPYING.GPLv2

View file

@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,652 @@
Noteworthy changes in version 1.6.7 (2024-06-21) [C22/A14/R7]
------------------------------------------------
* Allow for an empty Subject in certs. [T7171]
Release-info: https://dev.gnupg.org/T7173
Noteworthy changes in version 1.6.6 (2024-02-23) [C22/A14/R6]
------------------------------------------------
* Fix a possible wrong error return from the DER builder. [T6992]
Release-info: https://dev.gnupg.org/T7009
Noteworthy changes in version 1.6.5 (2023-11-16) [C22/A14/R5]
------------------------------------------------
* Add Brainpool curve detection using parameters with compressed base
point. [rKeb23f853f178]
* New configure option --with-libtool-modification. [T6619]
Release-info: https://dev.gnupg.org/T6822
Noteworthy changes in version 1.6.4 (2023-06-19) [C22/A14/R4]
------------------------------------------------
* Correctly detect CMS write errors. [rK9ced7706f2]
Release-info: https://dev.gnupg.org/T6543
Noteworthy changes in version 1.6.3 (2022-12-06) [C22/A14/R3]
------------------------------------------------
* Fix another integer overflow in the CRL parser. [T6284]
Release-info: https://dev.gnupg.org/T6304
Noteworthy changes in version 1.6.2 (2022-10-07) [C22/A14/R2]
------------------------------------------------
* Fix integer overflow in the CRL parser. [rK4b7d9cd4a0]
Release-info: https://dev.gnupg.org/T6230
Noteworthy changes in version 1.6.1 (2022-09-16) [C22/A14/R1]
------------------------------------------------
* Allow an OCSP server not to return the sent nonce. [rK24992a4a7a]
Release-info: https://dev.gnupg.org/T6210
Noteworthy changes in version 1.6.0 (2021-06-10) [C22/A14/R0]
------------------------------------------------
* Limited support for the Authenticated-Enveloped-Data content type.
[81fdcd680c12]
* Support password based decryption. [cb7f2484a09c]
* Fix build problem on macOS. (#5440)
* Silence warnings from static analyzers. (#5395)
* Interface changes relative to the 1.5.0 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KSBA_CT_AUTHENVELOPED_DATA NEW.
Release-info: https://dev.gnupg.org/T5479
Noteworthy changes in version 1.5.1 (2021-04-06) [C21/A13/R1]
------------------------------------------------
* Support Brainpool curves specified by ECDomainParameters.
Release-info: https://dev.gnupg.org/T5379
Noteworthy changes in version 1.5.0 (2020-11-18) [C21/A13/R0]
------------------------------------------------
* ksba_cms_identify now identifies OpenPGP keyblock content.
* Supports TR-03111 plain format ECDSA signature verification.
* Fixes a CMS signed data parser bug exhibited by a somewhat strange
CMS message. [b6438e768c]
* Interface changes relative to the 1.4.0 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KSBA_CT_OPENPGP_KEYBLOCK NEW.
Release-info: https://dev.gnupg.org/T5146
Noteworthy changes in version 1.4.0 (2020-05-19) [C20/A12/R0]
------------------------------------------------
* Supports ECDSA and EdDSA certificate creation and parsing. [#4896]
* Supports ECDH enveloped data. [#4920]
* Supports ECDSA and EdDSA signed data. [#4920]
* Supports rsaPSS signature verification. [#4538]
* Supports standard file descriptors in ksba_reader_read. [#3072]
* New configure flag --disable-doc.
* Improves supports for reproducible builds. [#4801]
* Allows for optional elements in keyinfo objects. [#4892]
* Updates the config and M4 scripts to the latest version.
* Fixes error detection in the CMS parser. [#4207]
* Fixes memory leak in ksba_cms_identify.
* Fixes build warnings on macOS. [#2910]
* Uses --disable-new-dtags if LD_LIBRARY_PATH is defined. [#4298]
* New constants KSBA_VERSION and KSBA_VERSION_NUMBER.
* New API to make creation of DER objects easy.
* Interface changes relative to the 1.3.5 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KSBA_VERSION NEW.
KSBA_VERSION_NUMBER NEW.
KSBA_CT_SPC_IND_DATA_CTX NEW.
KSBA_CLASS_* NEW.
KSBA_TYPE_* NEW.
ksba_der_t NEW.
ksba_der_release NEW.
ksba_der_builder_new NEW.
ksba_der_builder_reset NEW.
ksba_der_add_ptr NEW.
ksba_der_add_val NEW.
ksba_der_add_int NEW.
ksba_der_add_oid NEW.
ksba_der_add_bts NEW.
ksba_der_add_der NEW.
ksba_der_add_tag NEW.
ksba_der_add_end NEW.
ksba_der_builder_get NEW.
Release-info: https://dev.gnupg.org/T4943
Noteworthy changes in version 1.3.5 (2016-08-22) [C19/A11/R6]
------------------------------------------------
* Limit the allowed size of complex ASN.1 objects (e.g. certificates)
to 16MiB.
* Avoid read access to unitialized memory.
* Improve detection of invalid RDNs.
* Encode the OCSP nonce value as an octet string as described by
RFC-6960.
Noteworthy changes in version 1.3.4 (2016-05-03) [C19/A11/R5]
------------------------------------------------
* Fixed two OOB read access bugs which could be used to force a DoS.
* Fixed a crash due to faulty curve OID lookup code.
* Synced the list of supported curves with those of Libgcrypt.
* New configure option --enable-build-timestamp; a build timestamp is
not anymore used by default.
Noteworthy changes in version 1.3.3 (2015-04-10) [C19/A11/R4]
------------------------------------------------
* Fixed an integer overflow in the DN decoder.
* Now returns an error instead of terminating the process for certain
bad BER encodings.
* Improved the parsing of utf-8 strings in DNs.
* Allow building with newer versions of Bison.
* Improvement building on Windows with newer versions of Mingw.
Noteworthy changes in version 1.3.2 (2014-11-25) [C19/A11/R3]
------------------------------------------------
* Fixed a buffer overflow in ksba_oid_to_str. [CVE-2014-9087]
Noteworthy changes in version 1.3.1 (2014-09-18)
------------------------------------------------
* Fixed memory leak in CRL parsing.
* Build fixes for Windows, Android, and ppc64el.
Noteworthy changes in version 1.3.0 (2012-09-27)
------------------------------------------------
* Changed the license of the library from GPLv3 to LGPLv3/GPLv2; see
the file AUTHORS for details.
* Minor bug fixes.
Noteworthy changes in version 1.2.0 (2011-03-01)
------------------------------------------------
* New functions to allow the creation of X.509 certificates.
* Interface changes relative to the 1.1.0 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_certreq_set_serial NEW.
ksba_certreq_set_issuer NEW.
ksba_certreq_set_validity NEW.
ksba_certreq_set_siginfo NEW.
Noteworthy changes in version 1.1.0 (2010-10-26)
------------------------------------------------
* New functions to fix a leak in dirmngr.
* Interface changes relative to the 1.0.0 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_reader_set_release_notify NEW
ksba_writer_set_release_notify NEW
Noteworthy changes in version 1.0.8 (2010-07-15)
------------------------------------------------
* Support for WindowsCE.
* Builds cleanly from SVN even when cross-compiling.
* Fixed a CMS parsing bug exhibited by Lotus Notes.
Noteworthy changes in version 1.0.7 (2009-07-03)
------------------------------------------------
* Detect overflow while parsing OIDs. Map BER encoded OIDs to well
known names.
* Allow mixed case names in DNs.
Noteworthy changes in version 1.0.6 (2009-06-05)
------------------------------------------------
* Support SHA-{384,512} based signature generation.
* The RSA algorithmIdentifier ASN.1 sequence is now emitted with an
explicit NULL parameter. Despite the interop testing we did in the
past, some software still requires this and thus we better follow
the best current practise.
Noteworthy changes in version 1.0.5 (2009-01-09)
------------------------------------------------
* Minor bug fixes.
Noteworthy changes in version 1.0.4 (2008-09-22)
------------------------------------------------
* Write smimeCapabilities according to RFC3851 to help Mozilla.
* Support DSA.
* The visibility attribute is now used if supported by the toolchain.
Noteworthy changes in version 1.0.3 (2008-02-12)
------------------------------------------------
* Minor bug fixes.
* Include the used hash algorithm in sig-val structures.
* Fix for unknown tags in issuerAltName and subjectAltName.
Noteworthy changes in version 1.0.2 (2007-07-04)
------------------------------------------------
* Support for SHA-2.
* Fixed a couple of memory leaks.
* Experimental support for ECDSA.
* Minor portability fixes.
* Switched to GPLv3.
Noteworthy changes in version 1.0.1 (2006-11-29)
------------------------------------------------
* Fixes for certificates lacking certain objects.
* Fixes to allow building on systems with a broken ar.
Noteworthy changes in version 1.0.0 (2006-08-31)
------------------------------------------------
* OCSP nonces are now checked to detect replay attacks.
* OCSP extensions may no be retrieved.
* Implemented ksba_ocsp_get_responder_id which used to always return
an error code not_implemented. Thus we can assume that the
function has never been used and we don't need to see this as an
API break.
* Interface changes relative to the 0.9.16 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_ocsp_get_extension NEW
ksba_ocsp_get_responder_id CHANGED: No ABI break.
Noteworthy changes in version 0.9.16 (2006-08-01)
-------------------------------------------------
* Fixed a character set conversion bug in BMPStrings.
* New function for better error reporting of DNs.
* Interface changes relative to the 0.9.13 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_dn_teststr NEW
ksba_dn_str2der NEW
ksba_dn_der2str NEW
Noteworthy changes in version 0.9.15 (2006-06-20)
-------------------------------------------------
* Fixed BER parser which was broken in the last release.
Noteworthy changes in version 0.9.14 (2006-05-16)
-------------------------------------------------
* Fixed broken OCSP requests.
* Ignore invalid bytes appended to a certificate.
Noteworthy changes in version 0.9.13 (2005-11-24)
-------------------------------------------------
* New functions to associate user data with a certificate object.
* Interface changes relative to the 0.9.12 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_cert_set_user_data NEW
ksba_cert_get_user_data NEW
Noteworthy changes in version 0.9.12 (2005-08-01)
-------------------------------------------------
* GeneralNames types dNSName and Uri are now supported.
* Minor changes to some function declarations. This should not
affect any compilation.
* Interface changes relative to the 0.9.7 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_certreq_add_extension CHANGED: Argument DER is now a void*.
ksba_cms_set_content_enc_algo CHANGED: Argument IV is now void*.
ksba_cms_get_content_enc_iv CHANGED: Argument IV is now void*.
ksba_cms_set_message_digest CHANGED: Argument DIGEST is now
unsigned char*.
Noteworthy changes in version 0.9.11 (2005-04-20)
-------------------------------------------------
* New convenience API function for the subjectKeyIdentifier.
* Implemented the keyIdentifier part for authorityKeyIdentifier of
CRLs and certificates.
* Reason codes for CRL items are now returned.
* Interface changes relative to the 0.9.7 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_cert_get_subj_key_id NEW.
Noteworthy changes in version 0.9.10 (2004-12-03)
-------------------------------------------------
* Fixed a CMS parsing bug.
Noteworthy changes in version 0.9.9 (2004-09-27)
------------------------------------------------
* Fixed a couple of bugs which caused parsing errors with some
certificates.
Noteworthy changes in version 0.9.8 (2004-07-22)
------------------------------------------------
* Fixed a bug in the OCSP request generation.
Noteworthy changes in version 0.9.7 (2004-06-08)
------------------------------------------------
* New API function to add arbitrary extensions to pkcs#10 requests.
* Interface changes relative to the 0.9.6 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_certreq_add_extension NEW.
Noteworthy changes in version 0.9.6 (2004-04-29)
------------------------------------------------
* New API functions to support v2 CRLs.
* Interface changes relative to the 0.9.5 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_crl_get_extension NEW.
ksba_crl_get_auth_key_id NEW.
ksba_crl_get_crl_number NEW.
Noteworthy changes in version 0.9.5 (2004-04-06)
------------------------------------------------
* New APIs to get hands on some more information.
* Interface changes relative to the 0.9.4 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_ocsp_get_responder_id NEW.
ksba_ocsp_get_cert NEW.
ksba_cert_get_authority_info_access NEW.
ksba_cert_get_subject_info_access NEW.
ksba_cms_add_smime_capability NEW.
Noteworthy changes in version 0.9.4 (2004-02-20)
------------------------------------------------
* Support for Extended Key Usage.
* ksba_cms_identify may no return a pseudo content type for pkcs#12
files.
* Interface changes relative to the 0.9.3 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_reader_clear NEW.
ksba_cert_get_ext_key_usages NEW.
KSBA_CT_PKCS12 NEW.
Noteworthy changes in version 0.9.3 (2004-01-30)
------------------------------------------------
* Fixed a serious bug shortly after the last release :-(.
Noteworthy changes in version 0.9.2 (2004-01-29)
------------------------------------------------
* Cleaned up the DN label table.
* Fixed a bug in creating CMS signed data.
Noteworthy changes in version 0.9.1 (2003-12-19)
------------------------------------------------
* Support for OCSP (rfc2560).
* The new function ksba_set_hash_buffer_function may be used during
intialization to register a simple hash fucntion for internal use
by libksba.
* Changed the license of the manual to GPL.
* Interface changes relative to the 0.9.0 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_status_t NEW.
ksba_ocsp_t NEW.
ksba_ocsp_response_status_t NEW.
ksba_ocsp_new NEW.
void ksba_ocsp_release NEW.
ksba_ocsp_set_digest_algo NEW.
ksba_ocsp_set_requestor NEW.
ksba_ocsp_add_target NEW.
ksba_ocsp_set_nonce NEW.
ksba_ocsp_prepare_request NEW.
ksba_ocsp_hash_request NEW.
ksba_ocsp_set_sig_val NEW.
ksba_ocsp_add_cert NEW.
ksba_ocsp_build_request NEW.
ksba_ocsp_parse_response NEW.
ksba_ocsp_get_digest_algo NEW.
ksba_ocsp_hash_respons NEW.
ksba_ocsp_get_sig_val NEW.
ksba_ocsp_get_status NEW.
ksba_set_hash_buffer_function NEW.
Noteworthy changes in version 0.9.0 (2003-11-17)
------------------------------------------------
* The time is not any longer described by time_t but through the new
type ksba_isotime_t which is string of excactly 15 characters in
ISO 8601 format (e.g. "19611107T152010") and always stored as
UTC. This is to allow representation of dates beyond the year 2038.
Comparing is a mere strcmp.
* All type names are nom conforming to the GNU coding standards, the
old names are still available as aliases but flagged as deprecated.
* All error codes have been replaced by libgpg-error ones. Libksba
now depends on this package. Remember to use the gpg_err_code
function when testing for error values other than success.
* Interface changes relative to the 0.4.7 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_cert_get_validity CHANGED: Uses ksba_isotime_t instead of time_t.
ksba_crl_get_update_times CHANGED: Uses ksba_isotime_t instead of time_t.
ksba_crl_get_item CHANGED: Uses ksba_isotime_t instead of time_t.
ksba_cms_get_signing_time CHANGED: Uses ksba_isotime_t instead of time_t.
ksba_cms_set_signing_time CHANGED: Uses ksba_isotime_t instead of time_t.
ksba_cert_new CHANGED: Returns an error code now.
ksba_cms_new CHANGED: Returns an error code now.
ksba_name_new CHANGED: Returns an error code now.
ksba_writer_new CHANGED: Returns an error code now.
ksba_reader_new CHANGED: Returns an error code now.
ksba_certreq_new CHANGED: Returns an error code now.
ksba_crl_new CHANGED: Returns an error code now.
ksba_isotime_t NEW.
ksba_error_t NEW: Should be used instead of KsbaError.
ksba_cert_t NEW: Should be used instead of KsbaCert.
ksba_certreq_t NEW: Should be used instead of KsbaCertreq.
ksba_cms_t NEW: Should be used instead of KsbaCMS.
ksba_crl_t NEW: Should be used instead of KsbaCRL.
ksba_name_t NEW: Should be used instead of KsbaName.
ksba_sexp_t NEW: Should be used instead of KsbaSexp.
ksba_reader_t NEW: Should be used instead of KsbaReader.
ksba_writer_t NEW: Should be used instead of KsbaWriter.
ksba_strerror REMOVED: use gpg_strerror instead.
Noteworthy changes in version 0.4.7 (2003-03-17)
------------------------------------------------
* Fixed type detection in creating DNs.
Noteworthy changes in version 0.4.6 (2002-12-04)
------------------------------------------------
* DNs in pkcs#10 request are now created in reversed order as
specified by rfc2253.
* The content-type signed attribute is created.
* Fixed a parser bug with a id-aa-encrypKeyPref attribute.
* Interface changes relative to the 0.4.3 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_cms_get_sigattr_oids NEW
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Noteworthy changes in version 0.4.5 (2002-08-23)
------------------------------------------------
* Removed some debugging output.
* Added an autoconf macro.
Noteworthy changes in version 0.4.4 (2002-08-09)
------------------------------------------------
* Multiple signatures can now be created and parsed.
Noteworthy changes in version 0.4.3 (2002-06-25)
------------------------------------------------
* More bug fixes.
* Interface changes relative to the 0.4.2 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_writer_write_octet_string NEW
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Noteworthy changes in version 0.4.2 (2002-06-04)
------------------------------------------------
* Some bug fixes and a new function.
* Interface changes relative to the 0.4.1 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ksba_cms_identify NEW
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Noteworthy changes in version 0.4.1 (2002-05-03)
------------------------------------------------
* Minor fixes.
Noteworthy changes in version 0.4.0 (2002-04-15)
------------------------------------------------
* Nearly all stuff needed for the Aegypten project is now in place.
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2009 g10 Code GmbH
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

View file

@ -0,0 +1,37 @@
LIBKSBA
---------
Copyright (C) 2001-2006, 2010-2015, 2018-2023 g10 Code GmbH
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
Libksba itself is distributed under the terms of the GNU General
Public License, see the file AUTHORS for details.
KSBA Overview
-------------
KSBA (pronounced Kasbah) is a library to make X.509 certificates as
well as the CMS easily accessible by other applications. Both
specifications are building blocks of S/MIME and TLS.
KSBA is made available as a standard shared library and reserves
identifiers starting with "ksba" and "_ksba" (also uppercase and mixed
case). It does not rely on another cryptographic library.
Documentation
-------------
A standard info format reference manual is included. However the OCSP
feature has not yet been documented. See the comments in src/ocsp.c
and the example tests/t-ocsp.c. The GnuPG's dirmngr module makes
extensive use of the OCSP feature and may be used as another example.

View file

@ -0,0 +1,22 @@
Bernhard Herzog bh@intevation.de
Brad Hards bradh@frogmouth.net
Daiki Ueno ueno@unixuser.org
Diego Pettenò flameeyes@gmail.com
Peter O'Gorman gnupg-devel@mlists.thewrittenword.com
Robert Spillner Robert.Spillner@post.rwth-aachen.de
Stéphane Corthésy stephane@sente.ch
Thomas Koester tkoester@intevation.de
Copyright 2002, 2003, 2006, 2008 g10 Code GmbH
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

View file

@ -0,0 +1,63 @@
-*- outline -*-
* src/dn.c:
** Check that error handling of bad utf-8 encoding is correct
** There is an ambiguity in rfc2253.
This is related to the handling of spaces around delimiters. At one
place it talks about whitespace and few lines later it talks about
just the space characters which must be ignored. How should that be
solved? This is only related to spaces at the beginning or end of a
name part when old style quoting is not used.
* src/der-decoder.c:
** should work on a stripped down parse tree
** Allow to specify the desired top element.
Or a list so that it can detect the needed tree itself
* src/der-encoder.c
** Setting default values is missing
** Tags > 31 are not supported.
* src/asn1-*
** Cleanup the used data structures and remove unneeded functions.
** Think about a public API to the Asn functions.
* src/cms*
** split some stuff from cms.c into a new cms-build.c
** can't handle CRL infos in certificates
This is not a problem within the Aegypten project as CRL aren't be
retrieved by online means.
** cant't handle unprotected attributes
e.g. for counter signatures. Not needed in Aegypten.
* src/keyinfo.c
** Do we need to support BER encoded stuff?
* src/time.c
** Allow for other timezones
* src/reader.c
** ksba_reader_unread limited to 100 bytes
Actually the reader is limited to 100 bytes over the first unread
size. Easy to fix.
* General
** The ASN.1 parse tree is not released in all places
** Some memory is not released in case of errors.
* src/crl.c
** certificateIssuer not supported
To support this we need to have an extended ksba_crl_get_item
function to either return the issuer or at least set a flag to
indicate that such an extension is available. If this new API is
used we will move detection of the critical certificateIssuer
extension into the old ksba_crl_get_item and bail out only there.
If the new version of that function is used there won't be a need to
bail out. Example of a CRL using this extension:
http://pks.telesec.de/telesec/servlet/download_cr (2006-09-04).
** Allow fetching of all entry extensions.