Commit Graph
100 Commits
Author SHA1 Message Date
Andreas Steffen a0c9f9b842 pki: Added ocsp command
The pki --ocsp command implements an OCSP responder.
2023-11-13 12:40:58 +01:00
Andreas Steffen ec325b4c09 pki: Added ocsp-req and ocsp-rsp types to pki --print 2023-11-13 12:40:58 +01:00
Andreas Steffen a0f672d3d1 unit-tests: Update test_serial_gen suite 2023-11-13 12:40:55 +01:00
Andreas Steffen 00ab8d62c0 x509: Support generation of OCSP responses 2023-11-13 12:40:55 +01:00
Andreas Steffen aa0fe149d6 certificates: Added ocsp_single_response object 2023-11-13 12:40:55 +01:00
Andreas Steffen 199c7083e1 openxpki: OCSP responder plugin accessing OpenXPKI
The openxpki plugin directly access the certificates table in
the OpenXPKI's MariaDB in order to retrieve the status of an
issued X.509 certificate based on its serial number.
2023-11-13 12:40:55 +01:00
Andreas Steffen 24d45de633 crl-reason: Fixed typo 2023-11-13 12:40:52 +01:00
Andreas Steffen d72d0c0dfa utils: Added chunk_to_dec() function 2023-11-13 12:39:10 +01:00
Andreas Steffen 9381559754 x509: Support parsing of OCSP requests 2023-11-13 12:39:10 +01:00
Andreas Steffen 09e2a9ff50 pki --pkcs7: Set default to res = 1 2023-11-13 12:39:10 +01:00
Andreas Steffen 28ccdff692 cert-enroll: Preventing some errors that might occur 2023-11-13 11:57:51 +01:00
Andreas Steffen f328ef0e04 cert-enroll: Install TLS client/server credentials
Install the generated key, host certificate and associated CA certificates
as credentials for a TLS-protected client-server connection.
2023-11-13 11:57:51 +01:00
Andreas Steffen 51872a0a0c Version bump to 5.9.12dr2 2023-10-30 22:42:55 +01:00
Andreas Steffen d6bfdf2b2b cert-enroll: Pack all source files into EXTRA_DIST 2023-10-26 15:15:37 +02:00
Andreas Steffen 6f0cd19fd6 cert-enroll: Fixed path in cert-install-openxpki 2023-10-12 08:14:38 +02:00
Andreas Steffen 7dfb88ead2 Version bump to 5.9.12dr2 2023-10-04 08:15:54 +02:00
Andreas Steffen cbfc12b330 cert-enroll: certificate checking and enrollment
The cert-enroll script handles the initial enrollment of an X.509
host certificate with a PKI server via the EST or SCEP protocols.

Run as a systemd timer or via a crontab entry the script daily
checks the expiration date of the host certificate. When a given
deadline is reached, the host certificate is automatically renewed
via EST or SCEP re-enrollment based on the possession of the old
private key and the matching certificate.
2023-10-03 08:45:22 +02:00
Andreas Steffen 4e1dc0a224 Version bump to 5.9.11 2023-06-12 07:50:02 +02:00
Andreas Steffen 0ba7aefdc9 Version bump to 5.9.11rc1 2023-06-08 10:42:17 +02:00
Andreas Steffen b420857123 Version bump to 5.9.11dr3 2023-04-21 16:36:23 +02:00
Andreas Steffen 47e8b21c76 cert_cache: Replace cached stale OCSP responses in-place 2023-04-21 16:04:26 +02:00
Andreas Steffen ef94a5b4ab Version bump to 5.9.11dr2 2023-04-19 04:24:18 +02:00
Andreas Steffen 67e9cb161d Version bump to 5.9.11dr1 2023-03-28 16:27:04 +02:00
Andreas Steffen c0ae81fc83 Version bump to 5.9.10 2023-03-02 09:58:24 +01:00
Andreas Steffen edd3c797b0 testing: Negotiate TLS 1.3 for part of the EAP-TLS scenarios 2023-03-02 09:02:38 +01:00
Andreas Steffen 350101abad Version bump to 5.9.10rc1 2023-02-22 20:00:18 +01:00
Andreas Steffen bf3e4c85d0 Revert "libipsec: Added Windows tun device support"
This reverts commit 77b91e6d0e.
2023-01-31 15:19:58 +01:00
Andreas Steffen 77b91e6d0e libipsec: Added Windows tun device support 2023-01-31 14:59:57 +01:00
Andreas Steffen 8effb06d6c pki: Use X.509v3 EKU extension in CSR 2023-01-11 19:19:09 +01:00
Andreas Steffen 0c7bfec7af Version bump to 5.9.9 2023-01-01 11:55:50 +01:00
Andreas Steffen 7928deece1 Version bump to 5.9.9rc2 2022-12-23 11:19:06 +01:00
Andreas Steffen 4aa5868d8e Version bump to 5.9.9rc1 2022-12-22 13:24:34 +01:00
Andreas Steffen 8329455628 testing: Check canonical OCSP/CRL serial numbers 2022-12-05 20:18:24 +01:00
Andreas Steffen 0d88c76abc unit-tests: Check encoding/retrieval of serial numbers 2022-12-05 20:18:24 +01:00
Andreas Steffen 18082ce2b0 certificates: Retrieve serial numbers in canonical form
The x509 plugin retrieves serial numbers with two's complement
encoding whereas the openssl plugin partially returns them without
leading zeroes.

Serial numbers in X.509 certificates, X.509 CRL, X.509 attribute
certificates, OCSP Requests and OCSP responses are now returned in
canonical form without prepended zero octets.
2022-12-05 20:18:24 +01:00
Andreas Steffen e09bc70d12 Version bump to 5.9.8 2022-10-03 16:16:53 +02:00
Andreas Steffen 6bf60221f5 pkcs7: Support rsa-pss signatures 2022-10-03 09:52:07 +02:00
Andreas Steffen ef93c7e2ea Version bump to 5.9.8rc1 2022-09-26 10:34:04 +02:00
Andreas Steffen 8f5ff23d6c Version bump to 5.9.8dr4 2022-09-20 16:37:44 +02:00
Andreas Steffen 063ef084e4 pki: Base64 encoding of username:password in HTTP basic authentication 2022-09-20 11:07:33 +02:00
Andreas Steffen a345e635c4 Version bumpt to 5.9.8dr3 2022-09-07 06:38:42 +02:00
Andreas Steffen 747e840912 libstrongswan: Encode RSA-PSS algorithmIdentifier variant
Some third party IKEv2 products expect an RSA-PSS ASN.1
algorithmIdentifier with an explicit trailerField value (CONTEXT3)
instead of the DEFAULT value if the trailerField is missing.

The setting charon.rsa_pss_trailerfield = yes enables the explicit
encoding.
2022-09-06 21:15:43 +02:00
Andreas Steffen bf3f678551 testing: Fixed two issues 2022-09-06 21:14:07 +02:00
Andreas Steffen af3b8c49c5 Version bump to 5.9.8dr2 2022-09-02 06:32:13 +02:00
Andreas Steffen 3fa3d2666a pki: pki --req can use old certreq as template
When an X.509 certificate has to be renewed it is helpful to use
the old PKCS#10 certificate request as a template, so that the
distinguishedName (DN), the subjectAlternativeName (SAN) and
a certificate profile name don't have to be typed-in again.

The old public key in the existing certreq is replaced with the
new key and the signature is re-generated using the new private key.
2022-08-31 15:10:34 +02:00
Andreas Steffen 359b5739f4 pki: Fixed memory leak in pki --scep 2022-08-28 11:42:13 +02:00
Andreas Steffen 3b2b7a3bee pki: Fixed filenames in pki --estca/--scepca man pages 2022-08-27 09:51:05 +02:00
Andreas Steffen 057b3806aa Version bump to 5.9.8dr1 2022-08-26 12:32:04 +02:00
Andreas Steffen e4cb9a59d2 testing: Fixed typo of mfg1 to mgf1 plugin 2022-08-26 12:31:33 +02:00
Andreas Steffen 74893da403 Merge branch 'pki-scep' 2022-08-26 12:19:17 +02:00
Andreas Steffen 6e860fb07c leak_detective: Whitelist botan_privkey_load_rsa_pkcs1() 2022-08-26 12:17:22 +02:00
Andreas Steffen 52a3c3662d libtls: the signature unit tests use scheme-specific credentials 2022-08-26 12:17:22 +02:00
Andreas Steffen 63fd718915 libtls: call create_public_enumerator() with key_type 2022-08-26 12:17:22 +02:00
Andreas Steffen a417703301 libtls: enforce correct signature scheme for ECDSA keys 2022-08-26 12:17:22 +02:00
Andreas Steffen 77a15f55be libtls: unit tests with crypto libs need additional plugins
In order for libtls to run with the gcrypt libraryi, additionally the
random, pem, gcm, hmac, kdf, x509, constraints, and the curve2519
plugins are needed.

The botan library additionally need the hmac (for HMAC_MD5), x509 and
constraints plugins.

The wolfssl library additionally need the pkcs1, pkcs8, x509 and constraints
plugins.
2022-08-25 10:51:05 +02:00
Andreas Steffen 9664ef4ba6 libtls: Fixed encoding of TLS 1.3 certificate extension 2022-08-25 10:51:05 +02:00
Andreas Steffen 784606a827 pki: use libtls for pki --est|--estca 2022-08-25 10:50:40 +02:00
Andreas Steffen 976c74b772 pki: --est adds --keyid and --certid options
With the --keyid option private keys stored on a smartcard or in
a TPM 2.0 can be used for public key based client authentication.

With the --certid option the corresponding client certificate
can reside on a smartcard or a TPM 2.0.
2022-08-25 07:02:29 +02:00
Andreas Steffen 2b53b1055d pki: Optimize certificate download for --scep and --est 2022-08-25 07:02:29 +02:00
Andreas Steffen b392fbd68c libtls: unit tests run with default plugins
The gcm plugin has been added to the default plugins and all
certificate types are loaded to allow the libtls socket unit
tests to run with the strongSwan default plugins.
2022-08-25 07:02:29 +02:00
Andreas Steffen a3914d7db5 libtls: Send empty cert payload upon cert request
Currently when a TLS client doesn't have a certificate, it doesn't
send a certficiate payload upon receiving a certificate request
from the TLS server. According to the TLS 1.2 and 1.3 RFCs an
empty certificate payload must be sent.
2022-08-25 07:02:29 +02:00
Andreas Steffen 60a764bad9 pki: use libtls for pki --est 2022-08-25 07:02:29 +02:00
Andreas Steffen c2dc5f69ca pki: Created pki --est man page 2022-08-25 07:02:29 +02:00
Andreas Steffen ba1d8aba32 pki: Enroll an X.509 certificate with an EST server 2022-08-25 07:02:29 +02:00
Andreas Steffen 7e5daec56e pki: Created pki --estca man page 2022-08-25 07:02:29 +02:00
Andreas Steffen b16c0e928e pki: Clean up SCEP functions 2022-08-24 20:46:44 +02:00
Andreas Steffen ba76a9f5ff pki: Get CA certs via EST (RFC 7030) 2022-08-24 20:46:44 +02:00
Andreas Steffen 1ef8b92211 pkcs10: Support of Microsoft CertTypeExtension
The msCertificateTypeExtension OID (1.3.6.1.4.1.311.20.2) can
be used in a PKCS#10 certificate request to define a certificate
profile. It consists of an UTF8 string.

pki: profile option
2022-08-24 20:46:44 +02:00
Andreas Steffen 8716f7c03c scepclient: Removal and replacement by pki subcommands
The "ipsec scepclient" tool has been removed and replaced by the
pki subcommands "pki --scep" and "pki --scepca" which implement the
new SCEP RFC 8894 standard that was released in September 2020 and
which supports trusted "certificate renewal" based on the existing
client certificate.
2022-08-24 20:46:44 +02:00
Andreas Steffen 122796df27 pki: Additional pki.scep options for strongswan.conf 2022-08-24 20:46:44 +02:00
Andreas Steffen 93f2901d1a pki: Created pki --scep man page 2022-08-24 20:46:44 +02:00
Andreas Steffen 7c7a5a0260 pki: Enroll an X.509 certificate with a SCEP server 2022-08-24 20:46:44 +02:00
Andreas Steffen a9d70bd485 pki: Created pki --scepca man page 2022-08-24 20:46:44 +02:00
Andreas Steffen 6851273944 pki: Get CA certs via SCEP 2022-08-19 23:00:11 +02:00
Andreas Steffen bcedd65a31 pkcs7: Allow for missing optional content field
The content field of type OCTET STRING of a ContentInfo object
with ContentType Data

  ContentInfo ::= SEQUENCE {
     contentType ContentType,
     content
        [0] EXPLICIT OCTET STRING OPTIONAL

is optional and can be missing if no data is available
2022-07-29 07:59:00 +02:00
Andreas Steffen 49ddfe91f0 Version bump to 5.9.7 2022-07-29 06:54:09 +02:00
Andreas Steffen 1e444454e1 Version bump to 5.9.7rc1 2022-07-23 14:38:36 +02:00
Andreas Steffen c01d765c11 testing: Increased memory of KVM instance sun 2022-07-23 14:36:50 +02:00
Andreas Steffen 67f7d8fe8a testing: Replace deprecated tempfile command by mktemp 2022-07-23 11:28:08 +02:00
Andreas Steffen 110e8e6608 doc: Removed the standards directory
This collection of Internet standards and drafts hadn't been
updated for a long time and the documents are readily available
on the Internet anyway. The strongSwan documentation page

  https://docs.strongswan.org/docs/5.9/features/ietf.html

specifies which standards are currently supported.
2022-07-12 10:24:42 +02:00
Andreas Steffen 2b474073d9 pem: Support PEM-encoded PKCS#7 container 2022-07-06 20:38:00 +02:00
Andreas Steffen e8c2ae3c54 Version bump to 5.9.7dr2 2022-06-29 11:33:34 +02:00
Andreas Steffen b7c167f972 Rename MODP_NONE to KE_NONE 2022-06-29 10:28:50 +02:00
Andreas Steffen 432111720d Version bump to 5.9.7dr1 2022-05-26 17:41:14 +02:00
Andreas Steffen 3f19a951cf TCG TNC attribute name changes
The TCG TNC IF-M Segmentation standard was implemented based on a
draft version. The attribute names are updated to comply with the
final TCG IF-M Segmentation Specification Version 1.0 Rev. 5
dated 4 April 2016
2022-05-26 17:37:43 +02:00
Andreas Steffen 4cf8cd0321 Version bump to 5.9.6 2022-04-28 22:38:10 +02:00
Andreas Steffen 7df710095e Version bump to 5.9.6rc1 2022-04-16 10:23:35 +02:00
Andreas Steffen b2cf5af192 README: Added link to docs.strongswan.org 2022-03-02 21:55:43 +01:00
Andreas Steffen 57d6e96943 Version bump to 5.9.5 2022-01-24 12:01:10 +01:00
Andreas Steffen 1321fdb8aa Version bump to 5.9.5rc1 2022-01-16 07:48:12 +01:00
Andreas Steffen 85d626e9ae testing: Modified ikev2/net2net-rfc3779 scenario 2022-01-10 21:14:11 +01:00
Andreas Steffen 36c64589d8 Version bump to 5.9.5dr4 2021-12-31 14:46:31 +01:00
Andreas Steffen 903c68e069 sw-collector: Iterate through history logs
The logrotate function causes the apt history to be split into
several parts at arbitrary points in time. If history.log only
is parsed then some package installation changes stored in
zipped backup history files might get lost.

Thus sw-collector now searches all backup history files until
a date older than the current event stored in the collector.db
database is found, so that no entries get overlooked.
2021-12-31 14:33:22 +01:00
Andreas Steffen 0b76ca13ab libtpmtss: Some minor improvements 2021-12-19 13:50:07 +01:00
Andreas Steffen dadcd9060e Version bump to 5.9.5dr3 2021-12-11 16:39:34 +01:00
Andreas Steffen 8249e6afad libtpmtss: Establish session with TPM 2.0
Using the trusted RSA or ECC Endorsement Key of the TPM 2.0 a
secure session is established via RSA public key encryption or
an ephemeral ECDH key exchange, respectively.

The session allows HMAC-based authenticated communication with
the TPM 2.0 and the exchanged parameters can be encrypted where
necessary to guarantee confidentiality.
2021-12-11 16:21:59 +01:00
Andreas Steffen 01485770fd gcrypt: Support of AES-CFB encryption 2021-12-06 13:43:45 +01:00
Andreas Steffen 2d1a1cc907 botan: Support of AES-CFB encryption 2021-12-06 13:28:31 +01:00
Andreas Steffen 54d7e39d40 wolfssl: Support of AES-CFB encryption 2021-12-06 12:53:11 +01:00
Andreas Steffen 695a04d146 openssl: Support of AES-CFB encryption 2021-12-06 12:52:37 +01:00