ПроблемаGradle аутентификация использование сертификата для хранилища
У меня есть проект Android Gradle который должен вытащить экспромты из моего Companys Sonatype сервера связующего. Сервер nexus использует аутентификацию сертификата. Это означает, что у клиента есть закрытый сертификат, который аутентифицирует и авторизует его против сервера nexus.
Проблема заключается в том, как настроить град, чтобы использовать мой сертификат (который находится в хранилище ключей osx).
/app/build.gradle
repositories {
// some other repositorys...
...
maven {
credentials {
username = NEXUS_USERNAME
password = NEXUS_PASSWORD
}
url 'https://prefix.server.com/nexus/content/repositories/artifactid'
}
}
Не давая сертификат на respont сервера нексуса с:
Ошибка: Не удалось ГОЛОВА 'https://prefix.server.com/nexus/content/repositories/artifactid/de/komoot/android/kmt-material-showcase/0.0.1/kmt-material-showcase-0.0.1.pom'. Полученный код состояния 400 с сервера: Неверный запрос
Моим первым решением было попытаться настроить jvm на использование ключевого слова osx для сертификатов. Тот же метод помог мне нажимать и публиковать libs/артефакты на сервере nexus.
/app/gradle.properties
org.gradle.jvmargs=-Djavax.net.ssl.keyStore=NONE -Djavax.net.ssl.keyStoreType=KeychainStore -Djavax.net.ssl.keyStorePassword=-
Это не работает Gradle синхронизация не удалась: Ошибка: NONE (Нет такого файла или каталога)
Это выглядит как Gradle ожидается, будет 'NONE' параметра '-Djavax.net.ssl.keyStore'. Я попробовал несколько решений с более высоким и низким разрешением, но все не удалось.
Второй подход был попробовать с
org.gradle.jvmargs=-Djavax.net.ssl.keyStoreType=KeychainStore
Но сервер снова реагирует с 400. Похоже, что аргументы JVM не использовались.
Любые идеи или статьи по этой теме? Надеюсь, кто-то может мне помочь.
"KeychainStore" не является допустимым типом хранилища ключей. Для этого примера это должно быть «PKCS12». В противном случае, отличный ответ - спасибо! – Mark