Como criar um X509Certificate2 mínimo fictício?

Estou testando unitariamente um aplicativo .NET; alguns dos testes de unidade envolvem a geração de programação de objetos X509Certificate

Eu não ligo para coisas reais de assinatura / chave privada / validação, gostaria apenas de ter um objeto que não gere exceções quando seus campos são examinados. Tentei usar o construtor sem parâmetros, mas vários campos lançam exceções quando acessados. Como visto no depurador:

SubjectName = '(novo System.Collections.Generic.Mscorlib_CollectionDebugView (result.Certificates)). Items [0] .SubjectName' lançou uma exceção do tipo 'System.Security.Cryptography.CryptographicException'

ambém tentei passar uma matriz de bytes com alguns números aleatórios, mas isso nem foi construído (a matriz precisa ter um tamanho específico

Então, pergunta: qual é a maneira mais simples (menos linhas de código) de gerar programaticamente um objeto X509Certificate2 que não gera exceções nos acessos a campos / propriedades?

questionAnswers(4)

yourAnswerToTheQuestion