Hello Mailinglist,

I want to create a file reader/writer in XML. To avoid unseen changes on the 
file I want to sign it. My idea was to create a RSA key pair and put it 
hardcoded into my file reader/writer. With the private RSA key I will sign the 
file while writing to HD and the reader will use the public key to look if 
someone changes the file.

1. How can I read RSA keys from the RAM? Beside xmlSecCryptoAppKeyLoad() I have 
found no function to do that.

2. How to create a pair of RSA keys?
// Here is my first try. It seems that the key is correctly created.
// Now I need a possibility to write it to HD. How to do it?
void XmlSecSigning::CreateRsaKey(int KeyBitLength) { // KeyBitLength is always 
2048
        const unsigned char *cKeyName=BAD_CAST"rsa";

        InitXmlSec(); // Methods from sign1.c example
        xmlSecKey *oKey = xmlSecKeyGenerateByName(cKeyName, KeyBitLength, 0);
        // oKey is !=0, so it works.

        //FILE *oFile;
        //oFile=fopen("D:\\KeyFile.txt", "w"); 
        //fprintf(oFile, PubKeyHex.c_str());
        //xmlSecKeyDebugDump(oKey, oFile);
        
        // This lines will result in:
        //== KEY
   //=== method: RSAKeyValue
   //=== key type: Private
   //=== key usage: -1
   //=== rsa key: size = 2048
}
 
3. What should I put into the last param of xmlSecKeyGenerateByName()?
If I search for this function in the Internet, some people put here 8 or 12 on 
DES keys for example.



Regards

Martin

PS: In the sign1.c examle is a BAD_CAST missing: In function sign_file()
> if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { // Param key_file 
> needs a BAD_CAST.
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
_______________________________________________
xmlsec mailing list
[email protected]
http://www.aleksey.com/mailman/listinfo/xmlsec

Reply via email to