Wir haben eine SQL Server 2016-Datenbank mit Always Encrypted. Unsere kürzlich veröffentlichte ASP.net Website versucht, Daten aus dieser Datenbank zu ziehen, und wenn es nicht wir diesen Fehler:Wo platziert man das Always Encrypted Certificate auf einem IIS 7.5 Webserver?
Error: Failed to decrypt column 'EnSSd'. Failed to decrypt a column encryption key using key store provider: 'MSSQL_CERTIFICATE_STORE'. The last 10 bytes of the encrypted column encryption key are: 'B8-48-B3-62-90-0B-1D-A6-7D-80'. Certificate with thumbprint '97B0D3A64CADBE86FE23559AEE2783317655FD0F' not found in certificate store 'My' in certificate location 'CurrentUser'. Verify the certificate path in the column master key definition in the database is correct, and the certificate has been imported correctly into the certificate location/store. Parameter name: masterKeyPath
Jetzt wissen wir, dass dies bedeutet, dass das Zertifikat in den richtigen nicht gesetzt worden Speicherort auf dem Server. Während der Entwicklung haben wir das Zertifikat einfach in das Zertifikate-Snap-In unter dem persönlichen Zertifikatsspeicher gelegt, und das hat funktioniert, aber jetzt, seit die Seite veröffentlicht wurde, haben wir versucht, das gleiche auf dem Webserver zu tun, aber es funktioniert nicht (wir haben es uns vorgestellt) würde nicht).
Anonyme Authentifizierung ist auf der Website aktiviert und die anonyme Benutzeridentität ist IUSR. ASP.NET-Identitätswechsel ist deaktiviert.
Wo ist der richtige Ort für das Zertifikat?
UPDATE - wir haben es geschafft, indem wir das Application Pool Identity-Konto auf das Konto, das das Zertifikat erstellt hat, geändert haben. Es war auch das Konto, das beim Hinzufügen des Zertifikats zur Liste "Aktueller Benutzer - Persönlich" auf dem Webserver verwendet wurde. Wir würden dieses Konto lieber nicht nutzen, also noch einmal, wo ist der richtige Ort, um das Zertifikat zu platzieren?
Hey @RoastBeast, hast du das am Ende lösen, ich bin zu kämpfen, das selbst zum Laufen zu bringen. Ich bin aber auf IIS10 ... – AranDG