2017-10-27 100 views
5

Wykonuję Zawsze szyfrowanie w mojej aplikacji internetowej, która wstawia dane przez usługę WCF, która jest hostowana przez usługę okna. Dostaję następujący błąd podczas wstawiania danych do zaszyfrowanej kolumny. Nie można odszyfrować klucza szyfrowania kolumny za pomocą dostawcy klucza: "MSSQL_CERTIFICATE_STORE". Ostatnie 10 bajtów zaszyfrowanego klucza szyfrowania kolumny to: '64 -56-87-3B-EC-2E-11-9D-2A-B5 '. Certyfikat z odciskem palca "A0D10777759BBD947EEA6F3F5D1A7989514C45F0" nie znaleziono w magazynie certyfikatów "Mój" w lokalizacji certyfikatu "CurrentUser". Sprawdź, czy ścieżka certyfikatu w definicji klucza głównego kolumny w bazie danych jest poprawna, a certyfikat został poprawnie zaimportowany do lokalizacji/magazynu certyfikatu. Nazwa parametru: masterKeyPathZawsze szyfrowanie: Nie można odszyfrować klucza szyfrowania kolumny za pomocą dostawcy magazynu kluczy: 'MSSQL_CERTIFICATE_STORE'

+0

@Alpay co zrobiłeś błąd wiadomość zaproponował (sprawdzeniu, że zaświadczenie z przewidzianym odcisk palca występuje w przewidzianym sklepie)? – Evk

+0

@Evk Wyeksportowałem klucz od bieżącego użytkownika i zaimportowałem go do komputera lokalnego, aby iis mógł zobaczyć certyfikat, ale nie pomógł. Komunikat o błędzie mówi, że powinien być pod bieżącym użytkownikiem, ale już jest (studio zarządzania serwerem sql umieściło go tam domyślnie) i widzę odszyfrowane dane za pomocą serwera zarządzania serwerem sql – Alpay

Odpowiedz

2

Ok, dowiedziałem się o problemie. Przypadek był dokładnie taki: ustawiłem zawsze zaszyfrowane dla kolumny za pomocą SQL Server Management Studio, które rozpoczęło się na moje własne konto. Ponieważ uruchamiam proces SSMS z własnym kontem Windows, umieściłem certyfikat w katalogu Bieżący użytkownik/Mój katalog na moim koncie. Jednak pula aplikacji IIS działa z innym kontem, więc nie może znaleźć certyfikatu w katalogu CurrentUser/My mojego konta.

Uruchomiłem ponownie pulę aplikacji IIS z tym samym kontem, który uruchomił usługę SSMS i utworzył certyfikat, a problem zniknął.

Dzięki

+0

Witam, mógłbyś wyjaśnić, jak to zrobiłeś? Mam ten sam problem – tal

+0

@tal Proszę, zwróć uwagę na moje ostatnie zdanie. Przejdź do Menedżera usług IIS/pul aplikacji i wybierz pulę. W obszarze Ustawienia zaawansowane/Model procesu możesz zmienić użytkownika na osobę, która naprawdę "ma" certyfikat. – Alpay

+0

Czy ta zmiana nie ma wpływu na bezpieczeństwo? ponieważ używam uwierzytelniania systemu Windows .. – tal