Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New API Proposal: X.509 Certificate Support #189

Closed
Craz1k0ek opened this issue Jul 11, 2023 · 2 comments
Closed

New API Proposal: X.509 Certificate Support #189

Craz1k0ek opened this issue Jul 11, 2023 · 2 comments

Comments

@Craz1k0ek
Copy link

New API Proposal: X.509 Certificate Support

Motivation:

A big part of cryptography and security for multiple internet protocols is the X.509 standard, defining public key certificate formats. Not having the possibility to create or read certificates is a real bummer.

It would be a great addition:

  • Identity binding to a public key using digital signatures
  • Client certificate authentication, useful for Swift servers and clients
  • Certificate Authority (CA) support
  • Pretty Good Privacy (PGP) support
  • SSL/TLS support

Most of the core components to support X.509 certificates are already (partially) implemented:

  • ASN.1 support to encode and decode certificates and it's attributes
  • ECC/RSA signatures to sign CSR's and verify certificates

I would highly recommend also adding the certificate signing request (CSR), part of the PKCS#10 spec, to make the client certificate authentication and identities accessible more easily.

Importance:

X.509 is of great importance in cryptography:

  • It provides clients secure access to information and resources
  • It provides a way to prevent man-in-the-middle attacks (MITM)
  • It is an enabler for CA's
  • It is an enabler for PGP
  • It is an enabler for the public key infrastructure (PKI)
@Lukasa
Copy link
Contributor

Lukasa commented Jul 11, 2023

Is your use-case solved by swift-certificates?

@Craz1k0ek
Copy link
Author

It sure does, that's exactly what I was after. Can't believe I missed that, thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants