SSL 에 관련 정리 문서...
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

본문내용

유연하다고 하는데...정말일까요?..^^;) CAPI는 기본적인 암호화 작업을 위한 함수를 제공한다.(키 생성, 자료의 암호화, 문서의 서명, 인증서의 요구등)
CAPI는 다음의 4단계를 이용하여 인증요구서를 발행하고 인증서를 수령한다.
CAPI함수가 당신을 위한 Key Pair를 생성하고 인증서 창고에 저장한다.
DN(Distinguished Name)을 생성한다.(?)
CA로 전송을 하기위한 PKCS#10형태의 자료를 생성한다.
CA에서 인증한 자료를 인증서 창고에 저장한다.
Explorer의 인증서는 "HKEY_CURRENT_USER/Software/Microsoft/Cryptography/"에 저장된다. CAPI함수는 OBJECT TAG를 이용하여 로컬디스크에 있는 DLL을 읽어들인후에 사용 할 수 있다. 다음은 CAPI를 위한 xenroll.dll을 읽어들이는 예이다. (예전에는 certenr3.dll이라는 화일에서 지원했었는데 지금은 사용되지 않고 있고, 사용했을경우에 OpenSSL에서 사인방법이 틀려진다.)
--------------------------------------------------------------------------------
codebase="xenroll.dll"
id=Enroll>

--------------------------------------------------------------------------------
정상적으로 xenroll.dll이 불려졌으면 DN스트링을 만들고 xenroll의 createPKCS10함수를 불러서 PKCS#10형태의 인증 요구서를 만든다. DN스트링의 문자열의 구성과 createPKCS10함수콜은 다음과 같이 한다.
$szStr="CN=SeungSu KUK; C=KR; ST=KyungBook; L=Kyungsan; O=Catholic University of DAEGU; OU=Computer Center";
$result=Enroll.createPKCS10(szStr, "1.3.6.1.4.1.311.2.1.21");
생성된 $result에는 PKCS#10형태의 문자열이 들어 있고 이것을 CA로 전송한다. CA측에서는 이것에 사인하고 PKCS#7의 형태로 인증서를 돌려준다.
OpenSSL에서는 다음과 같은 방법을 이용하여 사인하고 인증서를 생성한다. 먼저 $result에서 들어오는 자료에는 "BEGIN CERTIFICATE REQUEST"라는 문자열이 없는 상태임으로 $result를 이용하여 다음과 같은 형태의 화일을 생성한다.
-----BEGIN CERTIFICATE REQUEST-----
$result에서 ^M을 삭제한 내용
-----END CERTIFICATE REQUEST-----
생성된 화일은 다음과 같이 사인하고 PKCS#7형태의 화일을 생성한다.
openssl ca -in 생성된화일 -out cert결과화일
openssl crl2pkcs7 -certfile cert결과화일 -in /path/to/crl.pem -out pkcs7화일
(crl.pem화일은 미리 생성되어 있어야 하는데 "openssl ca -gencrl"명령을 이용하여 생성한다.) pkcs7화일을 Explorer로 전송할 때에는 "BEGIN PKCS7"와 "END PKCS7"이라는 문자열(첫줄과 끝줄)을 지운상태로 전송해야 한다. (않그러면 에러가 발생한다.) 전송된 PKCS7화일(VBScript나 JavaScript의 변수로 전송)은 AcceptPKCS7함수에 의해서 import되며 다음과 같이 한다.
$szStr="전송된 PKCS7화일의 내용"
$result=Enroll.AcceptPKCS7(szStr);
3) JDK2 사용자인증
(여기는 1년전의 내용입니다..-.- 따라서 간단한 개념만 적어보겠습니다. 그리고 빠른시간내에 전제적인 내용을 정리하겠습니다.)
JDK2에서는 applet이나 javascript등을 사인하기 위해서 인증서를 사용한다. 비밀키와 공개키의 생성은 keytool을 통해서 이루어지며 keytool을 통하여 import/export기능을 수행한다. keytool을 이용한 공개키/비밀키의 생성은 다음과 같이 한다.
keytool -genkey -alias 사용자명 -keypass 해당키의비밀번호
keytool에서 "-genkey"를 이용하면 Distinguished-Name을 요구하고 시험용으로 사용하는 Self-Signed Certificate를 생성한다. 이것은 나중에 "import"에의해 CA에서 인증한 키로 대체된다. keytool에서 사용할수 있는 옵션은 다음과 같다.
-certreq : CSR화일을 생성한다.
-delete : keystore에서 해당키를 삭제한다.
-export : 공개키를 추출한다.
-genkey : keystore entry를 생성한다.
-import : CA에서 인증한 인증서를 import한다.
-list : keystore의 내용을 보여준다.
-keypasswd: 비밀키에 암호를 설정한다.
-storepasswd: (요건모지?)
인증요구서를 만들기 위해서는 "-certreq"를 사용한다. (이때 genkey에서 입력한 비밀번호를 넣어야 한다.)
keytool -certreq -keystore keystore이름 -alias 사용자명 -file CSR화일명
생성된 CSR화일은 CA에서 인증하고 "-import"를 이용해서 keystore에 저장한다.
keytool -import -alias 사용자명 -file CERT화일명 -keystore keystore명
내용을 확인하고 싶으면 keytool -printcert -file CERT화일명이렇게 입력한다.
OpenSSL에서 J2sdk에서 요구한 인증서를 처리할 때에는 다음과 같이하여 인증서를 생성하고 E-mail등을 이용하여 돌려주면 된다.
openssl ca -in certreq화일 -out 결과cert화일
  • 가격2,300
  • 페이지수12페이지
  • 등록일2002.08.31
  • 저작시기2002.08
  • 파일형식한글(hwp)
  • 자료번호#202416
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니