Safari in High Sierra refuses connection to website with expired certificate

In all earlier versions of OSX / MacOS, Safari has warned about expired certificates, but allowed the user to continue despite the error. After updating my iMac to High Sierra, Ifind that Safari gives a somewhat inscrutable error message ("This Connection is Not Private"), but does not offer any action except to quit ("return to previous page"). There is no option to alter this behaviour.


This means that I can no longer access webmin on an ancient but essential Linux Server I have running as a VM on a local Mac Mini: this server is accessible only to other machines on my LAN, is not exposed to the internet. For various reasons is not susceptible to being updated. I consider it unfriendly (at best!) for Apple to arbitrarily change in this way how Safari works - sometimes the punter really does know better than the computer - or Apple!


Can anyone suggest any kind of work-around other than not using High Sierra for this?


Colin

iMac, macOS High Sierra (10.13)

Posted on Sep 30, 2017 6:07 AM

Reply
Question marked as Top-ranking reply

Posted on Mar 8, 2018 10:11 AM

I tried to get the certificate imported using the keychain in terminal, but I came to find out that the import to the keychain wasn't the issue at all. I deleted all the certificates for a particular site and visited it again. It asked me to visit the site anyway, which prompted for my keychain password. I put it in and verified it was now in my keychain. It then went right back to the website blocked message. Rinse and repeat. However, once in the keychain, I found that you can open the certificate and expand a section for Trust. I changed it to Always Trust. Then, the website let me in!


User uploaded file

28 replies
Question marked as Top-ranking reply

Mar 8, 2018 10:11 AM in response to baldbeardie

I tried to get the certificate imported using the keychain in terminal, but I came to find out that the import to the keychain wasn't the issue at all. I deleted all the certificates for a particular site and visited it again. It asked me to visit the site anyway, which prompted for my keychain password. I put it in and verified it was now in my keychain. It then went right back to the website blocked message. Rinse and repeat. However, once in the keychain, I found that you can open the certificate and expand a section for Trust. I changed it to Always Trust. Then, the website let me in!


User uploaded file

Nov 10, 2017 8:16 AM in response to baldbeardie

By coincidence, and having resigned myself to only being able to access the sever in question (webmin for a virtual Linux Server) through an ancient Mac Mini running Mountain Lion, I came upon what seems to have been at least a partial answer only yesterday!


Someone else had been asking around on the internet as similar issues have arisen all over, and not just using MacOS! It seems to related to the acceptable length of keys, with older ones being 512 bits long, and later ones 1024 bits or more. This URL will take you to the helpful page: http://tinyurl.com/y8brlwr9


I was able to follow the instructions in there on my Linux server, and created a new certificate. I still get the same error about the connection not being private, but it is now actually possible to tell Safari to let me see the site anyway, and now it actually does work again! Not perfect, but it solves my problem! :-) Maybe you will be able to do something similar for your situation?


Thanks to everyone for their suggestions over the several weeks I have had this problem! :-)

Jan 25, 2018 11:35 AM in response to PN2

Safari no longer loops preventing me from visiting the router admin page. Upon receiving the error that the connection is not private, I attempted to visit the page anyway. I was prompted for admin credentials, and this adds the self-signed cert into my Keychain.


Open the self-signed certificate in Keychain Access, and expand "Trust" section. Then change "when using this certificate" from 'custom' to 'always trust'. Before I made the change, it was always trusting the SSL, but none of the other options.


User uploaded file

Dec 9, 2017 9:27 AM in response to Cappadocian

If you have an admin account on your machine, your best bet is to import the cert using terminal, then use Keychain to modify the properties so your machine trusts it. If the cert is expired, I don't believe you can import the cert using the Keychain app.


Something like this put the cert into my login keychain (Google's your friend: "Import Cert Keychain Terminal"):


sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <certificate>

Oct 1, 2017 3:46 PM in response to baldbeardie

I don't have High Sierra to test with, but with Safari 11 on 10.12.6, I can drag an expired certificate from the info window to the desktop, then double-click it, opening Keychain Access & adding it to the login keychain.



Once there, it can be opened & given an 'Always trust' setting. That stops any warnings for Safari when tested with https://expired.badssl.com



You need to click & drag on the certificate icon when viewing the details in Safari.

Oct 2, 2017 11:28 AM in response to baldbeardie

Oh, that's odd. I can both double-click it, and drag straight to the login keychain... there must be some way of adding car's in High Sierra. Does a valid one work ?. Anything in Keychain Access preferences that would affect it ?.


Otherwise, use Certificate Assistant to create a new self-signed one and use it on the server.

Nov 10, 2017 7:32 AM in response to baldbeardie

I've got a very similar problem. In my case the certificate is not expired, though. It is simply not trusted because it belongs to a small local server at my work. Access is essential for me and I am also sure it is secure.

Before High Sierra, I had to click through some warning messages once but afterwards Safari loaded the page just normally. Now I can click my way through practically the same messages ("This connection is not private" -> Show details -> Open this website -> Visit website -> Admin password) but it will just bring me back to where I started ("This connection is not private") and refuse to load the page.


Deleting the certificate in my Keychain to have a new one downloaded didn't help.


When I edit the certificate in Keychain to always be trusted and then reload the page it strangely gives me a completely different error message ("Bad Request - Your browser sent a request that this server could not understand.").


I have Avast installed but excluding the site from its web security doesn't change the behaviour.


Luckily, only Safari seems to be affected by this. Chrome lets me access the site (after the usual "are you sure??" stuff).

Feb 17, 2018 10:17 PM in response to anch in nk

I think you are more likely to get a helpful answer from Apple Support - give their support line a call, and be prepared to lose a couple of hours, but the really do try. You may have to escalate the call at some point, but I have found that this usually works pretty smoothly. Whatever I migh think of the quality of Apple software these days, the support department is first class (even if they don't always manage to find the answer you need).

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Safari in High Sierra refuses connection to website with expired certificate

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.