Εξαρτάται, και μπορεί να υπάρχουν εναλλακτικές.
Εργαλείο υπάρχει, αλλά αν θέλεις να φτιάξεις κάποιο public site δεν γλυτώνεις τη Verisign. Το certificate είναι σαν ταυτότητα και έχει τόση αξία όση ο οργανισμός, ή μάλλον το Certificate Authority που το εκδίδει - και κατά συνέπεια πιστοποιεί τα περιεχόμενα του certificate. Εμπιστεύεσαι ένα certificate μόνο αν εμπιστεύεσαι το Certificate Authority που το εκδίδει. Όλοι οι browsers εμπιστεύονται μία λίστα από Certificate Authorities, οι οποίες με τη σειρά τους πιστοποιούν άλλα Certificate Authorities και το πράγμα πάει ιεραρχικά μέχρι τις συγκεκριμένες εταιρείες οι οποίες εκδίδουν τα certificates που χρησιμοποιοεί ο κάθε server. Εντάξει, η Verisign είναι ήδη στη λίστα με τα trusted certificate authorities, αλλά λέμε.
Αν χρησιμοποιήσεις εσύ με δικό σου εργαλείο (π.χ. το makecert) για να φτιάξεις ένα certificate, ο browser δεν θα αναγνωρίσει το certificate authority (δηλαδή εσένα) και θα εμφανίσει αμέσως warning ότι υπάρχει πρόβλημα. Αυτός είναι και ο λόγος που λένε ότι το makecert δεν πρέπει να χρησιμοποιείται για production. Το πρόβλημα δεν είναι ότι δεν έχει καλό encryption το certificate, αλλά ότι τα περιεχόμενα του δεν πιστοποιούνται από κάποια αξιόπιστη αρχή και θα προκαλούν warnings σε όποιο browser έχει πρόσβαση στο site σου.
Από εδώ και πέρα, εξαρτάται πως θέλεις να χρησιμοποιήσεις το certificate. Αν το χρησιμοποιήσεις εσωτερικά στο domain της εταιρείας σου, ή αν έχεις ήδη δομή PKI μεταξύ των γραφείων της, μπορείς να χρησιμοποιήσεις τα certificates που δημιουργούνται από τα Certificate Services των Windows. Ο λόγος είναι ότι τα μηχανήματα ενός domain εμπιστεύονται το CA του domain τους. Αν έχεις πολλά ξεχωριστά γραφεία και έχει στηθεί σωστά η δομή PKI, δηλαδή αν το CA του γραφείου εμπιστεύεται το CA του Home Office, πάλι θα δουλέψουν τα certificates του server.
Αν θέλεις να φτιάξεις κάποιο public site, ο μόνος τρόπος είναι να αγοράσεις κάποιο certificate επειδή κανείς δεν θα εμπιστευτεί τα πιστοποιητικά που εκδίδεις εσύ ή κάποιος δικός σου Windows Server.
Η εναλλακτική τώρα. Αν θέλεις το HTTPS για να προστατέψεις κάποια σελίδα login, θα μπορούσες να χρησιμοποιήσεις το OpenID αντί για username/password τα οποία θα πρέπει να προστατέψεις εσύ. Ο χρήστης του site σου θα γίνεται redirect σε κάποιον OpenID provider, θα δίνει εκεί το username/password του και θα επιστρέφει σε εσένα με ένα token που θα λέει ότι έγινε επιτυχώς η σύνδεση και ποιός είναι. Το Wikipedia έχει μία μεγάλη λίστα με OpenID providers, μεταξύ των οποίων το Google, το Yahoo αλλά και η ... Verisign. Ένα πολύ γνωστό site το οποίο χρησιμοποιεί OpenID είναι το http://stackoverflow.com/ το οποίο είναι γραμμένο σε ASP.NET.
Ρίξε μία ματιά στο παρακάτω άρθρο του Scott Hanselman το οποίο περιγράφει πως να χρησιμοποιήσεις OpenID σε μία εφαρμογή ASP.NET, όπου περιγράφει (μεταξύ άλλων) τη χρήση της βιβλιοθήκης dotnetopenid. Η οποία δεν βρίσκεται στο Codeplex αλλά στο Google Code 
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos