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

Signed CA is missing CN value breaking ability to trust for SSL on iOS devices #85

Closed
davidalger opened this issue Feb 8, 2020 · 2 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@davidalger
Copy link
Collaborator

The PEM file generated by Warden during the install process for signing certificates used by Traefik is lacking a CN value thus breaking the ability to install the certificate as a profile and then trust the certificate on iOS devices. Opening the PEM on iOS currently results in an installed profile, but the certificate is not showing up in the list of certificates to be trusted for SSL after installing as a profile.

The following forum thread appears to describe this exact scenario, and indicates the lacking CN value as the culprit: https://forums.developer.apple.com/thread/89568

Information in forum thread should be validated, and the install routine corrected appropriately. As regenerating a CA would require re-signing already present certificates, the regeneration will be left a manual process (cleanup files, run warden install, etc) and I will plan to call this out in release notes once fixed.

Another example of this iOS peculiarity cropping up can be found here: FiloSottile/mkcert#47

The following KB page documents how one is expected to trust a CA for SSL on iOS devices: https://support.apple.com/en-us/HT204477

@davidalger davidalger added the bug Something isn't working label Feb 8, 2020
@davidalger davidalger added this to the Warden 0.3.0 milestone Feb 8, 2020
@davidalger davidalger self-assigned this Feb 8, 2020
@davidalger davidalger modified the milestones: Warden 0.3.0, Warden 0.2.2 Feb 9, 2020
davidalger added a commit that referenced this issue Feb 9, 2020
davidalger added a commit that referenced this issue Feb 9, 2020
@davidalger
Copy link
Collaborator Author

davidalger commented Feb 9, 2020

For those needing to re-create CA root and re-issue certificates, the following process should be followed:

  1. Remove existing trusted certificate

    a) macOS/Darwin

    sudo security remove-trusted-cert -d ~/.warden/ssl/rootca/certs/ca.cert.pem
    

    b) Fedora/CentOS

    sudo rm /etc/pki/ca-trust/source/anchors/warden-proxy-local-ca.cert.pem
    

    c) Ubuntu/Debian

    sudo rm /usr/local/share/ca-certificates/warden-proxy-local-ca.crt
    
  2. Cleanup all issued certs and CA root files

    rm -rf ~/.warden/ssl
    
  3. Re-create and trust new CA

    warden install
    
  4. Re-issue SSL certificates as needed via warden sign-certificates ...

@davidalger
Copy link
Collaborator Author

Following changes in associated PR, the Warden issued CA now shows up for trusting on iOS devices:
Warden issued CA showing up in iOS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant