Używam OpenSSL jako ośrodka certyfikacji X.509. Ponieważ wiele komputerów będzie musiało utworzyć certyfikaty, wyeksportowałem folder urzędu certyfikacji na rozproszonym systemie plików.
Kiedy testuję mój CA, wykonując setki jednoczesnych żądań podpisywania certyfikatów, czasami widzę dziwne błędy, takie jak
unable to rename ./index.txt.attr.new to ./index.txt.attr
reason: No such file or directory
Nie jestem pewien, czy jest to błąd OpenSSL lub problem z moim rozproszonym systemem plików, ale używanie plików tekstowych do przechowywania wszystkich danych certyfikatów wydaje się ogólnie złe dla równoczesnego dostępu, więc wolę przełączyć się na bardziej niezawodną architekturę niż debugować szczególny problem.
W idealnym przypadku chciałbym, aby urząd certyfikacji, który przechowuje swój stan w odpowiedniej bazie danych, a nie pliki tekstowe. Wygląda na to, że OpenSSL nie potrafi tego zrobić. Dokumentacja parametru bazy danych w http://www.openssl.org/docs/apps/ca.html#CONFIGURATION_FILE_OPTIONS mówi
the text database file to use. Mandatory. This file must be present though initially it will be empty.
Czy ktokolwiek mógłby polecić dobry urząd certyfikacji X.509 z otwartym kodem źródłowym dla systemu Linux?
I've exported the certificate authority folder on a distributed filesystem
- Uhm, co ?? Zazwyczaj zawiera klucz prywatny, który należy zachować prywatny . Nie rób tego. W każdym razie po co są klucze? Jakimi systemami operacyjnymi są wszystkie maszyny? Jeśli jest to sieć * nix, spojrzałbym na jeden z modułów lalek.Odpowiedzi:
Polecam OpenCA PKI . Dawno temu dobrze się rozejrzałem za tego typu rzeczami i to jedyna rzecz, która pasuje do rachunku. Nie byłem rygorystyczny, ale oprogramowanie wydaje się dobre; dokumentacja jest jednak bardzo brakuje. Ten plik PDF powinien pomóc Ci wstać i uruchomić. Oni też mają Odpowiadający OCSP możesz użyć (czego jeszcze nie próbowałem).
Testowałem to oprogramowanie jakiś czas temu, ale jeszcze nie wprowadziłem go do produkcji. Możesz uruchomić PostgreSQL lub MySQL i wierzę, że używałbym go z MySQL (moje preferencje), ale absolutnie nie pamiętam. Przestałem go używać, ponieważ byłem rozproszony innymi projektami, nie dlatego, że oprogramowanie nie działało.
Pamiętam, że byłem bardzo pod wrażeniem OpenCA. (Dla porządku, w ogóle nie jestem związany z projektem.)
źródło