Mail.app happily supports signing, and has done for like a decade - the problem is having some meaningful directory service. Basically, enterprises can often times set up internal key directories, but general publicly accessible directories are much more challenging (in a user friendly way).
[edit to add instructions:
1. If you already have a public signature you can import it into keychain, otherwise create a certificate via Keychain Access | Certificate Assistant | Create a certificate...
2. set the permissions to allow it to be trusted for signing + decrypting email (in an enterprise environment this is automated) by double clicking the certificate in keychain access, expand /trust/ and set secure mail to "always trust".
3. In the subject field of a new mail you should now see a couple of buttons, the default (I think) is for signing to be enabled -- the right button
]
[edit to add instructions: 1. If you already have a public signature you can import it into keychain, otherwise create a certificate via Keychain Access | Certificate Assistant | Create a certificate...
2. set the permissions to allow it to be trusted for signing + decrypting email (in an enterprise environment this is automated) by double clicking the certificate in keychain access, expand /trust/ and set secure mail to "always trust".
3. In the subject field of a new mail you should now see a couple of buttons, the default (I think) is for signing to be enabled -- the right button ]