기본 콘텐츠로 건너뛰기

keytool 사용법

keytool.exe -genkey -alias juheon -keyalg RSA -keypass 1234qwer -storepass 1234qwer -keystore juheon.jks  keytool.exe -export -alias juheon -storepass 1234qwer -file juheon.cer -keystore juheon.jks  keytool.exe -importkeystore -srckeystore juheon.jks -destkeystore juheon.key.p12 -deststoretype PKCS12  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert  D:\Java\32bit\jdk1.5.0_22\bin\keytool.exe -import -alias tsasample -keystore  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert -file D:\workspace\Servers\tsa-server-web-config\tomcat.cer  keytool -import -alias somansa -keystore C:\Program Files\Java\jdk1.8.0_102\jre\lib\security\cacert -file c:\somansa.cer #인증서 생성  keytool -genkey -alias keyAlias -keyalg RSA -keypass changeit -storepass changeit –validity 9999 -keystore keystore.jks  keytool -export -alias keyAlias -storepass changeit -file server.cer -keystore keystore.jks  keytool -import -v -trustcacerts -alias keyAlias -file server.cer ...

Cipher Sample



import java.security.InvalidKeyException;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.spec.SecretKeySpec;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Test {

    private static SecretKeySpec    key       = null;
    private static Cipher cipher    = null;

    private static void setUp() throws Exception {
        byte[] bkey = "tjdehdrncjddkaghghkahebfzltkdlwm".getBytes();
        key = new SecretKeySpec(bkey, "SEED");
        cipher = Cipher.getInstance( "SEED/CBC/PKCS5Padding" );
    }

    public static void main(String [] args) throws Exception {
        setUp();
       
        byte [] encryptionBytes = null;
        String input = "ABC123가나다";
        System.out.println( "Entered: " + input );
       
        encryptionBytes = encrypt( input );
        BASE64Encoder encoder = new BASE64Encoder();
        BASE64Decoder decoder = new BASE64Decoder();
        String encodeString = encoder.encode(encryptionBytes);

        System.out.println("Base64 Encode : " + encodeString);
        System.out.println( "Recovered: " + decrypt( decoder.decodeBuffer(encodeString) ) );
    }

    private static byte [] encrypt(String input) throws InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
        cipher.init( Cipher.ENCRYPT_MODE, key );
        byte [] inputBytes = input.getBytes();
        return cipher.doFinal( inputBytes );
    }

    private static String decrypt(byte [] encryptionBytes) throws InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
        cipher.init( Cipher.DECRYPT_MODE, key );
        byte [] recoveredBytes = cipher.doFinal( encryptionBytes );
        String recovered = new String( recoveredBytes );
        return recovered;
    }
}

댓글

댓글 쓰기

이 블로그의 인기 게시물

Tomcat : JDBC JSP

JNDI를 이용하여 Database 연동을 해본다. 1. Oracle XE 설치 Oracel 11g XE를 다운받아 설치.  Download URL  사용자 까지 생성. 2. Resource 등록 %CATALINA_HOME%\conf\server.xml 파일에 DB Resource를 GlobalNamingResources에 등록. 그래야 다른 context에서 참조해서 사용할 수 있다. <GlobalNamingResources>     <!-- Editable user database that can also be used by          UserDatabaseRealm to authenticate users     -->     <Resource name="UserDatabase" auth="Container"               type="org.apache.catalina.UserDatabase"               description="User database that can be updated and saved"               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"               pathname="conf/tomcat-users.xml" />     <Resource name="portal.ds"             auth="Container" ...

Jeus was jsp 컴파일된 파일 경로

WAS 구동시 jsp 에러가 났을때 jsp가 컴파일된 파일을 확인하여 디버깅한다. jeus was jsp 컴파일된 파일 경로 %WAS_HOME%/WEBAPP/WEB-INF/.warjspwork/jeus_jspwork/ jsp 에러의 예) javax.servlet.ServletException: String index out of range: -13 at javax.servlet.http.HttpServlet.service(Unknown Source) at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java(Compiled Code)) at jeus.servlet.engine.RequestDispatcherImpl.processCommonRequestDispatcher(RequestDispatcherImpl.java(Compiled Code)) at jeus.servlet.engine.RequestDispatcherImpl.doForward(RequestDispatcherImpl.java(Compiled Code)) at jeus.servlet.engine.RequestDispatcherImpl.forward(RequestDispatcherImpl.java(Compiled Code)) at com.tomato.jef.servlet.BaseServlet.doDispatch(BaseServlet.java(Inlined Compiled Code)) at com.tomato.jef.bizframe.servlet.XecureHTMLMainServlet.doProcess(XecureHTMLMainServlet.java(Compiled Code)) at com.tomato.jef.bizframe.servlet.XecureHTMLMainServlet.doSessionProcess(Xec...

Vmware Fusion Window가 정상 종료가 되지 않을때

* 1번 방법   1. VMWare가 실행된 그 상태에서 Option키를 누르고 위에 메뉴바에서 Virtual Machine 메뉴를 클릭합니다.  2. 종료 메뉴가 Force 메뉴로 바뀌어 있습니다. Force shut down 이나 Force restart 합니다.  * 2번 방법   1. 유틸리티 - 활성 상태 보기로 들어가서 vmware 단어가 포함된 모든 프로세스를 강제종료 합니다.    2. 가상머신의 파일을 찾아갑니다. (eg. Documents/Virtual Machines/ 안에 있습니다.) 그리고 가상머신 파일의 오른쪽을 눌러 "패키지 내용 보기"로 들어갑니다.  3. ".vmem" 확장자로 된 모든 파일을 쓰레기통에 버리고 난 후 모두 비웁니다.  4. 다시 VMWare을 실행합니다. 어떤 오류가 나면 그냥 Disgard 하면됩니다.