blob: 6c388d16735c647838870a1e5ff1336b8a413cd0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.browserid;
import java.security.GeneralSecurityException;
import org.mozilla.gecko.sync.ExtendedJSONObject;
public interface SigningPrivateKey {
/**
* Return the JSON Web Token "alg" header corresponding to this private key.
* <p>
* The header is used when formatting web tokens, and generally denotes the
* algorithm and an ad-hoc encoding of the key size.
*
* @return header.
*/
public String getAlgorithm();
/**
* Generate a JSON representation of a private key.
* <p>
* <b>This should only be used for debugging. No private keys should go over
* the wire at any time.</b>
*
* @param privateKey
* to represent.
* @return JSON representation.
*/
public ExtendedJSONObject toJSONObject();
/**
* Sign a message.
* @param message to sign.
* @return signature.
* @throws GeneralSecurityException
*/
public byte[] signMessage(byte[] message) throws GeneralSecurityException;
}
|