Hello,

I tried to fix the situation :)
so i attach 2 files - simpleRSASign.cpp and simpleRSAValidate.cpp
and 2 projects simpleRSASign.vcproj and simpleRSAValidate.vcproj and
makefile.in for unix platform
cpp files must be in xml-security-root\src\samples
and visual c project files must be in
xml-security-root\Projects\Samples\simpleRSASign
for simpleRSASign.vcproj  and
xml-security-root\Projects\Samples\simpleRSAValidate
for simpleRSAValidate.vcproj.
makefile.in must be also in xml-security-root\src\samples
where xml-security-root is directory where xml-security package is
installed.

This is a example how to sign document from memory with RSA keys
and to validate signed document.
If this is not for distribution, at least can help to someone like me
who looking about code for this.

regards,
decho

----- Original Message -----
From: "Berin Lautenbach" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, May 23, 2004 12:39 AM
Subject: Re: XML Signature


> Decho,
>
> We probably do need to put some sample code in place for this.  However
> have a look in templatesign.cpp, that has some code in place for loading
> RSA/DSA keys and using them to sign.
>
> Cheers,
> Berin
>
>
> Nedelcho Stanev wrote:
>
> > Hello all,
> >
> > where i can find example for signature with priv/pub keys?
> > in distribution ( xml-security-c-1.1.0 ) there are example
> > for validating of signature with certificate but example
> > for signing is with hmac keys.
> > there are classes for this but if there are some example
> > this will spend time :)
> >
> > decho
>
/*
 * Copyright 2002-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * imitations under the License.
 */

/*
 * XSEC
 *
 * simpleRSAValidate := An application to validate an in-memory RSA signature
 *
 * Author(s): Nedelcho Stanev <[EMAIL PROTECTED]>
 *
 * $ID$
 *
 * $LOG$
 *
 */

#include "IOStreamOutputter.hpp"

// XML-Security-C (XSEC)

#include <xsec/framework/XSECProvider.hpp>
#include <xsec/framework/XSECException.hpp>
#include <xsec/dsig/DSIGReference.hpp>
#include <xsec/enc/OpenSSL/OpenSSLCryptoKeyHMAC.hpp>
#include <xsec/enc/OpenSSL/OpenSSLCryptoX509.hpp>
#include <xsec/enc/XSECCryptoException.hpp>


// Xerces

#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/parsers/XercesDOMParser.hpp>
#include <xercesc/framework/MemBufInputSource.hpp>

XERCES_CPP_NAMESPACE_USE

#ifndef XSEC_NO_XALAN

// Xalan

#include <xalanc/XalanTransformer/XalanTransformer.hpp>
XALAN_USING_XALAN(XalanTransformer)

#endif

char docToValidate [4096] = "\
<Letter>\n\
<ToAddress>The address of the Recipient</ToAddress>\n\
<FromAddress>The address of the Sender</FromAddress>\n\
<Text>\n\
To whom it may concern\n\
\n\
...\n\
</Text>\n\
<ds:Signature xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\";>\n\
<ds:SignedInfo>\n\
<ds:CanonicalizationMethod 
Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"/>\n\
<ds:SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>\n\
<ds:Reference URI=\"\">\n\
<ds:Transforms>\n\
<ds:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>\n\
</ds:Transforms>\n\
<ds:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>\n\
<ds:DigestValue>askxS/A3BaLCjFjZ/ttU9c12kA4=</ds:DigestValue>\n\
</ds:Reference>\n\
</ds:SignedInfo>\n\
<ds:SignatureValue>Nrl0KwXyPKaqHuOWlJf7cB4tOFGPSKJOULcua0WW6OmjABuUT5LfySUDVRVusSxT\n\
InZBQAQGXlOj4ndE7wU5pl+UxWpSnuY5/BSkrqbbjut6m2jQ9SmLIbU39VEz+I2E\n\
IjJY9p2mrI9W5Z+ic0N7wXlt4JJSSytH3v3q8RgDJnk=\n\
</ds:SignatureValue>\n\
</ds:Signature>\n\
</Letter>\n";

char cert[] = "\n\
MIIC7jCCAq6gAwIBAgICEAMwCQYHKoZIzjgEAzB5MQswCQYDVQQGEwJBVTEMMAoG\n\
A1UECBMDVmljMRIwEAYDVQQHEwlNZWxib3VybmUxHzAdBgNVBAoTFlhNTC1TZWN1\n\
cml0eS1DIFByb2plY3QxEDAOBgNVBAsTB1hTRUMtQ0ExFTATBgNVBAMTDFhTRUMt\n\
Q0EgUm9vdDAeFw0wMjEyMTIxMDEzMTlaFw0xMjEyMDkxMDEzMTlaMFYxCzAJBgNV\n\
BAYTAkFVMQwwCgYDVQQIEwNWaWMxHzAdBgNVBAoTFlhNTC1TZWN1cml0eS1DIFBy\n\
b2plY3QxGDAWBgNVBAMTD1JTQSBTYW1wbGUgQ2VydDCBnzANBgkqhkiG9w0BAQEF\n\
AAOBjQAwgYkCgYEA0I96ZLWXJAM8LIUZ37y4c93WjVOsaQM6B6N6own7cQ8B9Ucp\n\
zwOXsnCVZFfJsB9gtTxZLaY7UE2dgrz47iplFecxL5mM7iKOklmGlWTfzyY87BGT\n\
GlQPlPBoX19WBf67Lhc1wovK+hVXdyzf/6VxxMKAxnSVHZaXVRLl9YhSpTUCAwEA\n\
AaOCAQEwgf4wCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5l\n\
cmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFGq6U1SwYNRyTJGAwARirEdavfXB\n\
MIGjBgNVHSMEgZswgZiAFBKNX9CsAIsjUIFmVq4wE4wlOGC5oX2kezB5MQswCQYD\n\
VQQGEwJBVTEMMAoGA1UECBMDVmljMRIwEAYDVQQHEwlNZWxib3VybmUxHzAdBgNV\n\
BAoTFlhNTC1TZWN1cml0eS1DIFByb2plY3QxEDAOBgNVBAsTB1hTRUMtQ0ExFTAT\n\
BgNVBAMTDFhTRUMtQ0EgUm9vdIIBADAJBgcqhkjOOAQDAy8AMCwCFGoKhVPnDeg9\n\
nbEFo2KDDlG/NiUqAhRJxQPLXDhehQjn6eqQWOUlkFtA9A==";

int main (int argc, char **argv) {

        try {
                XMLPlatformUtils::Initialize();
#ifndef XSEC_NO_XALAN
                XalanTransformer::initialize();
#endif
                XSECPlatformUtils::Initialise();
        }
        catch (const XMLException &e) {

                cerr << "Error during initialisation of Xerces" << endl;
                cerr << "Error Message = : "
                     << e.getMessage() << endl;

        }

        // Use xerces to parse the document
        XercesDOMParser * parser = new XercesDOMParser;
        parser->setDoNamespaces(true);
        parser->setCreateEntityReferenceNodes(true);
        parser->setDoSchema(true);

        // Create an input source

        MemBufInputSource* memIS = new MemBufInputSource ((const XMLByte*) 
docToValidate, (unsigned int) strlen(docToValidate), "XSECMem");

        int errorCount = 0;

        parser->parse(*memIS);
    errorCount = parser->getErrorCount();
    if (errorCount > 0) {
                cerr << "Error parsing input document\n";
                exit (1);
        }

    DOMDocument *doc = parser->getDocument();

        docSetup(doc);

        // Now create a signature object to validate the document

        XSECProvider prov;

        DSIGSignature * sig = prov.newSignatureFromDOM(doc);


        try {

                // Load certificate

                OpenSSLCryptoX509 * x509 = new OpenSSLCryptoX509();
                x509->loadX509Base64Bin(cert, (unsigned int) strlen(cert));
                sig->load();
                sig->setSigningKey(x509->clonePublicKey());

                // Perform check

                bool bResVerify = sig->verify();
                if( !bResVerify ) {
                        char * err = XMLString::transcode(sig->getErrMsgs());
                        cout << "Signature check failed.Error:" << err << "\n";
                        XMLString::release(&err);
                }
                else 
                        cout << "Signature check OK.\n";
        }
        catch (XSECException &e)
        {
                cerr << "An error occured during a signature load\n   Message: "
                << e.getMsg() << endl;
                exit(1);
                
        }
        catch (XSECCryptoException &e) {
                cerr << "An error occured in the XML-Security-C Crypto routines\n   
Message: "
                << e.getMsg() << endl;
                exit(1);
        }
                
                // Clean up

        delete memIS;
        delete parser;

        return 0;
}
/*
 * Copyright 2002-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * imitations under the License.
 */

/*
 * XSEC
 *
 * SimpleRSASign := An application to generate an XML document (via Xerces) and sign it
 *
 * Author(s): Nedelcho Stanev <[EMAIL PROTECTED]>
 *
 * $ID$
 *
 * $LOG$
 *
 */

#include "IOStreamOutputter.hpp"


// Xerces

#include <xercesc/util/PlatformUtils.hpp>

// XML-Security-C (XSEC)

#include <xsec/framework/XSECProvider.hpp>
#include <xsec/framework/XSECException.hpp>
#include <xsec/dsig/DSIGReference.hpp>
#include <xsec/dsig/DSIGKeyInfoX509.hpp>
#include <xsec/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp>
#include <xsec/xenc/XENCCipher.hpp>
#include <xsec/xenc/XENCEncryptedData.hpp>
#include <xsec/xenc/XENCEncryptedKey.hpp>

// Xalan

#ifndef XSEC_NO_XALAN
#include <xalanc/XalanTransformer/XalanTransformer.hpp>
XALAN_USING_XALAN(XalanTransformer)
#endif

// OpenSSL
#include <openssl/rand.h>
#include <openssl/bio.h>
#include <openssl/dsa.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/pem.h>

#include <xsec/enc/OpenSSL/OpenSSLCryptoSymmetricKey.hpp>
#include <xsec/enc/OpenSSL/OpenSSLCryptoX509.hpp>

XERCES_CPP_NAMESPACE_USE

char cert[] = "\n\
MIIC7jCCAq6gAwIBAgICEAMwCQYHKoZIzjgEAzB5MQswCQYDVQQGEwJBVTEMMAoG\n\
A1UECBMDVmljMRIwEAYDVQQHEwlNZWxib3VybmUxHzAdBgNVBAoTFlhNTC1TZWN1\n\
cml0eS1DIFByb2plY3QxEDAOBgNVBAsTB1hTRUMtQ0ExFTATBgNVBAMTDFhTRUMt\n\
Q0EgUm9vdDAeFw0wMjEyMTIxMDEzMTlaFw0xMjEyMDkxMDEzMTlaMFYxCzAJBgNV\n\
BAYTAkFVMQwwCgYDVQQIEwNWaWMxHzAdBgNVBAoTFlhNTC1TZWN1cml0eS1DIFBy\n\
b2plY3QxGDAWBgNVBAMTD1JTQSBTYW1wbGUgQ2VydDCBnzANBgkqhkiG9w0BAQEF\n\
AAOBjQAwgYkCgYEA0I96ZLWXJAM8LIUZ37y4c93WjVOsaQM6B6N6own7cQ8B9Ucp\n\
zwOXsnCVZFfJsB9gtTxZLaY7UE2dgrz47iplFecxL5mM7iKOklmGlWTfzyY87BGT\n\
GlQPlPBoX19WBf67Lhc1wovK+hVXdyzf/6VxxMKAxnSVHZaXVRLl9YhSpTUCAwEA\n\
AaOCAQEwgf4wCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5l\n\
cmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFGq6U1SwYNRyTJGAwARirEdavfXB\n\
MIGjBgNVHSMEgZswgZiAFBKNX9CsAIsjUIFmVq4wE4wlOGC5oX2kezB5MQswCQYD\n\
VQQGEwJBVTEMMAoGA1UECBMDVmljMRIwEAYDVQQHEwlNZWxib3VybmUxHzAdBgNV\n\
BAoTFlhNTC1TZWN1cml0eS1DIFByb2plY3QxEDAOBgNVBAsTB1hTRUMtQ0ExFTAT\n\
BgNVBAMTDFhTRUMtQ0EgUm9vdIIBADAJBgcqhkjOOAQDAy8AMCwCFGoKhVPnDeg9\n\
nbEFo2KDDlG/NiUqAhRJxQPLXDhehQjn6eqQWOUlkFtA9A==";

char s_privateKey[] = "\n\
-----BEGIN RSA PRIVATE KEY-----\n\
MIICXAIBAAKBgQDQj3pktZckAzwshRnfvLhz3daNU6xpAzoHo3qjCftxDwH1RynP\n\
A5eycJVkV8mwH2C1PFktpjtQTZ2CvPjuKmUV5zEvmYzuIo6SWYaVZN/PJjzsEZMa\n\
VA+U8GhfX1YF/rsuFzXCi8r6FVd3LN//pXHEwoDGdJUdlpdVEuX1iFKlNQIDAQAB\n\
AoGAYQ7Uc7e6Xa0PvNw4XVHzOSC870pISxqQT+u5b9R+anAEhkQW5dsTJpyUOX1N\n\
RCRmGhG6oq7gnY9xRN1yr0uVfJNtc9/HnzJL7L1jeJC8Ub+zbEBvNuPDL2P21ArW\n\
tcXRycUlfRCRBLop7rfOYPXsjtboAGnQY/6hK4rOF4XGrQUCQQD3Euj+0mZqRRZ4\n\
M1yN2wVP0mKOMg2i/HZXaNeVd9X/wyBgK6b7BxHf6onf/mIBWnJnRBlvdCrSdhuT\n\
lPKEoSgvAkEA2BhfWwQihqD4qJcV65nfosjzOZG41rHX69nIqHI7Ejx5ZgeQByH9\n\
Ym96yXoSpZj9ZlFsJYNogTBBnUBjs+jL2wJAFjpVS9eR7y2X/+hfA0QZDj1XMIPA\n\
RlGANAzymDfXwNLFLuG+fAb+zK5FCSnRl12TvUabIzPIRnbptDVKPDRjcQJBALn8\n\
0CVv+59P8HR6BR3QRBDBT8Xey+3NB4Aw42lHV9wsPHg6ThY1hPYx6MZ70IzCjmZ/\n\
8cqfvVRjijWj86wm0z0CQFKfRfBRraOZqfmOiAB4+ILhbJwKBBO6avX9TPgMYkyN\n\
mWKCxS+9fPiy1iI+G+B9xkw2gJ9i8P81t7fsOvdTDFA=\n\
-----END RSA PRIVATE KEY-----";

DOMDocument *createLetter(DOMImplementation *impl) {

        DOMDocument *doc = impl->createDocument(
                0,
                MAKE_UNICODE_STRING("Letter"),             
                NULL);  

    DOMElement *rootElem = doc->getDocumentElement();

        // Add the ToAddress

        DOMElement *addressElem = doc->createElement(MAKE_UNICODE_STRING("ToAddress"));
        rootElem->appendChild(doc->createTextNode(MAKE_UNICODE_STRING("\n")));
        rootElem->appendChild(addressElem);
        addressElem->appendChild(doc->createTextNode(
                MAKE_UNICODE_STRING("The address of the Recipient")));

        // Add the FromAddress
        addressElem = doc->createElement(MAKE_UNICODE_STRING("FromAddress"));
        rootElem->appendChild(doc->createTextNode(MAKE_UNICODE_STRING("\n")));
        rootElem->appendChild(addressElem);
        addressElem->appendChild(doc->createTextNode(
                MAKE_UNICODE_STRING("The address of the Sender")));

        // Add some text
        DOMElement *textElem = doc->createElement(MAKE_UNICODE_STRING("Text"));
        rootElem->appendChild(doc->createTextNode(MAKE_UNICODE_STRING("\n")));
        rootElem->appendChild(textElem);
        textElem->appendChild(doc->createTextNode(
                MAKE_UNICODE_STRING("\nTo whom it may concern\n\n...\n")));

        return doc;

}

int main (int argc, char **argv) {

        try {
                XMLPlatformUtils::Initialize();
#ifndef XSEC_NO_XALAN
                XalanTransformer::initialize();
#endif
                XSECPlatformUtils::Initialise();
        }
        catch (const XMLException &e) {

                cerr << "Error during initialisation of Xerces" << endl;
                cerr << "Error Message = : "
                     << e.getMessage() << endl;

        }

        // Create a blank Document

    DOMImplementation *impl = 
                
DOMImplementationRegistry::getDOMImplementation(MAKE_UNICODE_STRING("Core"));
        
        // Create a letter
        DOMDocument *doc = createLetter(impl);
    DOMElement *rootElem = doc->getDocumentElement();

        // The signature

        XSECProvider prov;
        DSIGSignature *sig;
        DOMElement *sigNode;

        try {
                        OpenSSLCryptoX509                       * certs;
                        DSIGKeyInfoX509                         * keyInfoX509 = NULL;

                        certs = new OpenSSLCryptoX509();

                        // Loading certificate

                        certs->loadX509Base64Bin(cert, (unsigned int) strlen(cert));

                        // Create a signature object

                        sig = prov.newSignature();
                        sig->setDSIGNSPrefix(MAKE_UNICODE_STRING("ds"));

                        // Use it to create a blank signature DOM structure from the 
doc

                        sigNode = sig->createBlankSignature(doc, CANON_C14N_COM, 
SIGNATURE_RSA, HASH_SHA1);

                        // Inser the signature DOM nodes into the doc

                        
rootElem->appendChild(doc->createTextNode(MAKE_UNICODE_STRING("\n")));
                        rootElem->appendChild(sigNode);
                        
rootElem->appendChild(doc->createTextNode(MAKE_UNICODE_STRING("\n")));

                        // Create an envelope reference for the text to be signed

                        DSIGReference * ref = 
sig->createReference(MAKE_UNICODE_STRING(""));
                        ref->appendEnvelopedSignatureTransform();

                        // Create bio for private key

                        BIO * bioMem = BIO_new(BIO_s_mem());
                        BIO_puts(bioMem, s_privateKey);

                        // Create private key with bio

                        EVP_PKEY * pk = PEM_read_bio_PrivateKey(bioMem, NULL, NULL, 
NULL);

                        OpenSSLCryptoKeyRSA * rsaKey = new OpenSSLCryptoKeyRSA(pk);
                        sig->setSigningKey(rsaKey);

                        // Sign

                        sig->sign();

                        // Add certificate to signature

                        keyInfoX509 = sig->appendX509Data();
                        
keyInfoX509->appendX509Certificate(certs->getDEREncodingSB().sbStrToXMLCh());
        }
        catch (XSECException &e)
        {
                cerr << "An error occured during a signature load\n   Message: "
                << e.getMsg() << endl;
                return false;
        }
        // Output

        docSetup(doc);
        cout << doc;

        return 0;

}
<?xml version="1.0" encoding = "windows-1251"?>
<VisualStudioProject
        ProjectType="Visual C++"
        Version="7.00"
        Name="simpleRSASign"
        ProjectGUID="{0C26A39E-B5B4-48B4-A6AB-4A3112733BF9}"
        Keyword="Win32Proj">
        <Platforms>
                <Platform
                        Name="Win32"/>
        </Platforms>
        <Configurations>
                <Configuration
                        Name="Debug|Win32"
                        OutputDirectory="..\..\..\..\Build\Win32\vc7\Debug"
                        IntermediateDirectory="..\..\..\..\Build\Win32\vc7\Debug\obj"
                        ConfigurationType="1"
                        UseOfMFC="2"
                        CharacterSet="2">
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                
AdditionalIncludeDirectories="&quot;..\..\..\..\..\..\ext\xerces-c-src_2_5_0\src&quot;;&quot;..\..\..\..\..\..\ext\openssl-0.9.7c\inc32&quot;;..\..\..\..\include"
                                PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
                                MinimalRebuild="TRUE"
                                BasicRuntimeChecks="3"
                                RuntimeLibrary="3"
                                UsePrecompiledHeader="0"
                                WarningLevel="3"
                                Detect64BitPortabilityProblems="TRUE"
                                DebugInformationFormat="4"/>
                        <Tool
                                Name="VCCustomBuildTool"/>
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="libeay32.lib xerces-c_2D.lib 
../../../../Build/Win32/vc7/Debug/xsec_1D.lib"
                                OutputFile="$(OutDir)/simpleRSASign.exe"
                                LinkIncremental="2"
                                
AdditionalLibraryDirectories="&quot;..\..\..\..\..\..\ext\openssl-0.9.7c\out32dll.dbg&quot;;&quot;..\..\..\..\..\..\ext\xerces-c-src_2_5_0\Build\Win32\VC7\Debug&quot;"
                                GenerateDebugInformation="TRUE"
                                ProgramDatabaseFile="$(OutDir)/simpleRSASign.pdb"
                                SubSystem="1"
                                TargetMachine="1"/>
                        <Tool
                                Name="VCMIDLTool"/>
                        <Tool
                                Name="VCPostBuildEventTool"/>
                        <Tool
                                Name="VCPreBuildEventTool"/>
                        <Tool
                                Name="VCPreLinkEventTool"/>
                        <Tool
                                Name="VCResourceCompilerTool"/>
                        <Tool
                                Name="VCWebServiceProxyGeneratorTool"/>
                        <Tool
                                Name="VCWebDeploymentTool"/>
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        OutputDirectory="Release"
                        IntermediateDirectory="Release"
                        ConfigurationType="1"
                        UseOfMFC="2"
                        CharacterSet="2">
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                InlineFunctionExpansion="1"
                                OmitFramePointers="TRUE"
                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                StringPooling="TRUE"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="TRUE"
                                UsePrecompiledHeader="0"
                                WarningLevel="3"
                                Detect64BitPortabilityProblems="TRUE"
                                DebugInformationFormat="3"/>
                        <Tool
                                Name="VCCustomBuildTool"/>
                        <Tool
                                Name="VCLinkerTool"
                                OutputFile="$(OutDir)/simpleRSASign.exe"
                                LinkIncremental="1"
                                GenerateDebugInformation="TRUE"
                                SubSystem="1"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
                                TargetMachine="1"/>
                        <Tool
                                Name="VCMIDLTool"/>
                        <Tool
                                Name="VCPostBuildEventTool"/>
                        <Tool
                                Name="VCPreBuildEventTool"/>
                        <Tool
                                Name="VCPreLinkEventTool"/>
                        <Tool
                                Name="VCResourceCompilerTool"/>
                        <Tool
                                Name="VCWebServiceProxyGeneratorTool"/>
                        <Tool
                                Name="VCWebDeploymentTool"/>
                </Configuration>
        </Configurations>
        <Files>
                <Filter
                        Name="Source Files"
                        Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
                        <File
                                
RelativePath="..\..\..\..\src\samples\IOStreamOutputter.cpp">
                        </File>
                        <File
                                
RelativePath="..\..\..\..\src\samples\simpleRSASign.cpp">
                        </File>
                </Filter>
                <Filter
                        Name="Header Files"
                        Filter="h;hpp;hxx;hm;inl;inc">
                        <File
                                
RelativePath="..\..\..\..\src\samples\IOStreamOutputter.hpp">
                        </File>
                </Filter>
        </Files>
        <Globals>
        </Globals>
</VisualStudioProject>
<?xml version="1.0" encoding = "windows-1251"?>
<VisualStudioProject
        ProjectType="Visual C++"
        Version="7.00"
        Name="simpleRSAValidate"
        ProjectGUID="{CA1B9FF0-367A-42EA-A97D-EADCCE837843}"
        Keyword="Win32Proj">
        <Platforms>
                <Platform
                        Name="Win32"/>
        </Platforms>
        <Configurations>
                <Configuration
                        Name="Debug|Win32"
                        OutputDirectory="..\..\..\..\Build\Win32\vc7\Debug"
                        IntermediateDirectory="..\..\..\..\Build\Win32\vc7\Debug\obj"
                        ConfigurationType="1"
                        UseOfMFC="2"
                        CharacterSet="2">
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                
AdditionalIncludeDirectories="&quot;..\..\..\..\..\..\ext\xerces-c-src_2_5_0\src&quot;;&quot;..\..\..\..\..\..\ext\openssl-0.9.7c\inc32&quot;;..\..\..\..\include"
                                PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
                                MinimalRebuild="TRUE"
                                BasicRuntimeChecks="3"
                                RuntimeLibrary="3"
                                UsePrecompiledHeader="0"
                                WarningLevel="3"
                                Detect64BitPortabilityProblems="TRUE"
                                DebugInformationFormat="4"/>
                        <Tool
                                Name="VCCustomBuildTool"/>
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="libeay32.lib xerces-c_2D.lib 
../../../../Build/Win32/vc7/Debug/xsec_1D.lib"
                                OutputFile="$(OutDir)/simpleRSAValidate.exe"
                                LinkIncremental="2"
                                
AdditionalLibraryDirectories="&quot;..\..\..\..\..\..\ext\openssl-0.9.7c\out32dll.dbg&quot;;&quot;..\..\..\..\..\..\ext\xerces-c-src_2_5_0\Build\Win32\VC7\Debug&quot;"
                                GenerateDebugInformation="TRUE"
                                ProgramDatabaseFile="$(OutDir)/simpleRSAValidate.pdb"
                                SubSystem="1"
                                TargetMachine="1"/>
                        <Tool
                                Name="VCMIDLTool"/>
                        <Tool
                                Name="VCPostBuildEventTool"/>
                        <Tool
                                Name="VCPreBuildEventTool"/>
                        <Tool
                                Name="VCPreLinkEventTool"/>
                        <Tool
                                Name="VCResourceCompilerTool"/>
                        <Tool
                                Name="VCWebServiceProxyGeneratorTool"/>
                        <Tool
                                Name="VCWebDeploymentTool"/>
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        OutputDirectory="Release"
                        IntermediateDirectory="Release"
                        ConfigurationType="1"
                        UseOfMFC="2"
                        CharacterSet="2">
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                InlineFunctionExpansion="1"
                                OmitFramePointers="TRUE"
                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                StringPooling="TRUE"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="TRUE"
                                UsePrecompiledHeader="0"
                                WarningLevel="3"
                                Detect64BitPortabilityProblems="TRUE"
                                DebugInformationFormat="3"/>
                        <Tool
                                Name="VCCustomBuildTool"/>
                        <Tool
                                Name="VCLinkerTool"
                                OutputFile="$(OutDir)/simpleRSAValidate.exe"
                                LinkIncremental="1"
                                GenerateDebugInformation="TRUE"
                                SubSystem="1"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
                                TargetMachine="1"/>
                        <Tool
                                Name="VCMIDLTool"/>
                        <Tool
                                Name="VCPostBuildEventTool"/>
                        <Tool
                                Name="VCPreBuildEventTool"/>
                        <Tool
                                Name="VCPreLinkEventTool"/>
                        <Tool
                                Name="VCResourceCompilerTool"/>
                        <Tool
                                Name="VCWebServiceProxyGeneratorTool"/>
                        <Tool
                                Name="VCWebDeploymentTool"/>
                </Configuration>
        </Configurations>
        <Files>
                <Filter
                        Name="Source Files"
                        Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
                        <File
                                
RelativePath="..\..\..\..\src\samples\IOStreamOutputter.cpp">
                        </File>
                        <File
                                
RelativePath="..\..\..\..\src\samples\simpleRSAValidate.cpp">
                        </File>
                </Filter>
                <Filter
                        Name="Header Files"
                        Filter="h;hpp;hxx;hm;inl;inc">
                        <File
                                
RelativePath="..\..\..\..\src\samples\IOStreamOutputter.hpp">
                        </File>
                </Filter>
        </Files>
        <Globals>
        </Globals>
</VisualStudioProject>

Attachment: Makefile.in
Description: Binary data

Reply via email to