@david.weldon,
Aspose.Pdf API does not support the creation of signature objects (PKCS1, PKCS7, etc) with passing X509Certificate2 and only applies to input parameter PFX files. You may try to convert X509Certificate2 object into PFX object with following code snippet:
[C#]
var cert = new X509Certificate2(Request.GetClientCertificate());
byte[] data = cert.Export(X509ContentType.Pfx, "password");
File.WriteAllBytes("MyCerts.pfx", data);
In order to sign a PDF document using a certificate with non-exportable private key, we have logged an enhancement under the ticket PDFNET-37412 in our issue tracking system. We have linked your post to this ticket and will keep you informed regarding any available updates.
Best Regards,
Imran Rafique