a few words about my issue with certificates I had a few days ago
let gun1 = GUN({...})
let gun2 = GUN({...})
let pair1 = SEA.pair()
let pair2 = SEA.pair()
let cert = await SEA.certify( '*', {'*': 'messages'}, pair1)
gun2.get('~' + pair1.pub).get('messages').put({msg: 'my message'}, null, {opt: {cert: cert}}) // that will NOT work, anonymous user
await gun2.user().auth(pair2)
gun2.get('~' + pair1.pub).get('messages').put({msg: 'my message'}, null, {opt: {cert: cert}}) // that will work, 'pair2' user
What I mean by this, that in my case certificates used by anonymous users don't work. The user has to be authenticated to use someone's else certificates.
At least that's how it is on my side.