Tuzoは正しいです-証明書はLocalMachineにあるはずですが、それだけでは十分ではありません。このSO投稿を参照してください。基本的に、OSファミリ2では、WaWorkerHostは、役割の初期化プロセスによって生成された一時的なアカウント(GUID名)で実行されます。このアカウントには、証明書の秘密鍵にアクセスする権限があります。OSファミリ3では、WaWorkerHostは「NETWORKSERVICE」アカウントで実行されています。このアカウントには秘密鍵のアクセス許可がありません。
今のところ最善のオプション(次のSDKで問題に対処するMS Azureチーム)は、昇格された特権でロールを実行することです-ServiceDefinition.csdefを編集します。
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="blah" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
<WorkerRole name="blah" vmsize="Small">
<Runtime executionContext="elevated" />
...
</WorkerRole>
</ServiceDefinition>