I need to protect my application against pirating with Product Keys and Application Activation.

How should I do the below things? Should make a Form that loads up that asks for a serial number then if it is right make it load my program? Theres 2 Things I have no idea how to do:
1. Get the persons computer information and save it.
2. Make a web Service thing that can authurieze it. Can anyone help?


This involves using Asymetric Cryptography. This is what i need to do:

1.Find the hardware specs of your machine.

2.Serialize the Specs.

3.Serialize the Product Key.

4.SHA1 Hash the two strings.

5.Send it to your Activation Web Service

6.Your Web Service:
- Confirms the Product Key.
- Ensures no other Hardware Hashes are associated with that key.

7.- Encrypyts a response with the hashcode in it using their private key.

8.Your application saves the response to the application directory to be checked everytime the application is launched.

9.The Application Decrypts the information using your public key.

10.If the application can decrypt the info and the hardware hash code matches, then the application is authorized.