Δεν υπάρχει κάποιο πρόβλημα με τα certificates αλλά με τον τρόπο που τα χρησιμοποιείς. Μία εφαρμογή ClickOnce πρέπει να υπογραφεί με ένα certificate για να είναι βέβαιο τόσο από ποιόν προέρχεται όσο και ότι το περιεχόμενο της δεν έχει παραποιηθεί. Για να έχει νόημα η υπογραφή θα πρέπει και το certificate να έχει δημιουργηθεί από κάποια αξιόπιστη πηγή (Certificate Authority) όπως η Verisign η οποία πιστοποιεί ότι τα περιεχόμενα του certificate (π.χ. όνομα, εταιρεία κλπ) είναι πραγματικά. Το πιστοποιητικό ουσιαστικά λέει ότι το τάδε software προέρχεται από τη Χ εταιρεία ( Publisher) σύμφωνα με τη Verisign (CA). Όλοι οι υπολογιστές έχουν μία λίστα με τα βασικά (root) CA και ελέγχουν κάθε πιστοποιητικό αν έχει εκδοθεί από ένα γνωστό τους CA ή από κάποιο άλλο CA το οποίο έχει πιστοποιηθεί από κάποιο root CA.
Στην περίπτωση που ένας υπολογιστής βρίσκεται σε Windows Domain μπορεί να χρησιμοποιήσει και τα Certificate Services του Windows Server. Σε αυτή την περίπτωση ο κάθε υπολογιστής στο domain εμπιστεύεται τα Certificate Services του δικού του domain.
Επειδή θα ήταν πολύ δαπανηρό να αγοράσεις ένα certificate κατά τη διάρκεια του development μπορείς να δημιουργήσεις ένα test certificate το οποίο θα γίνεται δεκτό μόνο από τον υπολογιστή σου και να το χρησιμοποιήσεις κατά το development. Επειδή όμως κανένα άλλο μηχάνημα δεν πρόκειται να εμπιστευτεί το δικό σου test certificate θα πρέπει να το αλλάξεις με κάποιο άλλο certificate το οποίο έχει αγοραστεί από κάποια εταιρεία όπως η Verisign ή το οποίο δημιουργήθηκε από τα Certificate Services του domain στο οποίο γίνεται deploy η εφαρμογή.
Όσον αφορά τα σφάλματα που ανέφερες στην αρχή (χωρίς όμως να πεις ποιά ακριβώς είναι) πάω στοίχημα ότι το πρώτο θα ήταν ειδοποίηση ότι η εφαρμογή δεν είχε υπογραφεί ενώ το δεύτερο θα ήταν ότι η εφαρμογή δεν είχε υπογραφεί με valid certificate.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos