jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Maven 2 & 3
  • MNG-4499

Security management: Ease interaction with SSL sites

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Improvement Improvement
  • Status: Open Open
  • Priority: Critical Critical
  • Resolution: Unresolved
  • Affects Version/s: Issues to be reviewed for 3.x
  • Fix Version/s: Issues to be reviewed for 3.x
  • Component/s: Artifacts and Repositories, Command Line, Deployment
  • Labels:
    None
  • Complexity:
    Intermediate

Description

Development environments often use ssl-certificates which are self-signed or signed by company-internal
certification authorities.

If the certificate is unknown maven outputs the following message:
—
INFO] Scanning for projects...
[INFO] snapshot de.foo.bar:bar-parent:0.0.1-SNAPSHOT: checking for updates from snapshots
[WARNING] repository metadata for: 'snapshot de.foo.bar:bar-parent:0.0.1-SNAPSHOT' could not be retrieved from repository: snapshots due to an error: Error transferring file: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[INFO] Repository 'snapshots' will be blacklisted
—
This is disastrous form usability point of view

Procedures like this are very not very convenient for developers:
—
$JAVA_HOME/bin/keytool -import -alias UserTrustExternalCARoot -file UserTrustExternalCARoot.crt -keystore $JAVA_HOME/jre/lib/security/jssecacerts
export MAVEN_OPTS="-Djavax.net.ssl.keyStore=$HOME/.keystore \
-Djavax.net.ssl.keyStorePassword=changeit \
-Djavax.net.ssl.trustStore=$HOME/.keystore \
-Djavax.net.ssl.trustStorePassword=changeit"
mvn -Dusername=foo deploy
—

Maven should provide an convenient way to accept a unknown certificate.

I my opinion this should implemented like this:

  • If the exceptions is raised maven should output a message that the certificate can by downloaded
    and integrated in the keystore in an automated way by invoking the new maven option
    "dc <hostname> ..<hostname>|-download-certificate <hostname> <hostname>"
  • If this option is invoked, maven automatically downloads the certificate/ca for the specified
    domain and adds it to a keystore located in $HOME/.m2/keystores/<domain> an executes the specified goal
    with this keystore
  • If maven is called without the new option, maven uses the keystores in $HOME/.m2/keystores/<domain>
    before giving up on certificate problems

Activity

  • All
  • Comments
  • Work Log
  • History
  • Activity
There are no comments yet on this issue.

People

  • Assignee:
    Unassigned
    Reporter:
    Marc Schöchlin
Vote (2)
Watch (4)

Dates

  • Created:
    17/Dec/09 7:39 AM
    Updated:
    20/Sep/10 11:12 AM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.