MacOS – Internet Access after renew the expired com.apple.servermgrd certificate

certificatekeychainmacosserver.appssl

I inherited some months ago a Mac mini server running OS X 10.8.5 Initially, I configured it with the new network settings, DNS name, etc and all was working fine in regard to file sharing, accessing Server app, etc. I recently ran software update where Server.app was updated to Server 2.2.5. Now I am having some problems with this Server app.

I know that the com.apple.servermgrd certificate needs to be updated as I see it had expired before a few months before this recent update, and I'll use the method in HT3930 during down time this weekend.

However, I am concerned that this may not be the only issue. When I restart the server and log in with a service/admin account, Server.app works fine (with the exception of using Safari and SSL to connect to the server at it's DNS address, which models the example in the write up, https://server.example.com:311). I would expect this method not to work as the certificate is expired.

But, after some time, without logging out of the service/admin account, Server.app throws an error that "multiple errors occured on the server while processing commands" and "a networking error occured while trying to communicate with the server". In addition, at this point I can no longer use Safari and resolve web pages. I wouldn't expect this to be due to the expired certificate and SSL, but maybe I am wrong. The server is still running in back ground for file sharing, screen sharing, etc. so networking "IS" working.

I'd like to know if I am dealing with two separate problems or if they are both caused by the expired com.apple.servermgrd certificate.

Console errors that cooredpond to the above error msgs.

Server: Error: The server '127.0.0.1' reported an error while processing a command
of type: 'get AlertDeliverySettings' in plug-in: 'servermgr_info'. Error: Error Domain=XSActionE

…of type: 'getPushTopicForPreferredIdentityName' in plug-in: 'servermgr_certs'. Error Dom

Best Answer

The com.apple.servermgrd certificate is only used to create a SSL connection from Server.App to the server backend admin daemon. It is safe to delete as it will be recreated. You should delete the cert with the following commands:

sudo security set-identity-preference -n -s com.apple.servermgrd /Library/Keychains/System.keychain
sudo security delete-certificate -c com.apple.servermgrd /Library/Keychains/System.keychain
sudo killall servermgrd 

For Mojave and later:

sudo killall servermgr-listener

This will delete the certificate & the identity preference and restart the backend daemon, which should happily recreate the com.apple.servermgrd certificate. The other SSL using server services default to using a certificate that has the machine's DNS name.