Skip to content

strongSwan: parse/validate X.509 objects in strongSwan's Botan plugin #5219

@reneme

Description

@reneme

StrongSwan contains a plugin for using Botan as a crypto provider for quite some time already. We're currently working on extending this plugin with functionality for parsing/validating X.509 certificates and CRLs. To access the relevant bits in Botan, a number of FFI functions have to be added. This issue is meant to provide an overview of the work in progress.

In the best-case scenario we'd like to have most of these additions available in the upcoming Botan 3.11.0 release so that we can start integrating this into strongSwan upstream. Locally, we already have a working prototype.

Required new Functionality in the FFI

Pull Requests related to this

Currently Known Limitations

  • IPv6 addresses
    Botan currently doesn't support handling IPv6 addresses in subject/issuer alternative names as well as name constraints. Any such IPv6 address entries would currently not be visible to strongSwan when using the Botan plugin
  • Delta-CRLs
    To the best of my understanding Botan currently does not provide support for Delta CRLs. Therefore, we won't be able to support those via the strongSwan plugin either.
  • Enumerating multiple OCSP Responders
    Currently, Botan::X509_Certificate::ocsp_responder() returns exactly one responder entry (from the AuthorityInformationAccess extension) but there's no way to access all responder URLs if the certificate lists more than one.
    (addressed in X509: Multiple OCSP Responders #5231)
  • OCSP Response/Request
    We don't require any OCSP-based certificate revocation checks at the moment. Integration with Botan's OCSP functionality is left for future work

/cc @tobiasbrunner

Metadata

Metadata

Labels

enhancementEnhancement or new feature

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions