MacOS – How to fix ‘servermgr_certs’ error when clicking on ProfileManager in OSX Server Server.app

macososx-serverprofile-manager

When clicking on the Profile Manager service in the side bar in Server.app, I receive an error:

An error occurred on the server while processing a command.
The error occurred while processing a command of type 'exportIdentity' in plug-in 'servermgr_certs'.

Running the 'syslog -w 10' command at the same time I get the following log:

Dec  5 15:42:32 server1.fm Server[69967] <Warning>: [XSCertificate certificateWithDictionary:] returned nil
Dec  5 15:42:33 server1.fm servermgrd[68172] <Error>: servermgr_web: processing webApp:com.apple.webapp.postgres
Dec  5 15:42:34 server1.fm sudo[70631] <Notice>:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/psql -U webauth -d webauth -c SELECT max(version) FROM schema_migrations
Dec  5 15:42:34 server1.fm servermgrd[68172] <Notice>: servermgr_web: enableWebApp command succeeded for web app com.apple.webapp.postgres
Dec  5 15:42:38 server1.fm servermgrd[68172] <Error>: servermgr_web: processing webApp:com.apple.webapp.postgres
Dec  5 15:42:39 server1.fm sudo[70653] <Notice>:     root : TTY=unknown ; PWD=/Applications/Server.app/Contents/ServerRoot/usr/share/devicemgr/backend ; USER=root ; COMMAND=/usr/bin/psql -U webauth -d webauth -c SELECT max(version) FROM schema_migrations
Dec  5 15:42:39 server1.fm servermgrd[68172] <Notice>: servermgr_web: disableWebApp command succeeded for web app com.apple.webapp.postgres
Dec  5 15:42:39 server1.fm Server[69967] <Warning>: Error: The server '127.0.0.1' reported an error while processing a command of type: 'exportIdentity' in plug-in: 'servermgr_certs'. Error: Error Domain=XSActionErrorDomain Code=0 "NIL_RESPONSE_ERR (*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0])" UserInfo=0x7feda3d2aec0 {NSLocalizedDescription=NIL_RESPONSE_ERR (*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0])}

Note that I do not have Profile Manager turned on, nor has 'Device Management' been configured, so I'm confused as to what certificate issue there could be. If I do attempt to configure Device Management I either get the above error, or I get right through the wizard where I can click 'Finish', but then receive another error:

An error with code -1 occurred

Which appears as the following in the system log:

Dec  5 16:00:15 server1.fm servermgrd[68172] <Error>: servermgr_web: processing webApp:com.apple.webapp.postgres
Dec  5 16:00:16 server1.fm sudo[71295] <Notice>:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/psql -U webauth -d webauth -c SELECT max(version) FROM schema_migrations
Dec  5 16:00:16 server1.fm servermgrd[68172] <Notice>: servermgr_web: enableWebApp command succeeded for web app com.apple.webapp.postgres
Dec  5 16:00:21 server1.fm servermgrd[68172] <Error>: servermgr_web: processing webApp:com.apple.webapp.postgres
Dec  5 16:00:22 server1.fm sudo[71318] <Notice>:     root : TTY=unknown ; PWD=/Applications/Server.app/Contents/ServerRoot/usr/share/devicemgr/backend ; USER=root ; COMMAND=/usr/bin/psql -U webauth -d webauth -c SELECT max(version) FROM schema_migrations
Dec  5 16:00:22 server1.fm servermgrd[68172] <Notice>: servermgr_web: disableWebApp command succeeded for web app com.apple.webapp.postgres
Dec  5 16:00:22 server1.fm servermgrd[68172] <Error>: servermgr_web: processing webApp:com.apple.webapp.postgres
Dec  5 16:00:23 server1.fm sudo[71338] <Notice>:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/psql -U webauth -d webauth -c SELECT max(version) FROM schema_migrations
Dec  5 16:00:23 server1.fm servermgrd[68172] <Notice>: servermgr_web: enableWebApp command succeeded for web app com.apple.webapp.postgres
Dec  5 16:00:26 server1.fm servermgrd[68172] <Error>: servermgr_web: processing webApp:com.apple.webapp.postgres
Dec  5 16:00:27 server1.fm sudo[71361] <Notice>:     root : TTY=unknown ; PWD=/Applications/Server.app/Contents/ServerRoot/usr/share/devicemgr/backend ; USER=root ; COMMAND=/usr/bin/psql -U webauth -d webauth -c SELECT max(version) FROM schema_migrations
Dec  5 16:00:27 server1.fm servermgrd[68172] <Notice>: servermgr_web: disableWebApp command succeeded for web app com.apple.webapp.postgres
Dec  5 16:00:28 server1.fm Server[71083] <Warning>: [XSCertificate certificateWithDictionary:] returned nil
Dec  5 16:00:28 server1.fm servermgrd[68172] <Error>: servermgr_web: processing webApp:com.apple.webapp.postgres
Dec  5 16:00:29 server1.fm sudo[71381] <Notice>:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/psql -U webauth -d webauth -c SELECT max(version) FROM schema_migrations
Dec  5 16:00:29 server1.fm servermgrd[68172] <Notice>: servermgr_web: enableWebApp command succeeded for web app com.apple.webapp.postgres
Dec  5 16:00:32 server1.fm servermgrd[68172] <Error>: servermgr_web: processing webApp:com.apple.webapp.postgres
Dec  5 16:00:32 server1.fm sudo[71404] <Notice>:     root : TTY=unknown ; PWD=/Applications/Server.app/Contents/ServerRoot/usr/share/devicemgr/backend ; USER=root ; COMMAND=/usr/bin/psql -U webauth -d webauth -c SELECT max(version) FROM schema_migrations
Dec  5 16:00:32 server1.fm servermgrd[68172] <Notice>: servermgr_web: disableWebApp command succeeded for web app com.apple.webapp.postgres
Dec  5 16:00:32 server1.fm Server[71083] <Warning>: An error with code -1 occurred while setting up Device Management

Anyone know how to solve this?

Best Answer

There are multiple different causes for that error. See also:

http://support.apple.com/kb/TS4504

The important clues seem to be:

<Warning>: [XSCertificate certificateWithDictionary:] returned nil

Dec  5 15:42:39 server1.fm Server[69967] <Warning>: Error: The server '127.0.0.1' reported an error while processing a command of type: 'exportIdentity' in plug-in: 'servermgr_certs'. Error: Error Domain=XSActionErrorDomain Code=0 "NIL_RESPONSE_ERR (*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0])" UserInfo=0x7feda3d2aec0 {NSLocalizedDescription=NIL_RESPONSE_ERR (*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0])}

Profiles on iPhone etc. and Apple Store code signing use X509 certificates. So does HTTPS for your web server, and SMTPS on your mail server, FYI. So if there is something wrong with your certificate chain, including any kind of validation error, a servermgr_certs error might occur. Do you have any self-signed certificates that you created through Keychain Access, for example, that have null fields?