title: Why do multiple calls to X509Certificate2.Export(Pkcs12) return different results?
body: <p>Here is a test:</p>
  
  <pre><code>var decoded = Convert.FromBase64String(certificateBase64Encoded);
  var certificate = new X509Certificate2(decoded, (string)null, X509KeyStorageFlags.Exportable);
  
  var x = Convert.ToBase64String(certificate.Export(X509ContentType.Pkcs12));
  var y = Convert.ToBase64String(certificate.Export(X509ContentType.Pkcs12));
  
  Console.WriteLine(x == y);
  </code></pre>
  
  <p>When called using <code>X509ContentType.Cert</code>, the value is always the same, and so the console prints 'True'. But when using the Pkcs12 option, the value is always quite different. Why is that, and is there a way to make them the same?</p>