This project involves the development of an engine that receives an XML file defined by a XSD schema process it as follows: 1. Validates the file against the XSD schema 2. Does an MD5 digestion to the original XML. 3. Does a RSAprivateencrypt to the MD5 digestion to generate a digital stamp. 4. Adds the digital stamp and a public key certificate to the original XML . 5. Delivers the resulting XML to printer queue, sends an email and saves it to a file. Additional to this it needs a configuration GUI where the following can be configured: 1. Select the XSD schema file that is used to validate the XML. 2. Saves the file that contains the private key used for the RSAprivateencrypt in an encrypted manner as specified in PKCS#1. 3. Saves the public key certificate. 4. Define the tags or attributes in the XML which will contain the digital stamp or certificate. 5 Define the print queue/s, email address/es and file to deliver the stamped XML. Regarding the original XML file it will be generated by an external application that will run on a separated box and can output the XML file as an email attachment to an SMTP server or to a printer queue, it can also save a file to a specified folder. I've haven't given much thought to integration with the exiting application, my first thought was to have a service that watches a folder for files when one drops in there it picks it up and process it, I've already have this service and it runs any .exe application. I was planning on using it, but I've seen application that are linked to a printer queue, as a print driver o monitor. This approach is interesting for me because this way the engine wouldn't have to manage the file queuing, file deleting after processing and other functions that printer queues already provide as well as the ability to integrate with any application on any platform through TCP/IP Printing. I've also been recommended to do a SMTP emulator which could be a good idea. In this point I'm open to suggestions.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):
a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows XP Windows 2000 Windows 2003