OpenSSL - podczas generowania certyfikatu nie dokonuje wpisów w serial i index.txt

Konfiguracja serwerów, usług, itp.
poldas
Beginner
Posty: 105
Rejestracja: 12 grudnia 2006, 08:51

OpenSSL - podczas generowania certyfikatu nie dokonuje wpisów w serial i index.txt

Post autor: poldas »

Witam

Mam problem przy generowaniu kluczy, a mianowicie:

OpenSSL podczas generowania certyfikatu nie dokonuje wpisów w serial i index.txt

Czy komuś przychodzi do głowy w czym może być problem?
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Napisz jak generujesz certyfikat, bo nie bardzo kumam...
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

W pliku serial musi być wartość początkowa np. 01. Problem z zapisem do tych dwóch plików może wynikać z braku uprawnień lub niewskazania pliku konfiguracyjnego openssl'a w komendzie generującej klucze. Poza tym wklej plik konfiguracyjny, Bez tego to jak wróżenie z fusów.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Jak dla mnie to tak jak wyżej, zobacz czy masz skonfigurowany openssl, jest w /etc/ssl bodajże.
2 jak ktoś wyżej zauważył wpisz w serial liczbę 0 i nadaj uprawnienia zapisywania temu plikowi na początek 777 a później sobie zmienisz wedle uznania jak przetestujesz.
poldas
Beginner
Posty: 105
Rejestracja: 12 grudnia 2006, 08:51

Post autor: poldas »

Witam

A więc wygląda to tak:

Napisałem sobie skrypt, żeby nie klepać wszystkich poleceń za każdym razem...

Kod: Zaznacz cały

#!/bin/sh
clear
echo "Podaj nazwę użytkownika: "
read user
echo "Generowanie klucza prywatnego dla użytkownika: $user"
echo "Podaj hasło do klucza prywatnego"
openssl genrsa -des3 -out /etc/ssl/private/$user-key.pem 1024
#clear
echo "Generowanie żądanie wystawienia certyfikatu dla użytkownika $user"
echo "Podaj hasło do klucza prywatnego użytkownia: $user"
openssl req -new -key /etc/ssl/private/$user-key.pem -out /etc/ssl/req/$user-req.pem

#clear
echo "Wystawianie certyfikatu dla użytkownika $user"
echo "Podaj hasło do klucza prywatnego CA_ROOT"
cd /
openssl ca -notext -in /etc/ssl/req/$user-req.pem -out /etc/ssl/newcerts/$user-cert.pem
Wykonanie skryptu

Kod: Zaznacz cały

debian2:~# /etc/ssl/./certyfikat
Podaj nazwę użytkownika:
xxx
Generowanie klucza prywatnego dla użytkownika: xxx
Podaj hasło do klucza prywatnego
Generating RSA private key, 1024 bit long modulus
.............................++++++
.........................++++++
e is 65537 (0x10001)
Enter pass phrase for /etc/ssl/private/xxx-key.pem:
Verifying - Enter pass phrase for /etc/ssl/private/xxx-key.pem:
Generowanie żądanie wystawienia certyfikatu dla użytkownika xxx
Podaj hasło do klucza prywatnego użytkownia: xxx
Enter pass phrase for /etc/ssl/private/xxx-key.pem:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [PL]:
Locality Name (eg, city) []:xxx
Organization Name (eg, company) [xxx]:
Common Name (eg, YOUR name) []:xxx

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
Wystawianie certyfikatu dla użytkownika xxx
Podaj hasło do klucza prywatnego CA_ROOT
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./etc/ssl/private/cakey.pem:
Check that the request matches the signature
Signature ok
The mandatory stateOrProvinceName field was missing
Uprawnienia:

Kod: Zaznacz cały

-rwxrwxrwx 1 root root 3 2010-10-11 22:28 /etc/ssl/serial
-rwxrwxrwx 1 root root 0 2010-10-11 21:03 /etc/ssl/index.txt
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Tak jakbyś nie podał wartości w polu StateOrProvinceName. Z tego logu, który tu masz faktycznie tego brakuje (nie ma monitu o podanie). Zainteresuj się tym, czy nie masz przypadkiem dwóch configów - w /etc oraz:

Kod: Zaznacz cały

Using configuration from /usr/lib/ssl/openssl.cnf 
Może sięokazać, że generujesz klucz wg jednbego konfiga a wystawiasz certyfikat wg drugiego konfiga. Jeden nie wymaga tego pola a drugi możliwe że wymaga.
Ja mam niemalże identyczne skrypty generujące klucze dla użytkowników na potrzeby VPN'a i wszystko działa dobrze. Proszę o informacje, to może coś podeślę ;)
ODPOWIEDZ