public class PKCS11KeyStore
extends java.security.KeyStoreSpi
Принципы: 1) в KeyStore.load передавать label токена. Например, "eToken" (TokenInfo.label) 2) Alias - это PrivateKey.keyName (поиск alias будет по Private Keys) 3) Держать PKCS11.Session и PKCS11.Login открытыми (сразу после KeyStore.load) 4) в методах с паролем нужно: -либо не передавать пароль, -либо передавать пароль, соответствующий паролю, переданному при инициализации keyStore.load() 5) считать, что в токене с одним label имеется не более одного publicKey, privateKey, certificate
| Modifier and Type | Field and Description |
|---|---|
private char[] |
pass |
private long |
session |
| Constructor and Description |
|---|
PKCS11KeyStore() |
| Modifier and Type | Method and Description |
|---|---|
static void |
deleteKey(long p11_session,
java.lang.String name) |
java.util.Enumeration<java.lang.String> |
engineAliases() |
boolean |
engineContainsAlias(java.lang.String alias) |
void |
engineDeleteEntry(java.lang.String alias) |
java.security.cert.Certificate |
engineGetCertificate(java.lang.String alias) |
java.lang.String |
engineGetCertificateAlias(java.security.cert.Certificate cert) |
java.security.cert.Certificate[] |
engineGetCertificateChain(java.lang.String alias) |
java.util.Date |
engineGetCreationDate(java.lang.String alias) |
java.security.Key |
engineGetKey(java.lang.String alias,
char[] password) |
boolean |
engineIsCertificateEntry(java.lang.String alias) |
boolean |
engineIsKeyEntry(java.lang.String alias) |
void |
engineLoad(java.io.InputStream stream,
char[] password) |
void |
engineSetCertificateEntry(java.lang.String alias,
java.security.cert.Certificate cert) |
void |
engineSetKeyEntry(java.lang.String alias,
byte[] key,
java.security.cert.Certificate[] chain) |
void |
engineSetKeyEntry(java.lang.String alias,
java.security.Key key,
char[] password,
java.security.cert.Certificate[] chain) |
int |
engineSize() |
void |
engineStore(java.io.OutputStream stream,
char[] password) |
protected void |
finalize() |
private int |
getPrivateKeyCount() |
void |
setCertificate(long p11_session,
java.lang.String alias,
byte[] cert) |
public java.security.Key engineGetKey(java.lang.String alias,
char[] password)
throws java.security.NoSuchAlgorithmException,
java.security.UnrecoverableKeyException
engineGetKey in class java.security.KeyStoreSpijava.security.NoSuchAlgorithmExceptionjava.security.UnrecoverableKeyExceptionpublic java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String alias)
engineGetCertificateChain in class java.security.KeyStoreSpipublic java.security.cert.Certificate engineGetCertificate(java.lang.String alias)
engineGetCertificate in class java.security.KeyStoreSpipublic java.util.Date engineGetCreationDate(java.lang.String alias)
engineGetCreationDate in class java.security.KeyStoreSpipublic void engineSetKeyEntry(java.lang.String alias,
java.security.Key key,
char[] password,
java.security.cert.Certificate[] chain)
throws java.security.KeyStoreException
engineSetKeyEntry in class java.security.KeyStoreSpijava.security.KeyStoreExceptionpublic void engineSetKeyEntry(java.lang.String alias,
byte[] key,
java.security.cert.Certificate[] chain)
throws java.security.KeyStoreException
engineSetKeyEntry in class java.security.KeyStoreSpijava.security.KeyStoreExceptionpublic void engineSetCertificateEntry(java.lang.String alias,
java.security.cert.Certificate cert)
throws java.security.KeyStoreException
engineSetCertificateEntry in class java.security.KeyStoreSpijava.security.KeyStoreExceptionpublic void engineDeleteEntry(java.lang.String alias)
throws java.security.KeyStoreException
engineDeleteEntry in class java.security.KeyStoreSpijava.security.KeyStoreExceptionpublic static void deleteKey(long p11_session,
java.lang.String name)
throws java.lang.Exception
java.lang.Exceptionpublic java.util.Enumeration<java.lang.String> engineAliases()
engineAliases in class java.security.KeyStoreSpipublic boolean engineContainsAlias(java.lang.String alias)
engineContainsAlias in class java.security.KeyStoreSpipublic int engineSize()
engineSize in class java.security.KeyStoreSpiprivate int getPrivateKeyCount()
public boolean engineIsKeyEntry(java.lang.String alias)
engineIsKeyEntry in class java.security.KeyStoreSpipublic boolean engineIsCertificateEntry(java.lang.String alias)
engineIsCertificateEntry in class java.security.KeyStoreSpipublic java.lang.String engineGetCertificateAlias(java.security.cert.Certificate cert)
engineGetCertificateAlias in class java.security.KeyStoreSpipublic void engineStore(java.io.OutputStream stream,
char[] password)
throws java.io.IOException,
java.security.NoSuchAlgorithmException,
java.security.cert.CertificateException
engineStore in class java.security.KeyStoreSpijava.io.IOExceptionjava.security.NoSuchAlgorithmExceptionjava.security.cert.CertificateExceptionpublic void engineLoad(java.io.InputStream stream,
char[] password)
throws java.io.IOException,
java.security.NoSuchAlgorithmException,
java.security.cert.CertificateException
engineLoad in class java.security.KeyStoreSpijava.io.IOExceptionjava.security.NoSuchAlgorithmExceptionjava.security.cert.CertificateExceptionpublic void setCertificate(long p11_session,
java.lang.String alias,
byte[] cert)
protected void finalize()
finalize in class java.lang.ObjectCopyright © 1998-2014 Gamma Technologies. All Rights Reserved.