Asymmetric DAG encryption with public / private keypairs?

Are there any utilities in place for asymmetrically encrypting a DAG object with an owner’s private key and a receiver’s public key so that objects can be securely signed and shared between trusted parties?

I was looking at setting this up with something like node-rsa and separate keypairs for the encryption than the peerIDs or IPNS keys but figured the infrastructure might already be there to pull this off.

You might be interested in the discussions here: IPLD resolver with access control