Локальному кластеру Service Fabric не удается получить закрытые ключи сертификатов - PullRequest
0 голосов
/ 23 января 2019

Для каждого приложения Service Fabric, которое я пытаюсь запустить и которое использует один или несколько экземпляров SecretsCertificate, приложение не запускается в моем локальном кластере Service Fabric со следующей ошибкой на узле> Приложение в SF Explorer:

  • Error event: SourceId='System.Hosting', Property='Activation:1.0'. There was an error during activation.Failed to configure certificate permissions. Error E_FAIL.

Service Fabric также регистрирует несколько соответствующих элементов в средстве просмотра событий> Журналы приложений и служб> Microsoft-Service Fabric> Раздел администратора:

  • CryptAcquireCertificatePrivateKey failed. Error:0x8009200b
  • Can't get private key filename for certificate. Error: 0x8009200b
  • All tries to get private key filename failed.
  • Failed to get the Certificate's private key.
  • Thumbprint:4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC. Error: E_FAIL
  • Failed to get private key file. x509FindValue: 4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC, x509StoreName: My, findType: FindByThumbprint, Error E_FAIL
  • ACLing private key filename for thumbprint 4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC. ErrorCode=E_FAIL
  • ConfigureCertificateACLs: error=E_FAIL

Я удалил и переустановил сертификат (который подтвержден для работы в локальной Service Fabric нескольких других разработчиковсреды разработки кластера) и установите для закрытого ключа явные права полного доступа для пользователя NETWORK SERVICE на моем компьютере, что не помогло.

Я следовал инструкциям в этот ответ который фактически распечатываетПравильно сожрал ключевые детали, несмотря на то, что локальный кластер SF не смог получить к нему доступ.

Я переустановил Microsoft Service Fabric SDK и Microsoft Visual Studio 2017, которые также не решили эту проблему.

ВсеПопытки воссоздать эту ошибку в C # и PowerShell оказались бесплодными, однако служба Service Fabric, по-видимому, не может получить доступ к закрытым ключам из моего хранилища сертификатов.

Редактировать: дальнейший прогресс, нет решения.

Я могу успешно расшифровать данные с помощью командлета PowerShell Invoke-ServiceFabricDecryptText, но локальный кластер SF по-прежнему имеет ту же ошибку.

Я определил, что файл, указанный вметаданные сертификата (из ранее упомянутого ответа SO ) PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName не существует на моем диске по пути C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys\ или любым соседним путям.Кто-нибудь видел это раньше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...