Довольно простой пример (для http://mydrive.net и Linux):
- загрузка сертификата с mydrive.net с помощью OpenSSL
- openssl s_client -connect webdav.mydrive.ch:443> mydrive.net.crt
- удалить все данные, кроме между BEGIN и END (включительно) в файле mydrive.net.crt
- создать новое хранилище ключей:
- keytool -genkey -alias dummy -keyalg RSA -keystore /etc/ssl/certs/java/yourKeyStore.jks -keysize 2048
- используйте безопасную фразу-пароль
- Удалить неиспользованный сгенерированный сертификат
- keytool -delete -alias dummy -keystore /etc/ssl/certs/java/yourKeyStore.jks
- Импорт сертификата с mydrive.net
- keytool -import -trustcacerts -alias mydrive.net -keystore /etc/ssl/certs/java/kyourKeyStore.jks -file ./mydrive.net.crt
- Проверить импорт:
- keytool -list -keystore /etc/ssl/certs/java/yourKeyStore.jks
- добавить параметр Java для хранилища ключей
- JAVA_OPTS = "$ JAVA_OPTS -Djavax.net.ssl.trustStore = / etc / ssl / certs / java / yourKeyStore.jks"
- Перезапустить JVM
Теперь вы можете использовать Sardine без перезаписи или переопределения. Просто используйте
Sardine sardine = SardineFactory.begin(username, password);
List<DavResource> resources = sardine.list("https://webdav.mydrive.ch/");
Совет:
Убедитесь, что вы используете правильный сертификат. MyDrive имеет несколько сертификатов, например