

Beim Upgrade der Secure Store Serviceanwendung muss die PassPhrase eingegeben werden, mit der in SharePoint 2010 der MasterKey generiert wurde. Was tun, wenn die PassPhrase nicht mehr bekannt ist?
Im Rahmen eines Upgrades von SharePoint 2010 nach SharePoint 2013 sind je nach Nutzung neben den Inhaltsdatenbanken auch Servicedatenbanken zu migrieren. Eine dieser Service Anwendungen ist der in SharePoint 2010 eingeführte Secure Store Service. Vor der Verwendung der Secure Store Serviceanwendung in SharePoint 2010 muss ein sog. Verschlüsselungsschlüssel (Master Key) generiert werden. Dazu muss der SharePoint Administrator eine PassPhrase eingeben (Es handelt sich hierbei nicht um die PassPhrase für die Farm, welche zum Hinzufügen und Entfernen von Servern in der Farm benötigt wird). Genau diese PassPhrase wird bei dem Upgrade auf SharePoint 2013 wieder benötigt! Aus der eingegebenen PassPhrase wird der Verschlüsselungsschlüssel generiert, welcher dazu verwendet wird, um damit die in der Secure Store Datenbank gespeicherten Anmeldeinformationen zu verschlüsseln. Der Verschlüsselungsschlüssel ist in der Farm gespeichert, kann aber nicht ausgelesen werden. Nur mit dem Verschlüsselungsschlüssel können die Anmeldedaten in der Secure Store Datenbank entschlüsselt und in Anwendungen, z.B. Externen Inhaltstypen, verwendet werden.
Beim Upgrade der Secure Store Serviceanwendung nach SharePoint 2013 ist eine neue Secure Store Dienstanwendung zu erstellen, welche auf die wiederhergestellte SP2010 Secure Store Dienstdatenbank referenzieren muss. Beim Öffnen der Dienstanwendung wird dann folgende Meldung angezeigt: Unable to obtain master key.
Die Meldung kommt, da in der SP2013 Farm noch kein passender Verschlüsselungsschlüssel gespeichert ist, d.h. die Daten in der aktualisierten Dienstdatenbank können nicht entschlüsselt werden. Der Verschlüsselungsschlüssel für SharePoint 2013 muss mittels Update-SPSecureStoreApplicationServerKey neu generiert werden, wozu allerdings die Passphrase, die damals in SharePoint 2010 eingegeben wurde, einzugeben ist. Die Ausführung von Update-SPSecureStoreApplicationServerKey mit ungültiger PassPhrase liefert folgenden Fehler: Exception of type ‘Microsoft.Office.SecureStoreService.Server.KeyManagement.InvalidMasterKeyException’ was thrown.
Was tun, wenn die PassPhrase nicht mehr bekannt ist?
Wie oben erwähnt sind die Daten in der Secure Store Servicedatenbank verschlüsselt. Können die Daten nicht entschlüsselt werden, so sind diese nutzlos, was aber – je nach Nutzung – einen erheblichen Einfluss auf Anwendungen hat, die den Secure Store Service verwenden.
Um das Problem zu lösen müssen wir vor dem Upgrade in der Secure Store Serviceanwendung in SharePoint 2010 einen neuen Verschlüsselungsschlüssel unter Eingabe einer neuen PassPhrase – die dann gut und sicher dokumentiert wird — generieren. SharePoint selber kennt den alten Verschlüsselungsschlüssel und kann daher die Anmeldedaten entschlüsseln und mit dem neuen Verschlüsselungsschlüssel, von dem wir die PassPhrase nun kennen, verschlüsseln. Fertig!
Zusammenfassung:
- In SP2010
- Generate New Key und PassPhrase dokumentieren
- Refresh Key
- In SP2013
- Dienstdatenbank wiederherstellen
- Dienstanwendung neu erstellen und auf Dienstdatenbank verweisen
- Update-SPSecureStoreApplicationServerKey ‑Passphrase “<PassPhrase>” ‑ServiceApplicationProxy $proxy ausführen à Secure Store Einträge werden angezeigt
- Refresh key

Joachim von Seydewitz
Solution Architect