for dir in ./* ./**/* # list directories in the current directory
do
python $dir
done
./* - файлы в папке dir, а ./**/* - файлы в подпапках.
Убедитесь, что у вас есть только файлы Python в вашем каталоге, он будет запускать все файлы в этом каталоге
Я копался дальше, и ответ заключается в том, что мне нужно было импортировать необходимые сертификаты в хранилище ключей, используемое JVM для аутентификации SSL. Хранилище ключей - это файл 'cacerts' в папке jre / lib / security в jre, который используется для запуска программы.
Я вручную экспортировал сертификаты сайта - все они.
Затем я импортировал его в хранилище ключей по умолчанию с помощью утилиты 'keytool', предоставленной Sun. Обратите внимание, что вы должны импортировать их в правильном порядке.
Затем я поместил новое хранилище ключей вместо JRE - и это сработало.
Я думаю, было бы лучше импортировать сертификаты непосредственно в хранилище ключей JRE, но инструмент попросил у меня пароль, который я Я не знал.
Я верю, что есть способ легче обойти это, просто еще не нашел. Я буду рад получить несколько указателей (класс TrustManager в JSSE?).
Наконец, немного доверия. Этот пост здесь: http://javaishdiscoveries.blogspot.com/2009/02/battle-with-cacerts-and-https.html помог направить меня в правильном направлении.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: ошибка проверки пути PKIX: java.security.cert.CertPathValidatorException: ошибка проверки базовых ограничений: нарушение pathLenConstraint - этот сертификат должен быть последним cert в пути сертификации на
pathLenConstraint
см. (Примечание о цепочках сертификатов) в
Google говорит, что это может быть проблема с порядком цепочки сертификатов, я только что обнаружил, что мой сертификат не в порядке, пока не исправил, работаю над этим. Я обновлю это позже.
старый пост:
У меня почти такая же проблема.
Добавление сертификата вручную в хранилище ключей помогает, но я бы предпочел сделать это более автоматически, с моим клиентом.
Итак мое решение:
Я буду использовать хранилище ключей только для этого приложения и одного хоста 1. хранилища ключей не существует - создайте с некоторым сгенерированным паролем 2. сохранить пароль в файле конфигурации 3. спросить пользователя (или нет), хочет ли он принять этот сертификат 4. Если да - сохраните его в хранилище ключей и используйте при необходимости
Это хорошее решение? Есть комментарии?
Проблема заключалась в порядке цепочки сертификатов. Это было: A-> C-> B, но должно быть A-> B-> C, как только мы установили порядок цепочки, приложение начало работать.
Я лично не исправлял сертификаты. но этот пост был полезен