See Cyphrme/Cyphr#115 (comment)
If a revoke coz does not include pub, parties cannot verify the revoke unless the public key has been previously disclosed. Systems may have to look up the public key by tmb, but if this isn't available there's no way to verify the rvk.
This ends up with the funny situation that clients may be given valid revokes that they cannot verify.
Including pub solves this problem, but it raises another. There is the funny situation where not all private keys may derive the public key, so a white hat may not have pub or be able to derive it. Coz requires that pub is derivable from prv, but prv itself might be a "seed" and not the actual private key. A white hat may only have the actual private key and not the public key. So requiring pub on a revoke may not be possible.
With all this in mind, it's probably best practice to include pub, but with the knowledge that it may not be possible. Someone signing the revoke has done their due diligence and that's the best they can do.
See Cyphrme/Cyphr#115 (comment)
If a revoke coz does not include
pub, parties cannot verify the revoke unless the publickeyhas been previously disclosed. Systems may have to look up the public key bytmb, but if this isn't available there's no way to verify thervk.This ends up with the funny situation that clients may be given valid revokes that they cannot verify.
Including
pubsolves this problem, but it raises another. There is the funny situation where not all private keys may derive the public key, so a white hat may not havepubor be able to derive it. Coz requires thatpubis derivable fromprv, butprvitself might be a "seed" and not the actual private key. A white hat may only have the actual private key and not the public key. So requiringpubon a revoke may not be possible.With all this in mind, it's probably best practice to include
pub, but with the knowledge that it may not be possible. Someone signing the revoke has done their due diligence and that's the best they can do.