var key = x509Certificate2.PrivateKey;
var attributes = new List<ObjectAttribute>();
// What to do here? How to fill in the key into those attributes?
pkcs11Session.CreateObject(attributes);
var certificate = new X509Certificate2(@"self-signed.pfx", "password", X509KeyStorageFlags.Exportable);
var rsaPrivateKey = certificate.GetRSAPrivateKey();
var parameters = rsaPrivateKey.ExportParameters(true);