Emacs authentication problems (SSH, GPG, OAuth): FreeBSD considerations?

Howdy-ha, folks. I've got a question for fellow Emacs users. I've been having some issues with some Emacs features/packages for some time and the ease of working around them has been greater than my desire to fix them. I'd really like to get them working at this point, though. The issue concerns Emacs and just about any sort of authentication: almost any sort of action that requires some kind of authentication fails, and while this might not be the right place to ask about it I am wondering if there are FreeBSD-specific steps I might have overlooked.

For example, I use sysutils/password-store to generate and manage passwords. The port comes with both a command-line client and an Emacs package to interact with it. The command-line client works fine, but any time I try to use the Emacs package to display/edit/copy a password from the store, I get this error:

Error while decrypting with "gpg2":

gpg: Warning: using insecure memory!
gpg: encrypted with 2048-bit RSA key, ID xxxxxxxxxxxxxxxx, created 2016-03-16
      "xxxxxxxxxxxxxxxxxxxx <xxxxxxxxxxxxxxxxx@gmail.com>"
gpg: public key decryption failed: Invalid IPC response
gpg: decryption failed: No secret key

Nothing I've found on the web has been of any help---the above error messages ("No secret key" and "Invalid IPC response") seem extremely rare, and in most cases seem to resolve themselves with an update/reinstall. But I've never actually had this work for me on any version of Emacs since I started using it almost 3 years ago. As I said, the password-store command line client can decrypt the password files without any problem. I start gpg-agent on login with security/keychain, and password-store has no problem working with that from the command line either. My GPG key is shown as appropriately "marked" and "ultimately trusted" in Emacs when I run epa-list-keys. It is also worth noting that I can actually encrypt files with my GPG key in Emacs just fine; I just can't open them afterward.

Similarly, I start ssh-agent with keychain when I log in, and can log into my home server and push local Mercurial/Git repositories to remote key-authenticated repositories on my home server, BitBucket, and DigitalOcean from the command line without entering a passphrase. However, any time I try to access a file on my home server using Emacs TRAMP+SSH, the process just hangs without any kind of error message as soon as I start trying to enter a file name. (I've tried this so many times for so long that I can assure you I'm using the correct syntax.) I also recently tried to set up Dropbox access using dropbox.el, which uses OAuth authentication. I can set up the package and pair Emacs to my Dropbox account without issue---Dropbox recognizes it, and Emacs is able to fetch an authentication token---but when I try to actually use it I get the exact same result with that as I do with TRAMP+SSH: it hangs without an error message.

So it seems as though any kind of process requiring authentication just silently fails or spits out a cryptic error message. Is there something FreeBSD-specific to this, or not? It seems pretty unlikely that I've just had a string of bad luck, and am probably just to stupid to see what's wrong. If anyone can help me feel less stupid, that'd be great. :p