Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | tls: Check for minimal TLS record length before each record iteration | Martin Willi | 2014-03-31 | 1 | -8/+8 | |
| | | | | | | | | | | | | Fixes fragment reassembling if a buffer contains more than one record, but the last record contains a partial TLS record header. Thanks to Nick Saunders and Jamil Nimeh for identifying this issue and providing a fix for it. | |||||
| * | tls: Fix AEAD algorithm filtering, avoid filtering all suites if no AEAD found | Martin Willi | 2014-03-31 | 1 | -19/+52 | |
| | | ||||||
| * | tls: Offer TLS signature schemes in ClientHello in order of preference | Martin Willi | 2014-03-31 | 1 | -90/+59 | |
| | | | | | | | | | | Additionally, we now query plugin features to find out what schemes we exactly support. | |||||
| * | tls: Define AES-GCM cipher suites from RFC 5288/5289 | Martin Willi | 2014-03-31 | 1 | -0/+54 | |
| | | ||||||
| * | tls: Implement the TLS AEAD abstraction for real AEAD modes | Martin Willi | 2014-03-31 | 4 | -8/+262 | |
| | | ||||||
| * | tls: Separate TLS protection to abstracted AEAD modes | Martin Willi | 2014-03-31 | 8 | -325/+874 | |
| | | | | | | | | | | | | To better separate the code path for different TLS versions and modes of operation, we introduce a TLS AEAD abstraction. We provide three implementations using traditional transforms, and get prepared for TLS AEAD modes. | |||||
| * | aead: Support custom AEAD salt sizes | Martin Willi | 2014-03-31 | 17 | -43/+131 | |
|/ | | | | | | | | | The salt, or often called implicit nonce, varies between AEAD algorithms and their use in protocols. For IKE and ESP, GCM uses 4 bytes, while CCM uses 3 bytes. With TLS, however, AEAD mode uses 4 bytes for both GCM and CCM. Our GCM backends currently support 4 bytes and CCM 3 bytes only. This is fine until we go for CCM mode support in TLS, which requires 4 byte nonces. | |||||
* | ikev2: Recreate a CHILD_SA that got a hard lifetime expire without rekeying | Martin Willi | 2014-03-31 | 1 | -0/+12 | |
| | | | | | Works around issues related to system time changes and kernel backends using that system time, such as Linux XFRM. | |||||
* | revocation: Log error if no OCSP signer candidate found | Martin Willi | 2014-03-31 | 1 | -1/+1 | |
| | | | | Fixes evaluation of ikev2/ocsp-untrusted-cert. | |||||
* | Merge branch 'ocsp-constraints' | Martin Willi | 2014-03-31 | 3 | -46/+86 | |
|\ | | | | | | | | | | | | | Limits cached OCSP verification to responses signed by the CA, a directly delegated signer or a pre-installed OCSP responder certificate. Disables auth config merge for revocation trust-chain strength checkin, as it breaks CA constraints in some scenarios. | |||||
| * | revocation: Restrict OCSP signing to specific certificates | Martin Willi | 2014-03-31 | 3 | -10/+65 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid considering each cached OCSP response and evaluating its trustchain, we limit the certificates considered for OCSP signing to: - The issuing CA of the checked certificate - A directly delegated signer by the same CA, having the OCSP signer constraint - Any locally installed (trusted) certificate having the OCSP signer constraint The first two options cover the requirements from RFC 6960 2.6. For compatibility with non-conforming CAs, we allow the third option as exception, but require the installation of such certificates locally. | |||||
| * | revocation: Don't merge auth config of CLR/OCSP trustchain validation | Martin Willi | 2014-03-31 | 1 | -39/+24 | |
|/ | | | | | | | | | | This behavior was introduced with 6840a6fb to avoid key/signature strength checking for the revocation trustchain as we do it for end entity certificates. Unfortunately this breaks CA constraint checking under certain conditions, as we merge additional intermediate/CA certificates to the auth config. As key/signature strength checking of the revocation trustchain is a rather exotic requirement we drop support for that to properly enforce CA constraints. | |||||
* | hashtable: Make key arguments const | Tobias Brunner | 2014-03-31 | 2 | -22/+23 | |
| | | | | | This allows using const strings etc. for lookups without cast. And keys are not modifiable anyway. | |||||
* | Properly hash pointers for hash tables where appropriate | Tobias Brunner | 2014-03-31 | 4 | -71/+7 | |
| | | | | | Simply using the pointer is not optimal for our hash table implementation, which simply masks the key to determine the bucket. | |||||
* | kernel-pfroute: Let get_nexthop() default to destination address | Tobias Brunner | 2014-03-31 | 1 | -3/+7 | |
| | ||||||
* | x509: CERT_DECODE actually requires KEY_ANY | Tobias Brunner | 2014-03-31 | 1 | -3/+1 | |
| | | | | | More specific decoders might still be needed, but the x509 plugin should not care which ones. | |||||
* | pkcs1: KEY_ANY public key decoder soft depends on specific decoders | Tobias Brunner | 2014-03-31 | 1 | -0/+3 | |
| | ||||||
* | eap-radius: Add option to not close IKE_SAs on timeouts during interim ↵ | Tobias Brunner | 2014-03-31 | 2 | -1/+10 | |
| | | | | | | accouting updates Fixes #528. | |||||
* | ikev1: Accept SPI size of any length <= 16 in ISAKMP proposal | Tobias Brunner | 2014-03-31 | 1 | -4/+12 | |
| | | | | Fixes #533. | |||||
* | proposal: Don't fail DH proposal matching if peer includes NONE | Tobias Brunner | 2014-03-31 | 1 | -4/+19 | |
| | | | | | | | | The DH transform is optional for ESP/AH proposals. The initiator can include NONE (0) in its proposal to indicate that while it prefers to do a DH exchange, the responder may still decide to not do so. Fixes #532. | |||||
* | conf: Order settings in man page alphabetically | Tobias Brunner | 2014-03-31 | 1 | -5/+4 | |
| | | | | | For the config snippets the options are now explicitly ordered before subsections. | |||||
* | Merge branch 'acerts' | Martin Willi | 2014-03-31 | 96 | -1587/+2394 | |
|\ | | | | | | | | | | | | | (Re-)Introduces X.509 Attribute Certificate support in IKE, and cleans up the x509 AC parser/generator. ACs may be stored locally or exchanged in IKEv2 CERT payloads, Attribute Authorities must be installed locally. pki --acert issues Attribute Certificates and replaces the removed openac utility. | |||||
| * | NEWS: Add acert and pki changes for 5.1.3 | Martin Willi | 2014-03-31 | 1 | -0/+13 | |
| | | ||||||
| * | openac: Remove obsolete openac utility | Martin Willi | 2014-03-31 | 10 | -772/+21 | |
| | | | | | | | | The same functionality is now provided by the pki --acert subcommand. | |||||
| * | pki: Document --not-before/after and --dateform options in manpages | Martin Willi | 2014-03-31 | 4 | -7/+99 | |
| | | ||||||
| * | pki: Support absolute --this/next-update CRL lifetimes | Martin Willi | 2014-03-31 | 1 | -6/+22 | |
| | | ||||||
| * | pki: Support absolute --not-before/after issued certificate lifetimes | Martin Willi | 2014-03-31 | 2 | -7/+22 | |
| | | ||||||
| * | pki: Support absolute --not-before/after self-signed certificate lifetimes | Martin Willi | 2014-03-31 | 1 | -5/+22 | |
| | | ||||||
| * | pki: Support absolute --not-before/after acert lifetimes | Martin Willi | 2014-03-31 | 1 | -7/+26 | |
| | | ||||||
| * | pki: Add a certificate lifetime calculation helper function | Martin Willi | 2014-03-31 | 2 | -1/+69 | |
| | | ||||||
| * | testing: Add an acert test that forces a fallback connection based on groups | Martin Willi | 2014-03-31 | 13 | -0/+199 | |
| | | ||||||
| * | testing: Add an acert test case sending attribute certificates inline | Martin Willi | 2014-03-31 | 18 | -0/+291 | |
| | | ||||||
| * | testing: Add an acert test using locally cached attribute certificates | Martin Willi | 2014-03-31 | 16 | -0/+239 | |
| | | ||||||
| * | testing: build strongSwan with acert plugin | Martin Willi | 2014-03-31 | 1 | -0/+1 | |
| | | ||||||
| * | ikev2: Cache all received attribute certificates to auth config | Martin Willi | 2014-03-31 | 1 | -1/+27 | |
| | | ||||||
| * | ikev2: Send all known and valid attribute certificates for subject cert | Martin Willi | 2014-03-31 | 1 | -0/+46 | |
| | | ||||||
| * | ikev2: Slightly refactor certificate payload construction to separate functions | Martin Willi | 2014-03-31 | 1 | -37/+56 | |
| | | ||||||
| * | ike: Support encoding of attribute certificates in CERT payloads | Martin Willi | 2014-03-31 | 1 | -1/+6 | |
| | | ||||||
| * | auth-cfg: Declare an attribute certificate helper type to exchange acerts | Martin Willi | 2014-03-31 | 3 | -2/+15 | |
| | | ||||||
| * | acert: Implement a plugin finding, validating and evaluating attribute certs | Martin Willi | 2014-03-31 | 7 | -0/+367 | |
| | | | | | | | | | | | | This validator checks for any attribute certificate it can find for validated end entity certificates and tries to extract group membership information used for connection authorization rules. | |||||
| * | x509: Match acert has_subject() against entityName or holder serial | Martin Willi | 2014-03-31 | 1 | -5/+25 | |
| | | | | | | | | | | This allows us to find attribute certificates for a subject certificate in credential sets. | |||||
| * | pki: Add acert and extend pki/print manpages | Martin Willi | 2014-03-31 | 5 | -2/+116 | |
| | | ||||||
| * | pki: Implement an acert command to issue attribute certificates | Martin Willi | 2014-03-31 | 3 | -1/+275 | |
| | | ||||||
| * | pki: Support printing attribute certificates | Martin Willi | 2014-03-31 | 1 | -1/+89 | |
| | | ||||||
| * | pki: Don't generate negative random serial numbers in X.509 certificates | Martin Willi | 2014-03-31 | 2 | -0/+2 | |
| | | | | | | | | According to RFC 5280 4.1.2.2 we MUST force non-negative serial numbers. | |||||
| * | pem: Support encoding of attribute certificates | Martin Willi | 2014-03-31 | 1 | -1/+6 | |
| | | | | | | | | | | | | | | While there is no widely used PEM header for attribute certificates, at least IAIK-JCE uses BEGIN ATTRIBUTE CERTIFICATE: http://javadoc.iaik.tugraz.at/iaik_jce/current/iaik/utils/Util.html#toPemString(iaik.x509.attr.AttributeCertificate) | |||||
| * | x509: Replace the comma separated string AC group builder with a list based one | Martin Willi | 2014-03-31 | 4 | -10/+22 | |
| | | ||||||
| * | x509: Integrate IETF attribute handling, and obsolete ietf_attributes_t | Martin Willi | 2014-03-31 | 6 | -639/+186 | |
| | | | | | | | | | | The ietf_attributes_t class is used for attribute certificates only these days, and integrating them to x509_ac_t simplifies things significantly. | |||||
| * | x509: Replace fixed acert group string getter by a more dynamic group enumerator | Martin Willi | 2014-03-31 | 5 | -69/+131 | |
| | | ||||||
| * | x509: Skip parsing of acert chargingIdentity, as we don't use it anyway | Martin Willi | 2014-03-31 | 1 | -9/+1 | |
| | |