Support for S/MIME
Currently only gpg signed commits are supported, but S/MIME is an alternative to this.
Using `gpgsm` and git cli, it is straightforward to sign commits, i.e. simply call `git commit -S`, but gitkraken does not handle it correctly. It appears to not parse the password request correctly.
As for other basic interfaces:
- Toggle between S/MIME and gpg: set git config option `gpg.format=x509`
- Assign S/MIME key: Assign as git config `user.signingkey=0xFFFFFFFF` and can check availability via `gpgsm --list-secret-keys 0xFFFFFFFF`
- [Optional] Import pk12 private keys into gpgsm:
- Calls `gpgsm --import`
- Add root certificate's fingerprint to `~/.gnupg/trustlist.txt`
- Verify that certificates are trusted: `gpgsm --list-secret-keys --with-validation 0xFFFFFFFF`
- [Optional] Display basic info about certificate chain, especially expiration date.