C'est vrai : le cookie peut théoriquement être lu par l'application s'il provient du même domaine. Cela signifie que l'application l'a à sa disposition, cela n'implique pas que l'application dispose des secrets nécessaires pour l'interpréter.
Le problème ici n'est peut-être pas lié à la partie théorique mais à la partie technologique : si le cookie n'est pas en texte clair (comme il devrait l'être), il doit être ouvert par l'application cible qui doit en lire le contenu.
Ce problème est généralement résolu si l'application qui a forgé le cookie est la même que celle qui doit le lire.
Mais s'il est forgé par une application 1 et doit être décrypté par une application 2, vous devez vous assurer que cette commande est utilisée :
Cookie cookie = new Cookie("cookie", "cookieValue");
n'utilise pas de secret spécifique à l'application pour crypter le cookie, sinon il ne pourra jamais être ouvert par une autre application.
Bien sûr, la réponse peut changer en fonction de la technologie que vous utilisez. Je ne connais pas le comportement de Java, mais je sais que de nombreuses technologies utilisent des secrets basés sur la machine pour pirater et signer le cookie.