Да, возможно что-то подобное, но с ECDSA это не работает. Вы не шифруете с помощью ключа пользователя publi c. Что вам нужно сделать, так это получить ключ симметрии c из ключа пользователя publi c и личного ключа пользователя A таким же образом, ключ симметричного ключа c получен из ключа пользователя publi c пользователя A и личного ключа пользователя B , Это известно как ECDH. У меня нет примера в Javascript (вы можете искать его так же, как я), но чтобы понять его, взгляните и попробуйте пример (с OpenSSL) в https://jameshfisher.com/2017/04/14/openssl-ecc/.
Вы можете получить ключ publi c из сертификата (он встроен в сертификат) или извлечь его из закрытого ключа. Выберите свой путь.
ПРИМЕЧАНИЕ. Я считаю более безопасным шифрование содержимого перед его сохранением в IPFS и совместное использование ха sh, чем шифрование ха sh.
РЕДАКТИРОВАТЬ: Для nodejs, вы можете попробовать это: https://www.npmjs.com/package/eccrypto. Кажется, он включает в себя и то, что вы искали изначально.