AEM 6.5 SSL配置Curl命令报500空指针错误求解决方案
Fix for AEM 6.5 SSL Setup via Curl (HTTP 500 NullPointerException)
The root cause of your NullPointerException is that AEM 6.5 added mandatory parameters for private key password which weren't required in AEM 6.3. The SSLConfigurationServlet in 6.5 expects explicit private key password fields, and their absence triggers the null pointer when trying to populate the Hashtable at line 525.
Correct Curl Command for AEM 6.5
curl \ -u admin:admin \ -F "keystorePassword=your-keystore-pass" \ -F "keystorePasswordConfirm=your-keystore-pass" \ -F "truststorePassword=your-truststore-pass" \ -F "truststorePasswordConfirm=your-truststore-pass" \ -F "privatekeyPassword=your-privatekey-pass" \ # New mandatory parameter -F "privatekeyPasswordConfirm=your-privatekey-pass" \ # New mandatory parameter -F "privatekeyFile=@localhostprivate.der" \ -F "certificateFile=@localhost.crt" \ -F "httpsHostName=host.example.com" \ -F "httpsPort=8443" \ http://host:port/libs/granite/security/post/sslSetup.html
Key Changes Explained
- Added
privatekeyPasswordandprivatekeyPasswordConfirm: These parameters are required in AEM 6.5 even if your private key uses the same password as the keystore. The servlet now explicitly validates and uses this password to load the private key, whereas 6.3 might have defaulted to the keystore password automatically. - Double-check the endpoint path: Ensure it's
/libs/granite/security/post/sslSetup.html(your error log had a typo/lib/...but your command uses the correct path).
Verification Tips
- Replace all placeholder values (
admin:admin,your-keystore-pass, etc.) with your actual AEM credentials and passwords. - If your private key doesn't have a password, you can pass empty values for the privatekey password fields (e.g.,
-F "privatekeyPassword="). - After running the command, verify the SSL configuration via the AEM console or check the error logs for success messages.
内容的提问来源于stack exchange,提问作者soumya
相关产品推荐
相关产品推荐

