Raven_kg
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Был у меня батник генерирующий клиентские сертификаты, жил под виндами у нашего менеджера - он занимается выдачей сертов. На днях мы было решено переселить менеджера под линукс, соответственно встал вопрос о конвертировании батника в шелл, что и было сделано спустя полдня мучений. Скопировал его в корень папки, запустил, серт сгенерировал. Но! Сертификат созданный шелл-скриптом не проходит проверку на сайте для которого он создавался - ошибка 42, недействительный сертификат. Код: @echo off if "%1" == "" goto error del clients\%1.p12 echo "Generating public/private key" openssl genrsa -des3 -out clients/%1.key -passout pass:temppass 1024 echo "Generating request" openssl req -new -key clients/%1.key -subj "/O=site.kg/OU=Administration/CN=%1" -passin pass:temppass -out clients/%1.csr echo "Generating certificate" openssl x509 -req -in clients/%1.csr -out clients/%1.crt -sha1 -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 echo "Generating p12 file" openssl pkcs12 -export -in clients/%1.crt -inkey clients/%1.key -name "Svyaznoy Ltd." -out clients/%1.p12 -passin pass:temppass echo "Deleting temporary files" del clients\%1.key del clients\%1.csr del clients\%1.crt pause goto end :error echo "Usage: createClientPair.bat <username>" :end | Вот его шелл-реализация: Код: #!/bin/bash SSL=/usr/local/bin/openssl if [ "$1" = "" ]; then echo "Usage: createClientPair.bat <username>" exit 0 else rm -f clients/$1.p12 echo "Generating public/private key" $SSL genrsa -des3 -out clients/$1.key -passout pass:temppass 1024 echo "Generating request" $SSL req -new -key clients/$1.key -subj "/O=site.kg/OU=Administration/CN=$1" -passin pass:temppass -out clients/$1.csr echo "Generating certificate" $SSL x509 -req -in clients/$1.csr -out clients/$1.crt -sha1 -CA ./ca/ca.crt -CAkey ./ca/ca.key -CAcreateserial -days 3650 echo "Generating p12 file" $SSL pkcs12 -export -in clients/$1.crt -inkey clients/$1.key -name "Svyaznoy Ltd." -out clients/$1.p12 -passin pass:temppass echo "Deleting temporary files" rm -f clients/$1.key rm -f clients/$1.csr rm -f clients/$1.crt fi | OpenSSL. По умолчанию у меня был установлен OpenSSL 1.0.0b, после фиаско с сертификатом установил 0.9.8m - результата не дало. Батник под виндой работает отлично. Версия openssl там 0.9.8k |