Nie można zaimportować klucza publicznego do pęku kluczy OSX

22

Utworzyłem kilka samopodpisanych certyfikatów S / MIME (używając pęku kluczy OSX i OpenSSL), a następnie wyeksportowałem je do 3 plików:

  • Certyfikat (.cer)
  • Klucz prywatny (.p12)
  • Klucz publiczny (.pem)

Podczas próby zaimportowania ich z powrotem na inny komputer Mac certyfikat i klucz prywatny są importowane bez żadnych problemów. Ale klucza publicznego nie można zaimportować.

Zamiast tego pojawia się następujący komunikat o błędzie:

Wystąpił błąd. Nie można zaimportować elementu.

Nie można odzyskać zawartości tego czasu

Zrzut ekranu błędu pęku kluczy OSX podczas importowania klucza publicznego

Jak mogę zaimportować klucz publiczny? Czy należy go przekonwertować na inny format do importu?

Prembo
źródło
dlaczego chcesz zaimportować klucz publiczny? Jest to klucz prywatny, który musisz zaimportować. Klucz publiczny pozostawia się na serwerze, klucz prywatny jest eksportowany do klienta i to wszystko.
MariusMatutiae
Wystarczająco uczciwe - więc nie ma możliwości ręcznego importowania klucza publicznego za pomocą pęku kluczy (np. Jeśli ktoś dostarczył ci swój klucz publiczny jako plik, a nie wysłał Ci e-maila)?
Prembo
1
Możesz użyć scp, aby skopiować wszystkie pliki z jednego do drugiego, w okresie, w którym dozwolone jest połączenie hasłem. Następnie, gdy masz wszystkie klucze, możesz wyłączyć logowanie hasłem.
MariusMatutiae

Odpowiedzi:

31

Jest to błąd w OSX. Możesz zaimportować z wiersza poleceń zgodnie z następującą odpowiedzią:

/programming//a/11979625/59198

Polecenie to:

security import pub_key.pem -k ~/Library/Keychains/login.keychain

Następnie musisz zmienić nazwę klucza w keychain.app

Chris
źródło
Gdzie to importuje? Nadal nie mogę znaleźć tego w pęku kluczy.
huggie
@huggie Ładuje to z naprawdę ogólną nazwą w pęku kluczy, być może czymś w rodzaju „klucza publicznego”, poszukaj tam czegoś nowego.
Chris
1

Certyfikat faktycznie zawiera kopię klucza publicznego (wraz z nazwą i podpisem urzędu certyfikacji informującym, że ta nazwa i ten klucz publiczny pasują do siebie). Zwykle nie musisz traktować klucza publicznego jako osobnego elementu, jeśli używasz systemu opartego na certyfikatach, takiego jak SMIME. Jeśli chcesz, możesz wyodrębnić kopię klucza publicznego z certyfikatu za pomocą x509polecenia openssl .

(Zastanawiam się, czy Keychain odmawia zaimportowania klucza publicznego, ponieważ uważa, że ​​ma już kopię w certyfikacie? Komunikaty o błędach pęku kluczy są zazwyczaj dość niejasne).

Wim Lewis
źródło
1

Plik .p12 może zawierać parę kluczy. Zostaniesz poproszony o podanie hasła, jeśli zawiera ono Twój klucz prywatny. Brelok pokaże klucz prywatny w zagnieżdżony sposób. Prawidłowo zaimportowany powinien pojawić się w „Moich certyfikatach”.

bbaassssiiee
źródło