Below is the code how i managed to get certificate and private key. I think i used the wrong method to get private key but this is the only way i could do it.
cert64 := CertificateMgt.GetCertAsBase64String(IsolatedCert);
if X509Certificate2.HasPrivateKey(cert64, password) then
privatekey := X509Certificate2.GetCertificatePrivateKey(cert64, password);
end
As per the error message, it seems I need to export the CSP blob and send it as base64 to the SignXmlText() procedure. The question is how (bc this not possible from AL) or is there any other method i can do it.