8225181: KeyStore should have a getAttributes method

Reviewed-by: mullan
This commit is contained in:
Weijun Wang 2021-12-03 18:52:17 +00:00
parent 38f525e96e
commit a729a70c01
6 changed files with 169 additions and 2 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -447,6 +447,33 @@ public abstract class KeyStoreSpi {
return;
}
/**
* Retrieves the attributes associated with the given alias.
*
* @implSpec
* The default implementation returns an empty {@code Set}.
* {@code KeyStoreSpi} implementations that support attributes
* should override this method.
*
* @param alias the alias name
* @return an unmodifiable {@code Set} of attributes. This set is
* empty if the given alias does not exist or there are no
* attributes associated with the alias. This set may also be
* empty for {@code PrivateKeyEntry} or {@code SecretKeyEntry}
* entries that contain protected attributes. These protected
* attributes should be populated into the result returned by
* {@link #engineGetEntry} and can be retrieved by calling
* the {@link Entry#getAttributes} method.
*
* @throws KeyStoreException if the keystore has not been initialized
* (loaded).
*
* @since 18
*/
public Set<Entry.Attribute> engineGetAttributes(String alias) {
return Collections.emptySet();
}
/**
* Gets a {@code KeyStore.Entry} for the specified alias
* with the specified protection parameter.