| 176 | namespace authz::flatbuffers { |
| 177 | |
| 178 | SignedTokenRef signToken(Arena& arena, TokenRef token, StringRef keyName, PrivateKey privateKey) { |
| 179 | auto ret = SignedTokenRef{}; |
| 180 | auto writer = ObjectWriter([&arena](size_t len) { return new (arena) uint8_t[len]; }, IncludeVersion()); |
| 181 | writer.serialize(token); |
| 182 | auto tokenStr = writer.toStringRef(); |
| 183 | auto sig = privateKey.sign(arena, tokenStr, *::EVP_sha256()); |
| 184 | ret.token = tokenStr; |
| 185 | ret.signature = sig; |
| 186 | ret.keyName = StringRef(arena, keyName); |
| 187 | return ret; |
| 188 | } |
| 189 | |
| 190 | bool verifyToken(SignedTokenRef signedToken, PublicKey publicKey) { |
| 191 | return publicKey.verify(signedToken.token, signedToken.signature, *::EVP_sha256()); |
no test coverage detected