W Dostęp do pęku kluczy w systemie OS X, znajdź pasujące klucze publiczne i prywatne

14

Mam kilka kluczy, które wydają się być generowane pod tymi samymi nazwami. Chciałbym wiedzieć, który klucz publiczny pasuje do których kluczy prywatnych, aby móc zmienić ich nazwę / usunąć. Czy jest to coś ważnego (utrzymywanie klucza publicznego), czy też klucz publiczny jest generowany za każdym razem, gdy żądasz certyfikatu?

ACBurk
źródło
Czy udało ci się znaleźć na to rozwiązanie? Mam ten sam problem i nie mogę znaleźć odpowiedzi.
Axeva
Nie, nie mam. Najlepszym rozwiązaniem, jakie znalazłem, jest niestety nadanie im bardziej unikalnej nazwy.
ACBurk
Tak, to nie jest zbyt pomocne PO, gdy już popełniliśmy błąd, nie nazywając ich poprawnie. ;) Widziałem pomruki sugerujące, że narzędzie wiersza poleceń OpenSSL może pomóc, ale jeszcze nie wiem, jak to zrobić.
Axeva

Odpowiedzi:

12

Wydaje mi się, że udało ci się obejść problem, ponieważ jest to stary wątek, ale piszę odpowiedź na wszelkie przyszłe odniesienia.

Podstawową ideą jest wyeksportowanie kluczy prywatnych i publicznych i użycie openssl do wyświetlenia ich modułu. Dopasowane klucze prywatne / publiczne będą miały ten sam moduł.

Oto jak zobaczyć moduł klucza prywatnego:

  1. W Keychain Access wyeksportuj swój klucz prywatny i wybierz format pliku „Wymiana informacji osobistych (.p12)”. Spowoduje to utworzenie pliku .p12.

  2. Uruchom terminal i użyj openssl do konwersji pliku .p12 do pliku .pem:

    openssl pkcs12 -in key.p12 -out key.pem -nodes
    
  3. Użyj openssl, aby wyświetlić moduł klucza prywatnego pem:

    openssl rsa -in key.pem -modulus -noout
    

Oto jak zobaczyć moduł klucza publicznego:

  1. W Keychain Access wyeksportuj swój klucz publiczny i wybierz format pliku „Privacy Enhanced Mail (.pem)”. Spowoduje to utworzenie pliku .pem.

  2. Ten plik .pem jest plikiem PEM PKCS # 1 (z nagłówkiem -----BEGIN RSA PUBLIC KEY-----), podczas gdy openssl może czytać tylko PEM PKCS # 8 (z nagłówkiem -----BEGIN PUBLIC KEY-----). Więc otwórz eksportowany klucz publiczny w TextEdit i usuń RSAbit z nagłówka i stopki, i zapisz zmiany.

  3. Użyj openssl, aby wyświetlić moduł klucza publicznego pem:

    openssl rsa -pubin -in pubkey.pem -modulus -noout
    

Pamiętaj również, że w rzeczywistości możesz również usunąć swoje klucze publiczne i ponownie je utworzyć z kluczy prywatnych (w ten sposób możesz być pewien swoich pasujących par). Aby utworzyć pasujący klucz publiczny z klucza prywatnego, użyj następującego polecenia openssl:

openssl rsa -in key.pem -pubout -out pubkey.pem
quentinadam
źródło
1
Dzięki, stare pytanie, ale wydaje się, że zawsze stanowi problem, więc miło jest w końcu mieć dobre rozwiązanie.
ACBurk
1
Genialne, właśnie tego szukałem. Dzięki za dobry opis.
Baza207
Właśnie prawie zadałem to pytanie na SuperUser, ale miałem szczęście odkryć tę odpowiedź, która została już udzielona .. +1 dookoła.
Tom Pace,