Używam następującego kodu do generowania kluczy:
apt-get -qq -y install openssl;
mkdir -p /etc/apache2/ssl;
openssl genrsa -des3 -out server.key 1024;
openssl req -new -key server.key -out server.csr;
cp server.key server.key.org;
openssl rsa -in server.key.org -out server.key;
openssl x509 -req -days 12000 -in server.csr -signkey server.key -out server.crt;
mv server.crt /etc/apache2/ssl/cert.pem;
mv server.key /etc/apache2/ssl/cert.key;
rm -f server.key.orig;
rm -f server.csr
Mam dwa pytania:
Jak mogę pominąć monitowanie o hasło? Czy byłoby to dla mnie wystarczająco bezpieczne? (ponieważ nie powinno to być głupie, jak ktoś powinien być w stanie zhakować certyfikat)
Jak uniknąć monitowania o nazwę kraju, organizację itp. Mam nadzieję, że mogę je podać w wierszu polecenia (strona podręcznika pokazuje tylko opcje najwyższego poziomu dla OpenSSL)
-x509
i,-days
aby wygenerować CSR zamiast certyfikatu, a następnie użyj zwykłej metody podpisywania urzędu certyfikacji.Czy
-passin
opcja nie rozwiązuje problemu?Dzięki
file:pathname
formularzowi możesz być całkiem bezpieczny z uprawnieniami 600 dla tego pliku.źródło
-passin 'pass:YOUR_PASSWORD'
? - doc: openssl.org/docs/man1.0.2/apps/…Przyjęta odpowiedź wymaga kilku drobnych poprawek. Linie EC:
Powinien być:
W systemie MacOS - OpenSSL 1.0.2f zainstalowanym przez brew, zweryfikowałem zaakceptowaną odpowiedź, jak opisano poniżej
Aby wyświetlić listę dostępnych krzywych eliptycznych:
Aby wygenerować plik klucza:
Aby wygenerować certyfikat bez hasła:
Aby wyświetlić certyfikat:
źródło
Spróbuj wykonać następujące polecenie:
Pominięcia część jest:
-passout pass:foo
.źródło
@bahamat ma świetną odpowiedź. Niestety niektóre wersje openssl zgłaszają błąd podczas próby utworzenia certyfikatu ECDSA za pomocą jednego polecenia. Błąd idzie mniej więcej tak:
Korzystałem
openssl 1.0.1e-fips
zCentOS 7
.Wydaje się, że tworzenie certyfikatu za pomocą następujących 3 poleceń:
źródło
server.crt
?