com.ibm.crypto.pkcs11impl.provider
Class IBMPKCS11Impl
- java.lang.Object
java.util.Dictionary<K,V>
java.util.Hashtable<java.lang.Object,java.lang.Object>
java.util.Properties
java.security.Provider
java.security.AuthProvider
com.ibm.crypto.pkcs11impl.provider.IBMPKCS11Impl
All implemented interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Object,java.lang.Object>
- public final class IBMPKCS11Impl
- extends java.security.AuthProvider
See Also:
Nested Class Summary
Nested classes/interfaces inherited from class java.security.Provider |
---|
java.security.Provider.Service |
Constructor Summary
Constructor and Description |
---|
IBMPKCS11Impl()
Creates the provider and expects that the current ACC contains a PKCS11Principal.
|
IBMPKCS11Impl(java.io.BufferedReader in)
Creates the provider using the PKCS #11 library name and slot number.
|
IBMPKCS11Impl(java.lang.String fullFileName)
Creates the provider using the PKCS #11 library name and slot number or via
a configuration file (for example cryptoki.dll:0 or /usr/foo/config.card).
|
Method Summary
Modifier and Type | Method and Description |
---|---|
|
close()
Closes all open session and cleans up crypto card resources.
|
|
getSessionManager()
|
|
Init(java.io.BufferedReader in)
Creates or queries a PKCS11 session and than based on the session initializes
what the provider can do.
|
|
Init(java.lang.String fullFileName,char[] passwd)
Creates or queries a PKCS11 session and than based on the session initializes
what the provider can do.
|
|
login(javax.security.auth.Subject subject,javax.security.auth.callback.CallbackHandler handler)
Log in to the hardware device for the associated session.
|
|
logout()
Log out from the associated session
|
|
removeSession()
Removes and closes the session that is currently associated with the
provider.
|
|
setCallbackHandler(javax.security.auth.callback.CallbackHandler handler)
Sets the
CallbackHandler for this provider.
|
Methods inherited from class java.security.Provider |
---|
clear, entrySet, getInfo, getName, getService, getServices, getVersion, keySet, load, put, putAll, remove, toString, values |
Methods inherited from class java.util.Properties |
---|
getProperty, getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames |
Methods inherited from class java.util.Hashtable |
---|
clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, size |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail
IBMPKCS11Impl
- public IBMPKCS11Impl()
Creates the provider and expects that the current ACC contains a PKCS11Principal.
IBMPKCS11Impl
- public IBMPKCS11Impl(java.lang.String fullFileName)
- throws java.lang.Exception
Creates the provider using the PKCS #11 library name and slot number or via
a configuration file (for example cryptoki.dll:0 or /usr/foo/config.card).
Throws:
java.lang.Exception
IBMPKCS11Impl
- public IBMPKCS11Impl(java.io.BufferedReader in)
- throws java.lang.Exception
Creates the provider using the PKCS #11 library name and slot number.
for example cryptoki.dll:0
Throws:
java.lang.Exception
Method Detail
getSessionManager
- public com.ibm.crypto.pkcs11impl.provider.SessionManager getSessionManager( )
removeSession
- public void removeSession()
Removes and closes the session that is currently associated with the
provider.
Init
- public void Init(java.io.BufferedReader in)
- throws java.io.IOException
Creates or queries a PKCS11 session and than based on the session initializes
what the provider can do.
Throws:
java.io.IOException
Init
- public void Init(java.lang.String fullFileName,
- char[] passwd)
- throws java.io.IOException
Creates or queries a PKCS11 session and than based on the session initializes
what the provider can do.
Throws:
java.io.IOException
close
- public void close()
Closes all open session and cleans up crypto card resources.
Once this API is called, the provider has to be reinitialized to be useful.
login
- public void login(javax.security.auth.Subject subject,
- javax.security.auth.callback.CallbackHandler handler)
- throws javax.security.auth.login.LoginException
Log in to the hardware device for the associated session.
Get the PIN using the handler
supplied by the caller. This
handler
must support a PasswordCallback
.
Specified by:
login
in class java.security.AuthProvider
Parameters:
subject
- this parameter is not used handler
- the CallbackHandler
used by to get the PIN from
the user. Throws:
javax.security.auth.login.LoginException
- if the login operation is unsuccessful java.lang.SecurityException
- if the does not pass a security check for
SecurityPermission("authProvider.name")
,
where name is the name of the provider. logout
- public void logout()
- throws javax.security.auth.login.LoginException
Log out from the associated session
Specified by:
logout
in class java.security.AuthProvider
Throws:
javax.security.auth.login.LoginException
- if the logout operation is not successful java.lang.SecurityException
- if the does not pass a security check for
SecurityPermission("authProvider.name")
,
where name is the value the providers name. setCallbackHandler
- public void setCallbackHandler( javax.security.auth.callback.CallbackHandler handler)
Sets the
CallbackHandler
for this provider.
The provider uses this handler if one is not passed in to the
login
method. The provider also uses this handler if it
invokes login
on behalf of callers.
Specified by:
setCallbackHandler
in class java.security.AuthProvider
Parameters:
handler
- a CallbackHandler
for getting the
authentication information. This may be null
Throws:
java.lang.SecurityException
- if the caller does not have access to authProvider.
name ", where name is the value the
provider's name.