2011-07-14 13 views
5

Próbuję utworzyć punkt końcowy https dla mojej usługi azure. Dostałem plik p7b, który przekonwertowałem na plik cer. Od cer udało mi się przekonwertować z kilkoma liniami C# do pfx.Azure https z plikiem pfx

var cert = new X509Certificate2(@"certpath", " 
var bytes = cert.Export(X509ContentType.Pfx, "password"); 
File.WriteAllBytes(@"certpath\cert.pfx", bytes); 

Teraz kiedy przesłać cert do Azure wszystko wydaje się w porządku, mogę skopiować odcisk palca i próby uaktualnienia z nowym odciskiem palca jako część punktu końcowego i pojawia się błąd w błękicie.

Certyfikat z odcisku palca 3FA490D1D4957942CD2ED545F6E823D0008796EA2 związanego z wejściem HTTPS końcowego „endpointName” nie zawiera klucza prywatnego.

Odpowiedz

6

Jak przekonwertowałeś plik .p7b na .cer? Problem polega na tym, że pliki cer nie zawierają informacji o kluczach prywatnych, więc gdy wyeksportowałeś je jako plik pfx, nie ma on informacji, które musi obsługiwać z SSL.

Najprostszym sposobem na przekonwertowanie pliku PFX jest prawdopodobnie zaimportowanie certyfikatu na komputer lokalny (przy użyciu pliku certmgr.msc), a następnie wyeksportowanie go, upewniając się, że wybrano opcję "Tak, wyeksportuj klucz prywatny".


EDIT: Po zrobieniu kilka badań po komentarzu Gregs”, problem jest wciąż ten sam, jesteś pfx nie posiada klucz prywatny potrzebuje do pracy z SSL, ale przyczyna jest w rzeczywistości, że plik .p7b nie ma klucza prywatnego. Musisz użyć innego certyfikatu. Istnieje już question related to this on server fault.

+1

.p7b również nie zawierają kluczy prywatnych. –

+0

Po dalszych badaniach masz rację. Nie pracowałem wcześniej z tymi konkretnymi plikami, więc założyłem, że zaginęło w tłumaczeniu z .cef na .pfx. Będę edytować, aby wyjaśnić. – knightpfhor

2

Miałem ten sam problem podczas próby wygenerowania .pfx dla Azure. Certyfikat p7b został wygenerowany przez Thawte. Po pewnych badaniach udało mi się sprawić, by działało.

  1. Wygeneruj CSR (żądanie certyfikatu) z IIS. To może być twój lokalny IIS. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO9171

  2. Wygeneruj certyfikat na podstawie CSR. CA zajmuje się tym. Jeśli generujesz samopodpisany certyfikat, możesz to zrobić również z ISS. Jest to ważne, ponieważ podczas importowania (krok 3) IIS zweryfikuje, czy certyfikat został tam wygenerowany.

  3. Zaimportuj certyfikat do lokalnego IIS. Musi to być plik .cer. Po prostu otwórz plik p7b, a zobaczysz tam łańcuch certyfikatów. Wyeksportuj certyfikat domeny do pliku .cer. Następnie możesz go użyć do zaimportowania go do IIS. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO10664

  4. Wyeksportuj certyfikat do pliku .pfx z IIS. W tym momencie certyfikat zawiera odpowiedni klucz prywatny dodany przez IIS. Podczas eksportowania program IIS poprosi o podanie hasła. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO10034

1

Uzyskiwanie pliku pfx z certyfikatu SSL z GoDaddy. Szczegóły here w przypadku, gdy pomaga. Pliki