1b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampackage org.bouncycastle.crypto;
2b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
3b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam/**
4b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam * interface that a public/private key pair generator should conform to.
5b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam */
6b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampublic interface AsymmetricCipherKeyPairGenerator
7b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam{
8b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    /**
9b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam     * intialise the key pair generator.
10b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam     *
11b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam     * @param param the parameters the key pair is to be initialised with.
12b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam     */
13b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public void init(KeyGenerationParameters param);
14b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
15b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    /**
16b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam     * return an AsymmetricCipherKeyPair containing the generated keys.
17b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam     *
18b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam     * @return an AsymmetricCipherKeyPair containing the generated keys.
19b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam     */
20b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public AsymmetricCipherKeyPair generateKeyPair();
21b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam}
22b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
23