0

PKCS11 ライブラリを使用して xml ファイルに署名しようとしていますが、署名しようとするとエラーが発生します。これが私のコードで、例外行を指摘しました。ComputeSignature メソッドが例外を返し、混乱しています。

...
                ObjectHandle publicKey = null;
                ObjectHandle privateKey = null;

                List<ObjectAttribute> publicKeyAttributes = new List<ObjectAttribute>();
                publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_TOKEN, true));
                publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_LABEL, "label"));
                session.FindObjectsInit(publicKeyAttributes);
                List<ObjectHandle> oObjCollection = session.FindObjects(1);

                List<ObjectHandle> foundPublicKeys = session.FindAllObjects(publicKeyAttributes);

                List<ObjectAttribute> objectAttributess = session.GetAttributeValue(foundPublicKeys[0], new List<CKA>() { CKA.CKA_ID, CKA.CKA_LABEL, CKA.CKA_VALUE });
                byte[] ckaIdd = objectAttributess[0].GetValueAsByteArray();
                string ckaLabel = objectAttributess[1].GetValueAsString();
                byte[] ckaValue = objectAttributess[2].GetValueAsByteArray();
                var _rawData = ckaValue ?? throw new ArgumentNullException(nameof(ckaValue));
                var _parsedCertificate = new X509Certificate2(_rawData);

                Cer c = new Cer();

                var Key = c.GetRSAPublicKey(_parsedCertificate);

                XmlDocument doc = new XmlDocument();
                doc.Load(@"C:\Users\MyUser\Desktop\SampleFile.xml");

                SignedXml signedXml = new SignedXml(doc);

                signedXml.SigningKey = Key;

                Reference reference = new Reference();
                reference.Uri = "";

                XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform();
                reference.AddTransform(env);

                signedXml.AddReference(reference);

                signedXml.ComputeSignature(); // Error occurs in this line

}} 

signedXml.ComputeSignature() メソッドが発生する System.NotSupportedException

HSM デバイスから取得したキーを使用して xml ファイルに署名するにはどうすればよいですか?

4

0 に答える 0