2017-10-27 68 views
5

Tôi đang thực hiện Luôn mã hóa trong ứng dụng web của mình, Dữ liệu nào được chèn bởi dịch vụ WCF được lưu trữ bởi dịch vụ cửa sổ. Tôi nhận được lỗi sau khi chèn dữ liệu vào cột được mã hóa. Không thể giải mã khóa mã hóa cột bằng cách sử dụng nhà cung cấp lưu trữ khóa: 'MSSQL_CERTIFICATE_STORE'. 10 byte cuối cùng của khóa mã hóa cột được mã hóa là: '64 -56-87-3B-EC-2E-11-9D-2A-B5 '. Chứng chỉ có vân tay 'A0D10777759BBD947EEA6F3F5D1A7989514C45F0' không được tìm thấy trong kho chứng chỉ 'My' ở vị trí chứng chỉ 'CurrentUser'. Xác minh đường dẫn chứng chỉ trong định nghĩa khóa chính của cột trong cơ sở dữ liệu là chính xác và chứng chỉ đã được nhập chính xác vào vị trí/cửa hàng chứng chỉ. Tên thông số: masterKeyPathLuôn mã hóa: Không thể giải mã khóa mã hóa cột bằng cách sử dụng nhà cung cấp lưu trữ khóa: 'MSSQL_CERTIFICATE_STORE'

+0

@Alpay bạn đã làm gì thông báo lỗi đề nghị (xác minh rằng chứng chỉ bằng vân tay được cung cấp có mặt ở cửa hàng cung cấp)? – Evk

+0

@Evk Tôi đã xuất khóa từ người dùng hiện tại và nhập nó vào máy cục bộ để iis có thể xem chứng chỉ nhưng nó không giúp được gì. Thông báo lỗi nói rằng nó nên được theo người dùng hiện tại nhưng nó đã có (sql máy chủ quản lý phòng thu đặt nó ở đó theo mặc định) và tôi có thể xem dữ liệu được giải mã bằng cách sử dụng sql server studio quản lý – Alpay

Trả lời

2

Ok, tôi đã phát hiện ra sự cố. Trường hợp này chính xác như sau: Tôi đặt luôn mã hóa cho một cột bằng cách sử dụng SQL Server Management Studio bắt đầu bằng tài khoản của riêng tôi. Bởi vì tôi chạy quá trình SSMS với tài khoản Windows của riêng tôi, nó đã đặt chứng chỉ bên trong thư mục Người dùng hiện tại/MY của tài khoản của tôi. Tuy nhiên, nhóm ứng dụng IIS đang chạy với một tài khoản khác, vì vậy nó không thể tìm thấy chứng chỉ trong thư mục CurrentUser/My của tài khoản của tôi.

Tôi khởi động lại nhóm ứng dụng IIS với cùng một tài khoản đã bắt đầu SSMS và tạo chứng chỉ và sự cố đã biến mất.

Cảm ơn

+0

Xin chào, bạn có thể giải thích cách bạn đã làm nó? tôi có cùng một vấn đề – tal

+0

@tal Hãy chú ý đến câu cuối cùng của tôi. Đi tới trình quản lý IIS/Hồ bơi ứng dụng và chọn hồ bơi của bạn. Trong Cài đặt nâng cao/Mô hình xử lý, bạn có thể thay đổi người dùng thành người thực sự 'có' chứng chỉ. – Alpay

+0

Không có sự cố bảo mật nào với thay đổi này? vì tôi sử dụng với xác thực cửa sổ .. – tal

Các vấn đề liên quan