FW: How to verify?
"Colestock, Robert" <[email protected]> Thu, 22 Mar 2001 09:56:39 -0500
| Newsgroups | gmane.ietf.sfl |
|---|---|
| Message-ID | <[email protected]> |
-----Original Message----- From: Colestock, Robert Sent: Wednesday, March 21, 2001 10:03 AM To: 'Erik Rissanen' Cc: '[email protected]'' Subject: RE: How to verify? Erik: There were some problems with NULL logins, depending on your release. The original intent was that the application would use the same logins (always present) for verification that are used for signing. Since our original design, our own uses of the library dictate that we many times generate a login only when we need it. You can use the CSM_CSInst with a private key for verification. As to the NULL logins, it should work fine in the newest version; for DSA verification it is now built-in, you no longer need to use the Free3 CTIL (assuming SHA1 and DSA). You do not have to link directly, the BuildArgs should be "sm_free3DLL NULL NULL NULL sm_FREE3" (it no longer needs a certificate). You should be able to copy the init logic from the sm_free3.cpp/h files to your release. Sorry about the confusion in our APIs, actual usage of the SFL library is very different from our original design intentions causing undue complexity. Some issues are being corrected (like the NULL login with no certificate, and the newest built-in instance for SHA1, SHA2, AES, and DSA verify). Bob Colestock VDA. -----Original Message----- From: Erik Rissanen [mailto:[email protected]] Sent: Wednesday, March 21, 2001 10:07 AM To: '[email protected]' Subject: SFL: How to verify? I am trying to use SFL to verify a signed SMIME message. The message has one signerinfo with a security label and nothing else. The signers PKC is included in the SignerInfo. I don't understand how to initialize the sm_free3 CTIL to use for verification. I have successfully used SFL and sm_free3 to sign messages. For signing I initialized a SM_Applogin with the sm_free3 DLL and a PKCS#12 file. The resulting CSM_CSInst is associated with the private key and signing works fine. But having each CSM_CSInst instance to represent a private key doesn't make sense for verify, since there is no associated private key for the opperation. So how do I initialize a CSM_CSInst instance in this case? I don't understand the API documentation on this point. The approach I have tried is to compile time link with the sm_free3 DLL and do: CSM_CSInst *pInst = pSMIME->m_pCSInsts->AppendL(); CSM_Free3 *pFree3 = new CSM_Free3(); pFree3->AddLogin(certBuffer, NULL, NULL, "NULL"); pInst->SetTokenInterface(pFree3); Where certBuffer contains the certificate from the SMIME message SignerInfo. This causes a crash in the destructor of a CSM_Buffer when CSM_DataToVerify::Verify returns, so I guess I am doing something wrong. Is the code above the correct approach? Any help would be greatly appreciated. Regards, Erik Rissanen