일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 인증
- MFA
- otpkey
- Nodejs
- Xcode
- apple
- appres
- git
- css
- OSX
- 앱리소스
- SSH
- MYSQL
- openssl
- 안드로이드
- FIDO2
- SSL
- albumbook
- Android
- SwiftUI
- kmip
- fido
- MSYS2
- 2FA
- SWIFT
- WebAuthn
- 애플
- OTP
- 앱스토어
- 앨범북
Archives
- Today
- Total
인디노트
다음은 RSA 암호화가있는 jks 키 저장소를 사용하여 함께 해결할 수있는 솔루션입니다. 본문
import javax.crypto.Cipher;
import javax.xml.bind.DatatypeConverter;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.KeyStore;
import java.security.cert.Certificate;
public class Main {
public static void main(String[] args) {
byte[] txt = "This is a secret message for your own eyes only".getBytes();
byte[] encText;
try{
// Load the keystore
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
char[] password = "keystorePassword".toCharArray();
java.io.FileInputStream fis = new java.io.FileInputStream("/path/to/keystore/myKeyStore.jks");
ks.load(fis, password);
fis.close();
Key rsakey = ks.getKey("mykeyalias", password);
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
// Encrypt
Certificate cert = ks.getCertificate("mykeyalias");
try
{
cipher.init(Cipher.ENCRYPT_MODE, cert.getPublicKey());
encText = cipher.doFinal(txt);
System.out.println(encText.toString());
}
catch (Throwable e)
{
e.printStackTrace();
return;
}
// Decrypt
cipher.init(Cipher.DECRYPT_MODE, rsakey);
String decrypted = new String(cipher.doFinal(encText));
System.out.println(decrypted);
} catch (Exception e) {
System.out.println("error" + e);
}
}
반응형
'인증기술' 카테고리의 다른 글
FIDO 스펙 개요 (0) | 2020.11.02 |
---|---|
FIDO2.0 구조적 특징 소개 (0) | 2020.11.02 |
Simple Certificate Enrolment Protocol (0) | 2018.08.22 |
SCEP 기술 (0) | 2018.08.21 |
CSR (PKCS 10) 생성하는 Java Code Sample (0) | 2018.08.21 |
Comments