pem: add passphrase-protected PEM file support for libgcrypt and wincng

Since they use our own PEM parser which did not support encrypted
PEM files, trying to use such files on these backends failed.
Fix that by augmenting the PEM parser to support encrypted PEM files.
6 files changed