]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.util/src/org/argeo/util/security/Keyring.java
10dbabd497d12bbf67024d20d8e4ff7c5e53b418
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / util / security / Keyring.java
1 /*
2 * Copyright (C) 2007-2012 Argeo GmbH
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.argeo.util.security;
17
18 import java.io.InputStream;
19
20 /**
21 * Access to private (typically encrypted) data. The keyring is responsible for
22 * retrieving the necessary credentials. <b>Experimental. This API may
23 * change.</b>
24 */
25 public interface Keyring {
26 public void changePassword(char[] oldPassword, char[] newPassword);
27
28 /**
29 * Returns the confidential information as chars. Must ask for it if it is
30 * not stored.
31 */
32 public char[] getAsChars(String path);
33
34 /**
35 * Returns the confidential information as a stream. Must ask for it if it
36 * is not stored.
37 */
38 public InputStream getAsStream(String path);
39
40 public void set(String path, char[] arr);
41
42 public void set(String path, InputStream in);
43 }