sslalfrescobuildr

Accessing Maven repositories with Buildr using SSL certificates?


I wanted to take Buildr for a spin, and wanted to use it for a project that is using Alfresco. The Alfresco projects is maintaining a Maven repository at : https://artifacts.alfresco.com

As you can see, it is using https.

I try to download 2 jars + dependencies to the class path by declaring:

ALFRESCO_CORE= transitive('org.alfresco:alfresco-core:jar:4.2.b')

ALFRESCO_REPOSITORY= transitive('org.alfresco:alfresco-repository:jar:4.2.b')

The buildfile fails with the following error message:

Requesting https://artifacts.alfresco.com/org/alfresco/alfresco-core/4.2.b/alfresco-core-4.2.b.pom warning: peer certificate won't be verified in this SSL session Buildr aborted! RuntimeError : Failed to download org.alfresco:alfresco-core:pom:4.2.b, tried the following repositories: http://repo1.maven.org/maven2/ https://artifacts.alfresco.com/

I believe, that this is due to the fact, that buildr doesn't trust the maven repositories certificate?

How can I make it accept the certificate? Alternatively, skip certificate validation?

Currently, it is a major showstopper that I can't access the repository :(

I hope somebody can give a hint how to proceed! Agata


Solution

  • warning: peer certificate won't be verified in this SSL session

    This part of the message indicates that ruby won't be attempting to verify the certificate, so I don't think this is an SSL issue.

    It appears that there is indeed no artifact at the URL in the error message:

    $ curl -v -IHEAD https://artifacts.alfresco.com/org/alfresco/alfresco-core/4.2.b/alfresco-core-4.2.b.pom
    [...]
    > HEAD /org/alfresco/alfresco-core/4.2.b/alfresco-core-4.2.b.pom HTTP/1.1
    > User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
    > Host: artifacts.alfresco.com
    > Accept: */*
    > 
    < HTTP/1.1 404 Not Found
    

    This suggests either a problem with the artifact name or with the repository. Peter's working example uses the repository https://artifacts.alfresco.com/nexus/content/groups/public/. From the error message's URL, it looks like you are using https://artifacts.alfresco.com/. Can you try Peter's repository URL?