|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 package org.mozilla.gecko.browserid; |
|
6 |
|
7 import java.security.GeneralSecurityException; |
|
8 |
|
9 import org.mozilla.gecko.sync.ExtendedJSONObject; |
|
10 |
|
11 |
|
12 public interface VerifyingPublicKey { |
|
13 /** |
|
14 * Generate a JSON representation of a public key. |
|
15 * |
|
16 * @param publicKey |
|
17 * to represent. |
|
18 * @return JSON representation. |
|
19 */ |
|
20 public ExtendedJSONObject toJSONObject(); |
|
21 |
|
22 /** |
|
23 * Verify a signature. |
|
24 * |
|
25 * @param message |
|
26 * to verify signature of. |
|
27 * @param signature |
|
28 * to verify. |
|
29 * @return true if signature is a signature of message produced by the private |
|
30 * key corresponding to this public key. |
|
31 * @throws GeneralSecurityException |
|
32 */ |
|
33 public boolean verifyMessage(byte[] message, byte[] signature) throws GeneralSecurityException; |
|
34 } |