Gradle utiliser l'authentification de certificat de dépôt

Le Problème

J'ai un Android Gradle projet qui devrait tirer une lib de mon de lentreprise sonatype nexus serveur. Le nexus serveur utilise un certificat d'authentification. Cela signifie que le client dispose d'un certificat privé qui authentifie et autorise celui-ci à l'encontre de la nexus serveur.

Le problème est de savoir comment configurer gradle pour utiliser mon certificat (qui est dans le osx fichier de clés).

/app/build.gradle

repositories {
   //some other repositorys...
   ...
   maven {
      credentials {
         username = NEXUS_USERNAME
         password = NEXUS_PASSWORD
      }
      url 'https://prefix.server.com/nexus/content/repositories/artifactid'
   }
}

Sans donner un certificat de serveur nexus respont:

Erreur: n'a pas de TÊTE 'https://prefix.server.com/nexus/content/repositories/artifactid/de/komoot/android/kmt-material-showcase/0.0.1/kmt-material-showcase-0.0.1.pom'. Reçu le code d'état de 400 à partir du serveur: Bad Request

Ma première solution était d'essayer de configurer la jvm pour utiliser le osx trousseau de clés pour les certificats. La même méthode m'a aidé à pousser et à publier des libs/artefacts sur le serveur nexus.

/app/gradle.propriétés

org.gradle.jvmargs=-Djavax.net.ssl.keyStore=NONE -Djavax.net.ssl.keyStoreType=KeychainStore -Djavax.net.ssl.keyStorePassword=-

Cela ne fonctionne pas de la gradle synchronisation a échoué:
Erreur:AUCUN (Aucun fichier ou répertoire)

Il ressemble à la gradle attend à "NONE" du paramètre '-Djavax.net.le protocole ssl.fichier de clés'. J'ai essayé plusieurs uper et minuscules des solutions, mais tous ont échoué.

La deuxième approche est d'essayer ça avec

org.gradle.jvmargs=-Djavax.net.ssl.keyStoreType=KeychainStore

Mais le serveur répond avec 400 à nouveau. Ressemble à la JVM arguments n'ont pas été utilisés.

Des idées ou des articles de cette rubrique ?
J'espère que quelqu'un pourra m'aider.

OriginalL'auteur Arne Köckeritz | 2016-03-24