반응형
프로그래밍 방식으로 새 키 저장소를 생성하려면 어떻게합니까?
Java에서 프로그래밍 방식으로 새 키 저장소를 만들려고합니다. 다음 코드 :
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.setCertificateEntry("alias", cert);
초기화되지 않은 키 저장소 예외가 발생합니다.
키 스토어는 생성 된 후로드되어야합니다. 로드 메소드는 읽을 FileInputStream을 요청하지만 널을 제공하면 빈 키 스토어가로드됩니다.
이 링크 보기
Java로 새 키 스토어를 생성하려면 먼저 키 스토어 파일을 생성 한 다음 store(FileOutputStream, char[])
메소드를 사용하여 저장해야합니다 .
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
char[] password = "some password".toCharArray();
ks.load(null, password);
// Store away the keystore.
FileOutputStream fos = new FileOutputStream("newKeyStoreFileName");
ks.store(fos, password);
fos.close();
도움이 되었기를 바랍니다 . 여기에서 자세한 정보를 볼 수 있습니다 .
이 코드를 사용하면 작동하며 도움이되기를 바랍니다.
public static KeyStore createKeyStore() throws Exception {
File file = new File("/Users/keyserverstore.keystore");
KeyStore keyStore = KeyStore.getInstance("JKS");
if (file.exists()) {
// if exists, load
keyStore.load(new FileInputStream(file), "123456".toCharArray());
} else {
// if not exists, create
keyStore.load(null, null);
keyStore.store(new FileOutputStream(file), "123456".toCharArray());
}
return keyStore;
}
// load the keystore
KeyStore p12 = KeyStore.getInstance("pkcs12");
p12.load(new FileInputStream("KEYSTORE.p12"), "passwd".toCharArray());
// load the private key entry from the keystore
Key key = p12.getKey("mykey", "passwd".toCharArray());
PrivateKey privKey = (PrivateKey) key;
public static void main(String[] args) {
// Load the JDK's cacerts keystore file
String filename = System.getProperty("java.home") + "/lib/security/cacerts".replace('/', File.separatorChar);
FileInputStream is = new FileInputStream(filename);
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
char[] password = "changeit".toCharArray();
//keystore.load(is, password.toCharArray());
keystore.load(is, password);
// This class retrieves the most-trusted CAs from the keystore
PKIXParameters params = new PKIXParameters(keystore);
// Get the set of trust anchors, which contain the most-trusted CA certificates
java.security.cert.Certificate sapcert = keystore.getCertificate("SAPNetCA");
PublicKey sapcertKey = sapcert.getPublicKey();
System.out.println(sapcertKey);
Enumeration<String> aliases = keystore.aliases();
while (aliases.hasMoreElements()) {
String alias = aliases.nextElement();
//System.out.println("alias certificates :"+alias);
if (keystore.isKeyEntry(alias)) {
keystore.getKey(alias, password);
}
}
참조 URL : https://stackoverflow.com/questions/5312559/how-do-i-programmatically-create-a-new-keystore
반응형
'Programing' 카테고리의 다른 글
htaccess를 사용한 모바일 리디렉션 (0) | 2021.01.11 |
---|---|
asp.net mvc 3 및 C #을 사용하여 쿠키를 지우는 방법은 무엇입니까? (0) | 2021.01.11 |
트위터 부트 스트랩 날짜 선택기 (0) | 2021.01.11 |
쉘 스크립트 (Unix)에서 터미널 창을 닫으시겠습니까? (0) | 2021.01.11 |
StaticExtension 값을 확인할 수 없습니다. (0) | 2021.01.11 |