Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 17 jdk.crypto.cryptoki.jmod - Crypto KI Module
JDK 17 jdk.crypto.cryptoki.jmod is the JMOD file for JDK 17 Crypto Cryptoki module.
JDK 17 Crypto KI module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.crypto.cryptoki.jmod.
JDK 17 Crypto KI module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Crypto KI module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\jdk.crypto.cryptoki.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/security/pkcs11/P11KeyFactory.java
/*
* Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package sun.security.pkcs11;
import java.security.*;
import java.security.spec.*;
import sun.security.pkcs11.wrapper.PKCS11Exception;
/**
* KeyFactory base class. Provides common infrastructure for the RSA, DSA,
* and DH implementations.
*
* The subclasses support conversion between keys and keyspecs
* using X.509, PKCS#8, and their individual algorithm specific formats,
* assuming keys are extractable.
*
* @author Andreas Sterbenz
* @since 1.5
*/
abstract class P11KeyFactory extends KeyFactorySpi {
// token instance
final Token token;
// algorithm name, currently one of RSA, DSA, DH
final String algorithm;
P11KeyFactory(Token token, String algorithm) {
super();
this.token = token;
this.algorithm = algorithm;
}
/**
* Convert an arbitrary key of algorithm into a P11Key of token.
* Used by P11Signature.init() and RSACipher.init().
*/
static P11Key convertKey(Token token, Key key, String algorithm)
throws InvalidKeyException {
return (P11Key)token.getKeyFactory(algorithm).engineTranslateKey(key);
}
// see JCA spec
protected final <T extends KeySpec> T engineGetKeySpec(Key key, Class<T> keySpec)
throws InvalidKeySpecException {
token.ensureValid();
if ((key == null) || (keySpec == null)) {
throw new InvalidKeySpecException
("key and keySpec must not be null");
}
// delegate to our Java based providers for PKCS#8 and X.509
if (keySpec.isAssignableFrom(PKCS8EncodedKeySpec.class)
|| keySpec.isAssignableFrom(X509EncodedKeySpec.class)) {
try {
return implGetSoftwareFactory().getKeySpec(key, keySpec);
} catch (GeneralSecurityException e) {
throw new InvalidKeySpecException("Could not encode key", e);
}
}
// first translate into a key of this token, if it is not already
P11Key p11Key;
try {
p11Key = (P11Key)engineTranslateKey(key);
} catch (InvalidKeyException e) {
throw new InvalidKeySpecException("Could not convert key", e);
}
Session[] session = new Session[1];
try {
if (p11Key.isPublic()) {
return implGetPublicKeySpec(p11Key, keySpec, session);
} else {
return implGetPrivateKeySpec(p11Key, keySpec, session);
}
} catch (PKCS11Exception e) {
throw new InvalidKeySpecException("Could not generate KeySpec", e);
} finally {
session[0] = token.releaseSession(session[0]);
}
}
// see JCA spec
protected final Key engineTranslateKey(Key key) throws InvalidKeyException {
token.ensureValid();
if (key == null) {
throw new InvalidKeyException("Key must not be null");
}
if (key.getAlgorithm().equals(this.algorithm) == false) {
throw new InvalidKeyException
("Key algorithm must be " + algorithm);
}
if (key instanceof P11Key) {
P11Key p11Key = (P11Key)key;
if (p11Key.token == token) {
// already a key of this token, no need to translate
return key;
}
}
P11Key p11Key = token.privateCache.get(key);
if (p11Key != null) {
return p11Key;
}
if (key instanceof PublicKey) {
PublicKey publicKey = implTranslatePublicKey((PublicKey)key);
token.privateCache.put(key, (P11Key)publicKey);
return publicKey;
} else if (key instanceof PrivateKey) {
PrivateKey privateKey = implTranslatePrivateKey((PrivateKey)key);
token.privateCache.put(key, (P11Key)privateKey);
return privateKey;
} else {
throw new InvalidKeyException
("Key must be instance of PublicKey or PrivateKey");
}
}
abstract <T extends KeySpec> T implGetPublicKeySpec(P11Key key, Class<T> keySpec,
Session[] session) throws PKCS11Exception, InvalidKeySpecException;
abstract <T extends KeySpec> T implGetPrivateKeySpec(P11Key key, Class<T> keySpec,
Session[] session) throws PKCS11Exception, InvalidKeySpecException;
abstract PublicKey implTranslatePublicKey(PublicKey key)
throws InvalidKeyException;
abstract PrivateKey implTranslatePrivateKey(PrivateKey key)
throws InvalidKeyException;
abstract KeyFactory implGetSoftwareFactory() throws GeneralSecurityException;
}
⏎ sun/security/pkcs11/P11KeyFactory.java
Or download all of them as a single archive file:
File name: jdk.crypto.cryptoki-17.0.5-src.zip File size: 239109 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.crypto.ec.jmod - Crypto EC Module
2023-10-15, ≈11🔥, 0💬
Popular Posts:
JDK 11 jrt-fs.jar is the JAR file for JDK 11 JRT-FS (Java RunTime - File System) defined in the "jdk...
JDK 11 jdk.javadoc.jmod is the JMOD file for JDK 11 Java Document tool, which can be invoked by the ...
JDK 11 jdk.charsets.jmod is the JMOD file for JDK 11 Charsets module. JDK 11 Charsets module compile...
JDK 17 jdk.charsets.jmod is the JMOD file for JDK 17 Charsets module. JDK 17 Charsets module compile...
What Is ojdbc8.jar for Oracle 12c R2? ojdbc8.jar for Oracle 12c R2 is the JAR files of ojdbc.jar, JD...