public class TokenKeyStoreSpi extends java.security.KeyStoreSpi implements PKCS11EngineClass
Modifier and Type | Field and Description |
---|---|
protected java.util.HashSet |
aliases_
The collection of all aliases of this key store.
|
protected java.util.Hashtable |
certificateChainAliasToPkcs11ObjectsTable_
Provides the PKCS#11 objects that correspond to a certificate chain alias.
|
protected java.util.Hashtable |
certificateChains_
Hash table that holds the certificate chains that belong to the user's keys.
|
protected iaik.pkcs.pkcs11.TokenInfo |
infoOfRecentToken_
Stores the information of the token where we read the table contents.
|
protected boolean |
isUpToDate_
Falg that indicates that the key tables are up to date or if they need to be updated.
|
static java.lang.String |
KEY_STORE_TYPE
The type name of this key store.
|
protected java.util.Hashtable |
keyAliasToPkcs11ObjectTable_
Provides the PKCS#11 objects that correspond to the key aliases.
|
protected java.util.Hashtable |
keys_
The hash table holding all type of keys.
|
protected byte[] |
lastNewID_
The last new PKCS#11 object (key or certificate) ID generated.
|
protected iaik.pkcs.pkcs11.Session |
readSession_
The session to use for finding object; i.e.
|
protected java.lang.String |
supportProviderName_
The support provider to use for Hashing keys and to instantiate key factories for generating
key specs.
|
protected TokenManager |
tokenManager_
The token manager this key store is associated with.
|
protected java.util.Hashtable |
trustedCertificateAliasToPkcs11ObjectTable_
Provides the PKCS#11 objects that correspond to the trusted certificate aliases.
|
protected java.util.Hashtable |
trustedCertificates_
Hash table that holds the certificates that do not belong to any key.
|
protected iaik.pkcs.pkcs11.MechanismInfo[] |
usedMechanismInfos_
The mechanism information is the same for all digest mechanisms.
|
protected iaik.pkcs.pkcs11.Mechanism[] |
usedMechanisms_
The list of used mechanisms.
|
protected char[] |
userPIN_
Contains the user PIN if it has been provided at the call to load.
|
protected boolean |
useUserSession_
Indicate that private (private flag!) keys are only read on demand.
|
protected iaik.pkcs.pkcs11.Session |
writeSession_
The session to use for writing objects; i.e.
|
Constructor and Description |
---|
TokenKeyStoreSpi()
Construct a new uninitialized keystore.
|
TokenKeyStoreSpi(TokenManager tokenManager)
Construct a new keystore from the given PKCS#11 token.
|
Modifier and Type | Method and Description |
---|---|
protected void |
clearTables()
Clear all tables.
|
protected boolean |
contains(java.util.List arrays,
byte[] other) |
protected iaik.pkcs.pkcs11.objects.Object |
createCertificate(java.security.cert.Certificate certificate,
byte[] id,
char[] label)
Create a certificate object on the token as token object and assign the given ID to it, if the
certificate type supports the ID attribute.
|
protected iaik.x509.X509Certificate[] |
createCertificateChain(iaik.x509.X509Certificate userCertificate,
java.util.Map subjectToCertificatesMap,
char[] label,
iaik.pkcs.pkcs11.provider.IdentityMap trustedCertificates)
Create a certificate chain that starts with the given user certificate.
|
protected iaik.pkcs.pkcs11.objects.Key |
createKeyCreationTemplate(iaik.pkcs.pkcs11.objects.Key baseKey)
Create a template based on the given key.
|
protected java.security.spec.KeySpec |
createKeySpec(java.security.Key key,
java.lang.Class keySpecClass)
Create a key spec out of the given key.
|
protected java.security.spec.KeySpec |
createPrivateKeySpec(java.security.Key key)
Create a key spec out of the given key.
|
protected java.security.spec.KeySpec |
createPublicKeySpec(java.security.Key key)
Create a key spec out of the given key.
|
protected java.security.spec.KeySpec |
createSecretKeySpec(javax.crypto.SecretKey key)
Create a key spec out of the given key.
|
protected java.lang.String |
createUniqueAlias(iaik.pkcs.pkcs11.objects.Object pkcs11Object,
java.util.Set usedAliases)
This method creates a alias for the given pkcs#11 object that does not already exist in this
key store.
|
protected void |
deleteCertificate(java.lang.String alias)
Delete the certificate with the given alias.
|
protected void |
deleteChertificateChain(java.lang.String alias)
Delete the certificate chain with the given alias.
|
protected void |
deleteKey(java.lang.String alias)
Delete the key with the given alias.
|
java.util.Enumeration |
engineAliases()
Get all known aliases.
|
boolean |
engineContainsAlias(java.lang.String alias)
Checks, if this key store contains an entry with the given alias.
|
void |
engineDeleteEntry(java.lang.String alias)
Delete the entry with the given alias.
|
java.security.cert.Certificate |
engineGetCertificate(java.lang.String alias)
Get the certificate for the given alias.
|
java.lang.String |
engineGetCertificateAlias(java.security.cert.Certificate certificate)
Get the alias of the given certificate.
|
java.security.cert.Certificate[] |
engineGetCertificateChain(java.lang.String alias)
Get the certificate chain for the entry with the given alias.
|
java.util.Date |
engineGetCreationDate(java.lang.String alias)
Get the creation date of the entry with the given alias name.
|
java.security.Key |
engineGetKey(java.lang.String alias,
char[] password)
Get the key that has the alias given as argument.
|
boolean |
engineIsCertificateEntry(java.lang.String alias)
Checks, if the alias refers to a trusted certificate entry.
|
boolean |
engineIsKeyEntry(java.lang.String alias)
Checks, if the alias refers to a key entry.
|
void |
engineLoad(java.io.InputStream in,
char[] password)
Loads and initializes this key store.
|
void |
engineSetCertificateEntry(java.lang.String alias,
java.security.cert.Certificate certificate)
Implements the corresponding method of the KeyStoreSpi class according to its specification.
|
void |
engineSetKeyEntry(java.lang.String alias,
byte[] key,
java.security.cert.Certificate[] certificateChain)
UNSUPPORTED.
|
void |
engineSetKeyEntry(java.lang.String alias,
java.security.Key key,
char[] password,
java.security.cert.Certificate[] certificateChain)
Implements the corresponding method of the KeyStoreSpi class according to its specification.
|
int |
engineSize()
Returns the number of entries in this key store, keys and certificate entries.
|
void |
engineStore(java.io.OutputStream out,
char[] password)
A call to this method, just sets the user PIN to a new value.
|
protected void |
ensureCurrentTables()
This method calls method update().
|
protected void |
ensureReadSession()
This method ensures that an appropriate session is open.
|
protected void |
ensureSupportProvider()
Ensure that the keystore support provider name is available in the
supportProviderName_ field. |
protected void |
ensureWriteSession()
This method ensures that an appropriate session is open.
|
protected void |
finalize()
Try to close the session that this object opened.
|
protected iaik.pkcs.pkcs11.objects.Key |
findCoreespondingKey(iaik.pkcs.pkcs11.objects.Key key)
Find a key that corresponds to the given key; e.g.
|
protected void |
findKeysAndCertificateTables()
Find all keys and certificates on the token put them in the right tables.
|
protected byte[] |
generateNewID(byte[] suggestedID)
Generates a new ID that is not used by any existing object on the keystore token yet.
|
protected iaik.pkcs.pkcs11.MechanismInfo |
getMechanismFeaturesSupport(java.lang.String algorithmName)
Check, what features of the given algorithm the token supports.
|
protected boolean |
getReadProtectedKeyOnDemand()
This property causes this object to search for objects using only a not explicitly logged-in
session.
|
TokenManager |
getTokenManager()
Get the token manager of the token that holds the contents of this key store.
|
protected void |
initialize()
Do the internal initialization.
|
protected boolean |
isEndUserCertificate(iaik.x509.X509Certificate certificate)
Check if the given certificate is a end-user certificate.
|
boolean |
isSupportedBy(TokenManager tokenManager)
Check, if the current token of the given token manager supports the required features for this
engine class.
|
protected boolean |
isUpToDate()
Check, if the tables are up to date.
|
protected boolean |
loginSession()
Logs in the current session, if a login is required.
|
protected void |
logoutSession()
This method logs out the session of this key store.
|
protected void |
openReadSession()
Opens a session with the necessary rights for searching keys and certificates.
|
protected void |
openWriteSession()
Opens a session with the necessary rights for searching keys and certificates.
|
protected java.lang.String |
readProviderName(java.io.InputStream in)
Read the complete content of the stream and return the content as string.
|
protected void |
releaseSessions()
A call to this method signals that the sessions are no longer used.
|
protected void |
setKeyAttributes(iaik.pkcs.pkcs11.objects.PrivateKey keyTemplate,
java.security.cert.X509Certificate certificate,
iaik.pkcs.pkcs11.MechanismInfo supportedFeatures)
Inspect the certificate and the mechanisms supported by the token and set the attributes of the
private key template accordingly.
|
protected void |
setKeyAttributes(iaik.pkcs.pkcs11.objects.PublicKey keyTemplate,
java.security.cert.X509Certificate certificate,
iaik.pkcs.pkcs11.MechanismInfo supportedFeatures)
Inspect the certificate and the mechanisms supported by the token and set the attributes of the
public key template accordingly.
|
protected void |
setReadProtectedKeyOnDemand(boolean onDemand)
Setting this property causes this object to search for objects using only a not explicitly
logged-in session.
|
protected void |
setUpToDate(boolean isUpToDate)
Set, if the tables are up to date.
|
protected boolean |
tokenChanged()
Check, if the token was changed.
|
protected void |
updateTables()
This method calls the appropriate methods to get all available keys and certificates and stores
them in a hash table.
|
protected void |
writeProviderName(java.lang.String providerName,
java.io.OutputStream out)
Write the provider name to the given output stream.
|
public static final java.lang.String KEY_STORE_TYPE
protected TokenManager tokenManager_
protected iaik.pkcs.pkcs11.Session readSession_
protected iaik.pkcs.pkcs11.Session writeSession_
protected java.util.HashSet aliases_
protected java.util.Hashtable keys_
protected java.util.Hashtable certificateChains_
protected java.util.Hashtable trustedCertificates_
protected java.util.Hashtable keyAliasToPkcs11ObjectTable_
protected java.util.Hashtable certificateChainAliasToPkcs11ObjectsTable_
protected java.util.Hashtable trustedCertificateAliasToPkcs11ObjectTable_
protected boolean isUpToDate_
protected boolean useUserSession_
protected iaik.pkcs.pkcs11.TokenInfo infoOfRecentToken_
protected byte[] lastNewID_
protected java.lang.String supportProviderName_
protected iaik.pkcs.pkcs11.Mechanism[] usedMechanisms_
protected iaik.pkcs.pkcs11.MechanismInfo[] usedMechanismInfos_
protected char[] userPIN_
public TokenKeyStoreSpi()
public TokenKeyStoreSpi(TokenManager tokenManager)
tokenManager
- The token manager for logging in the user and getting configuration data.public java.util.Enumeration engineAliases()
engineAliases
in class java.security.KeyStoreSpi
public boolean engineContainsAlias(java.lang.String alias)
engineContainsAlias
in class java.security.KeyStoreSpi
alias
- The alias to look for.KeyStoreSpi.engineContainsAlias(String)
public void engineDeleteEntry(java.lang.String alias) throws java.security.KeyStoreException
engineDeleteEntry
in class java.security.KeyStoreSpi
alias
- The alias of the element to delete.java.security.KeyStoreException
- If the entry cannot be deleted.KeyStoreSpi.engineDeleteEntry(String)
public java.security.cert.Certificate engineGetCertificate(java.lang.String alias)
engineGetCertificate
in class java.security.KeyStoreSpi
alias
- The alias of the entry.KeyStoreSpi.engineGetCertificate(String)
public java.lang.String engineGetCertificateAlias(java.security.cert.Certificate certificate)
engineGetCertificateAlias
in class java.security.KeyStoreSpi
certificate
- The certificate to look up the alias for.KeyStoreSpi.engineGetCertificateAlias(java.security.cert.Certificate)
public java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String alias)
engineGetCertificateChain
in class java.security.KeyStoreSpi
alias
- The alias of the key entry to get the chain from.KeyStoreSpi.engineGetCertificateChain(String)
public java.util.Date engineGetCreationDate(java.lang.String alias)
engineGetCreationDate
in class java.security.KeyStoreSpi
alias
- The alias of the entry to get the creation date.KeyStoreSpi.engineGetCreationDate(String)
public java.security.Key engineGetKey(java.lang.String alias, char[] password) throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
engineGetKey
in class java.security.KeyStoreSpi
alias
- The alias of the wanted key.password
- The password used to protect the key.java.security.NoSuchAlgorithmException
- If the key cannot be constructed, because its algorithm is not known.java.security.UnrecoverableKeyException
- If the key cannot be recovered.KeyStoreSpi.engineGetKey(String, char[])
public boolean engineIsCertificateEntry(java.lang.String alias)
engineIsCertificateEntry
in class java.security.KeyStoreSpi
alias
- The alias name to check.KeyStoreSpi.engineIsCertificateEntry(String)
public boolean engineIsKeyEntry(java.lang.String alias)
engineIsKeyEntry
in class java.security.KeyStoreSpi
alias
- The alias name to check.KeyStoreSpi.engineIsKeyEntry(String)
public void engineLoad(java.io.InputStream in, char[] password) throws java.io.IOException, java.lang.UnsupportedOperationException
password
object
if it is provided.engineLoad
in class java.security.KeyStoreSpi
in
- The stream to load from.password
- The user PIN (or password) for the token.java.io.IOException
- If the keystore cannot be loaded.java.lang.UnsupportedOperationException
- If getting the provider instance fails.KeyStoreSpi.engineLoad(InputStream, char[])
public void engineSetCertificateEntry(java.lang.String alias, java.security.cert.Certificate certificate) throws java.security.KeyStoreException
engineSetCertificateEntry
in class java.security.KeyStoreSpi
alias
- The alias to use for the certificate.certificate
- The certificate to load onto the token.java.security.KeyStoreException
- If storing the certificate fails for some reason.KeyStoreSpi.engineSetCertificateEntry(String, java.security.cert.Certificate)
public void engineSetKeyEntry(java.lang.String alias, java.security.Key key, char[] password, java.security.cert.Certificate[] certificateChain) throws java.security.KeyStoreException
engineSetKeyEntry
in class java.security.KeyStoreSpi
alias
- The alias for the new entry.key
- The key of this new key entry.password
- This parameter is ignored.certificateChain
- The certificate chain associated .java.security.KeyStoreException
- If creating the new key and certificate entry failed.KeyStoreSpi.engineSetKeyEntry(String, java.security.Key, char[], java.security.cert.Certificate[])
public void engineSetKeyEntry(java.lang.String alias, byte[] key, java.security.cert.Certificate[] certificateChain) throws java.security.KeyStoreException
engineSetKeyEntry
in class java.security.KeyStoreSpi
alias
- .key
- .certificateChain
- .java.security.KeyStoreException
- Always throws this exception.KeyStoreSpi.engineSetKeyEntry(String, byte[], java.security.cert.Certificate[])
public int engineSize()
engineSize
in class java.security.KeyStoreSpi
KeyStoreSpi.engineSize()
public void engineStore(java.io.OutputStream out, char[] password) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
engineStore
in class java.security.KeyStoreSpi
out
- If provided, the provider name is written to it.password
- The new user PIN, or null to leave the user.java.io.IOException
- If writing the key store fails.java.security.NoSuchAlgorithmException
- If a required algorithm is unavailable.java.security.cert.CertificateException
- If handling a certificate fails.KeyStoreSpi.engineStore(OutputStream, char[])
public TokenManager getTokenManager()
public boolean isSupportedBy(TokenManager tokenManager)
isSupportedBy
in interface PKCS11EngineClass
tokenManager
- The token manager. Used to get information about the current token.protected void deleteKey(java.lang.String alias) throws iaik.pkcs.pkcs11.TokenException
alias
- The alias of the key.iaik.pkcs.pkcs11.TokenException
- If deleting the PKCS#11 objects fails.protected void deleteChertificateChain(java.lang.String alias) throws iaik.pkcs.pkcs11.TokenException
alias
- The alias of the certificate chain.iaik.pkcs.pkcs11.TokenException
- If deleting the PKCS#11 objects fails.protected void deleteCertificate(java.lang.String alias) throws iaik.pkcs.pkcs11.TokenException
alias
- The alias of the certificate.iaik.pkcs.pkcs11.TokenException
- If deleting the PKCS#11 objects fails.protected iaik.pkcs.pkcs11.objects.Object createCertificate(java.security.cert.Certificate certificate, byte[] id, char[] label) throws java.security.KeyStoreException
certificate
- The certificate to store on the token.id
- The ID to use for the certificate or null, to generate a new unique ID.label
- The label of the new certificate object.java.security.KeyStoreException
- If creating the certificate failed.protected iaik.pkcs.pkcs11.objects.Key findCoreespondingKey(iaik.pkcs.pkcs11.objects.Key key) throws iaik.pkcs.pkcs11.TokenException
key
- The key for which we try to find a corresponding key.iaik.pkcs.pkcs11.TokenException
- If searching for keys fails.protected iaik.pkcs.pkcs11.MechanismInfo getMechanismFeaturesSupport(java.lang.String algorithmName) throws iaik.pkcs.pkcs11.TokenException
algorithmName
- The name of the algorithm.iaik.pkcs.pkcs11.TokenException
- If getting the required information from the token fails.protected void setKeyAttributes(iaik.pkcs.pkcs11.objects.PrivateKey keyTemplate, java.security.cert.X509Certificate certificate, iaik.pkcs.pkcs11.MechanismInfo supportedFeatures) throws iaik.x509.X509ExtensionException, java.security.cert.CertificateException
keyTemplate
- The key templates where the attributes shall be set.certificate
- The certificate from which we gain the key-usage information. May be null.supportedFeatures
- The features supported by this token for the algorithm of the given key. May be null.iaik.x509.X509ExtensionException
- If getting the key-usage extension fails.java.security.cert.CertificateException
- If getting the key-usage extension fails.protected void setKeyAttributes(iaik.pkcs.pkcs11.objects.PublicKey keyTemplate, java.security.cert.X509Certificate certificate, iaik.pkcs.pkcs11.MechanismInfo supportedFeatures) throws iaik.x509.X509ExtensionException, java.security.cert.CertificateException
keyTemplate
- The key templates where the attributes shall be set.certificate
- The certificate from which we gain the key-usage information. May be null.supportedFeatures
- The features supported by this token for the algorithm of the given key. May be null.iaik.x509.X509ExtensionException
- If getting the key-usage extension fails.java.security.cert.CertificateException
- If getting the key-usage extension fails.protected java.security.spec.KeySpec createPrivateKeySpec(java.security.Key key) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException, java.security.KeyStoreException
key
- The key we need a key spec for.java.security.NoSuchProviderException
- If the secondary provider is unavailable.java.security.NoSuchAlgorithmException
- If for the key algorithm is no factory in the secondary provider.java.security.spec.InvalidKeySpecException
- If the required key spec class is unsupported by the secondary provider.java.security.KeyStoreException
- If this method cannot convert this key.protected java.security.spec.KeySpec createPublicKeySpec(java.security.Key key) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException, java.security.KeyStoreException
key
- The key we need a key spec for.java.security.NoSuchProviderException
- If the secondary provider is unavailable.java.security.NoSuchAlgorithmException
- If for the key algorithm is no factory in the secondary provider.java.security.spec.InvalidKeySpecException
- If the required key spec class is unsupported by the secondary provider.java.security.KeyStoreException
- If this method cannot convert this key.protected java.security.spec.KeySpec createKeySpec(java.security.Key key, java.lang.Class keySpecClass) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException, java.security.KeyStoreException
key
- The key we need a key spec for.keySpecClass
- The class object of the expected return value.java.security.NoSuchProviderException
- If the secondary provider is unavailable.java.security.NoSuchAlgorithmException
- If for the key algorithm is no factory in the secondary provider.java.security.spec.InvalidKeySpecException
- If the required key spec class is unsupported by the secondary provider.java.security.KeyStoreException
- If this method cannot convert this key.protected java.security.spec.KeySpec createSecretKeySpec(javax.crypto.SecretKey key) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException, java.security.KeyStoreException
key
- The key we need a key spec for.java.security.NoSuchProviderException
- If the secondary provider is unavailable.java.security.NoSuchAlgorithmException
- If for the key algorithm is no factory in the secondary provider.java.security.spec.InvalidKeySpecException
- If the required key spec class is unsupported by the secondary provider.java.security.KeyStoreException
- If this method cannot convert this key.protected iaik.pkcs.pkcs11.objects.Key createKeyCreationTemplate(iaik.pkcs.pkcs11.objects.Key baseKey)
baseKey
- The key that serves as a basis for the template.protected byte[] generateNewID(byte[] suggestedID) throws iaik.pkcs.pkcs11.TokenException
suggestedID
- This is the suggested ID that will be tried first. If it is unique (unused), it will
be used. Otherwise, it will be incremented until it becomes unique.iaik.pkcs.pkcs11.TokenException
- If checking if an ID is already used fails.protected void ensureCurrentTables() throws IAIKPkcs11Exception
IAIKPkcs11Exception
- If the update fails.protected void ensureReadSession() throws iaik.pkcs.pkcs11.TokenException, IAIKPkcs11Exception
iaik.pkcs.pkcs11.TokenException
- If accessing the token fails.IAIKPkcs11Exception
- If an error occurred in the provider.protected void ensureWriteSession() throws iaik.pkcs.pkcs11.TokenException, IAIKPkcs11Exception
iaik.pkcs.pkcs11.TokenException
- If accessing the token fails.IAIKPkcs11Exception
- If an error occurred in the provider.protected void releaseSessions()
ensureReadSession
or
ensureWriteSession
method must be called.protected java.lang.String createUniqueAlias(iaik.pkcs.pkcs11.objects.Object pkcs11Object, java.util.Set usedAliases)
pkcs11Object
- For this pkcs#11 object this method creates an alias.usedAliases
- This is the set of already used aliases.protected boolean contains(java.util.List arrays, byte[] other)
protected void findKeysAndCertificateTables() throws iaik.pkcs.pkcs11.TokenException, java.security.KeyStoreException
iaik.pkcs.pkcs11.TokenException
- If a search or read operation fails.java.security.KeyStoreException
- If there are illegal contents in the key store.protected void initialize()
protected boolean isEndUserCertificate(iaik.x509.X509Certificate certificate) throws java.security.cert.CertificateException
certificate
- The certificate to check.java.security.cert.CertificateException
- If inspecting the certificate fails.protected iaik.x509.X509Certificate[] createCertificateChain(iaik.x509.X509Certificate userCertificate, java.util.Map subjectToCertificatesMap, char[] label, iaik.pkcs.pkcs11.provider.IdentityMap trustedCertificates)
userCertificate
- The user certificate.subjectToCertificatesMap
- The map; key is the RFC 2253 subject string, value is an iaik.x509.X509Certificate.protected boolean getReadProtectedKeyOnDemand()
protected void setReadProtectedKeyOnDemand(boolean onDemand)
onDemand
- True, if the key store shall not explicitly log-in the session for search keys and
certificates. It will log-in only, if the application tries to access such a key.protected void openReadSession()
IAIKPkcs11Exception
- If opening the session or logging in the user fails.protected void openWriteSession()
IAIKPkcs11Exception
- If opening the session or logging in the user fails.protected java.lang.String readProviderName(java.io.InputStream in) throws java.io.IOException
in
- The stream that provides the characters of the string.java.io.IOException
- If reading the stream fails.protected void writeProviderName(java.lang.String providerName, java.io.OutputStream out) throws java.io.IOException
providerName
- The provider's name.out
- The stream for writing the provider name.java.io.IOException
- If writing the name fails.protected boolean loginSession()
IAIKPkcs11Exception
- If opening the session or logging in the user fails.protected void logoutSession()
TokenManager
to logout using any session. Attention! This causes all
sessions of this token to be logged out. Any currently active operations on this token like
signing may be interrupted.protected void clearTables()
protected void ensureSupportProvider()
supportProviderName_
field.protected void updateTables()
protected boolean isUpToDate() throws iaik.pkcs.pkcs11.TokenException
token
- token object to be used to get token specific information, if null token is directly
accessed to get informationiaik.pkcs.pkcs11.TokenException
- If token access fails.protected void setUpToDate(boolean isUpToDate)
isUpToDate
- If true, the tables are up to date, if false, the tables need to be updated.protected boolean tokenChanged() throws iaik.pkcs.pkcs11.TokenException
iaik.pkcs.pkcs11.TokenException
- If token access fails.protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
- If the close fails.IAIK JavaSecurity Website https://jce.iaik.tugraz.at/
IAIK at Graz University of Technology, Austria, Europe
Copyright 2001-2023 IAIK, Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria. All Rights Reserved. Version 1.9.4