{"action":"created","issue":{"url":"https://api.github.com/repos/jstedfast/MimeKit/issues/445","repository_url":"https://api.github.com/repos/jstedfast/MimeKit","labels_url":"https://api.github.com/repos/jstedfast/MimeKit/issues/445/labels{/name}","comments_url":"https://api.github.com/repos/jstedfast/MimeKit/issues/445/comments","events_url":"https://api.github.com/repos/jstedfast/MimeKit/issues/445/events","html_url":"https://github.com/jstedfast/MimeKit/issues/445","id":376295608,"node_id":"MDU6SXNzdWUzNzYyOTU2MDg=","number":445,"title":"Support for retrieving certificates from Azure KeyVault","user":{"login":"Eneuman","id":12099277,"node_id":"MDQ6VXNlcjEyMDk5Mjc3","avatar_url":"https://avatars3.githubusercontent.com/u/12099277?v=4","gravatar_id":"","url":"https://api.github.com/users/Eneuman","html_url":"https://github.com/Eneuman","followers_url":"https://api.github.com/users/Eneuman/followers","following_url":"https://api.github.com/users/Eneuman/following{/other_user}","gists_url":"https://api.github.com/users/Eneuman/gists{/gist_id}","starred_url":"https://api.github.com/users/Eneuman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Eneuman/subscriptions","organizations_url":"https://api.github.com/users/Eneuman/orgs","repos_url":"https://api.github.com/users/Eneuman/repos","events_url":"https://api.github.com/users/Eneuman/events{/privacy}","received_events_url":"https://api.github.com/users/Eneuman/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-11-01T08:16:15Z","updated_at":"2018-11-01T14:30:43Z","closed_at":"2018-11-01T14:30:43Z","author_association":"NONE","body":"Today the CmsSigner constructor supports 3 different ways to supply a certificate.\r\nUnfortunately none of them are very easy to use when the certificate is stored in Azure KeyVault.\r\n\r\nIt would be great if the constructor could accept a \"IKeyStoreProvider\" as parameter, a \"CertificateName\" and a password. The \"KeyStoreProvider\" is a interface that the user have to impliment.\r\n\r\nIt could look like this:\r\n```\r\npublic class MyAzureKeyVaultProvider : IKeyStoreProvider{\r\n.... my implimentation\r\n}\r\n\r\n var signer = new CmsSigner(MyAzureKeyVaultProvider, \"MyPersonalCertificateName\", \"MyCertificatePassword\");\r\n```\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/jstedfast/MimeKit/issues/comments/435058419","html_url":"https://github.com/jstedfast/MimeKit/issues/445#issuecomment-435058419","issue_url":"https://api.github.com/repos/jstedfast/MimeKit/issues/445","id":435058419,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNTA1ODQxOQ==","user":{"login":"jstedfast","id":338984,"node_id":"MDQ6VXNlcjMzODk4NA==","avatar_url":"https://avatars2.githubusercontent.com/u/338984?v=4","gravatar_id":"","url":"https://api.github.com/users/jstedfast","html_url":"https://github.com/jstedfast","followers_url":"https://api.github.com/users/jstedfast/followers","following_url":"https://api.github.com/users/jstedfast/following{/other_user}","gists_url":"https://api.github.com/users/jstedfast/gists{/gist_id}","starred_url":"https://api.github.com/users/jstedfast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jstedfast/subscriptions","organizations_url":"https://api.github.com/users/jstedfast/orgs","repos_url":"https://api.github.com/users/jstedfast/repos","events_url":"https://api.github.com/users/jstedfast/events{/privacy}","received_events_url":"https://api.github.com/users/jstedfast/received_events","type":"User","site_admin":false},"created_at":"2018-11-01T14:30:43Z","updated_at":"2018-11-01T14:30:43Z","author_association":"OWNER","body":"It seems to me that it would be easier to just create a custom CmsSigner factory that would take your MyAzureKeyVaultProvider, a certificateName and a password.\r\n"}}
{"actor":{"display_login":"jstedfast"}}