Microsoft MVP성태의 닷넷 이야기
web api 보안관련 질문입니다. [링크 복사], [링크+제목 복사]
조회: 12500
글쓴 사람
허재영 (mirajea at naver.com)
홈페이지
첨부 파일
 

asp.net web api 를 공부중에 있습니다.

제품 정보를 제공하는 api를 거래처 쇼핑몰에 제공하는 기능입니다.
거래처 쇼핑몰 사이트만 api를 호출하도록 기능을 구현하고 싶습니다.

관련 내용을 검색중 client 인증서에 관련된 내용을 아래 사이트에서 확인했습니다.
http://southworks.com/blog/2014/06/16/enabling-ssl-client-certificates-in-asp-net-web-api/
참고 내용에서는 테스트를 위해서 하나의 서버에 모든 인증서가 등록이 되었습니다.

1단계, ca 인증서 생성
makecert.exe -n "CN=Development CA" -r -sv DevelopmentCA.pvk DevelopmentCA.cer

2단계, ssl 인증서 생성 / web api ssl 적용.
makecert -pe -n "CN=localhost" -a sha1 -sky exchange -eku 1.3.6.1.5.5.7.3.1
 -ic DevelopmentCA.cer -iv developmentCA.pvk -sv SSLCert.pvk SSLCert.cer

pvk2pfx -pvk SSLCert.pvk -spc SSLCert.cer -pfx SSLCert.pfx -po 123456

3단계, client 인증서 생성 / 자동 등록
makecert.exe -pe -ss My -sr CurrentUser -a sha1 -sky exchange -n "CN=ClientCertificatesTest"
 -eku 1.3.6.1.5.5.7.3.2 -sk SignedByCA -ic DevelopmentCA.cer -iv DevelopmentCA.pvk


각 쇼핑몰에 client 인증서를 설치하기 위해서 3단계에 등록된 인증서를 내보내기 한 후
쇼핑몰 서버에 배포해야하는 건지 개념이 잡히지않아 답답한 마음에 질문드립니다.












[최초 등록일: ]
[최종 수정일: 2/3/2016]


비밀번호

댓글 작성자
 



2016-02-03 02시56분
잠깐 봤는데, 이를 적용하려면 클라이언트 측은 이미 나름대로의 인증서를 가지고 있어야 합니다. 그래서 해당 사이트를 https로 방문했을 때 웹 브라우저는 서버로부터 클라이언트 측의 인증서 제출을 인식하게 되고 그래서 어떤 인증서를 제출할 지를 선택하도록 만드는 "Windows Security" - "Select a Certificate" 창을 띄우게 됩니다. 사용자가 그 중의 한 인증서를 선택하면 그 인증서의 공개키 부분이 서버로 전달됩니다.

이를 WebApi를 호출하는 상황에 적용한다면, WebApi 서비스를 하는 서버는 당연히 https 접속을 위해 인증서를 할당해 주어야 합니다. 클라이언트 측은 webapi를 호출하는 코드에서 HTTPS 요청 시 자동으로 인증서가 전달되도록 인증서 관련 속성등을 통해 전달될 인증서를 설정해 주어야 합니다.

결국 WebApi 서버는 클라이언트의 공개키를 받게 되고 그 공개키 중에서 원하는 공개키에 대해서만 API가 동작하도록 만드는 코드를 추가해야 합니다.
정성태
2016-02-04 04시14분
[허재영] 답변 감사드립니다.
[guest]

... 31  32  33  34  35  [36]  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4957멍멍이2/13/20189599System.Console - WriteLine함수의 제너릭 사용 [1]
4956김성대2/12/20188937asp.net 질문입니다. [1]
4955웅이2/12/20189485[삭제] WPF에서 list 속도 향상하는 방법이 있을까요?
4954초보자2/8/201811198FFT Library 사용 [1]
4950ASP열공2/5/20188970asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4951ASP열공2/6/20189937    답변글 [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4952ASP열공2/7/20189079        답변글 [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4953ASP열공2/7/20188572            답변글 [답변]: [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다.
4949김성대1/31/201810317비동기 질문입니다. [3]파일 다운로드1
494880511/31/20189080C# 7.1책 보다가 질문드립니다 [1]
4947김성대1/30/201810341[삭제] 비동기 질문입니다. [2]파일 다운로드2
4946윤현수1/29/20189879비동기 TCP통신 데이터 문제 [4]파일 다운로드1
4945김성대1/26/20188400비동기 질문입니다. [1]파일 다운로드1
4944popo1/25/20187826[삭제] 스레드 안에서 Window Visibility 변경시 DialogResult 오류 질문
4943김성대1/22/20188819FromAsync 질문입니다. [1]
4942박현일1/19/201810420WPF 공부중 모르는 문법이 있어서요~^^; [2]
4941김성대1/18/20188670비동기예약어 실행오류관련입니다. [1]
4940plzh...1/10/20189592webbrowser2 를 이용한 sns 로그인 구현 관련 문의 [2]
4939이성일1/4/201811091ClickOnce 배포 후 업데이트 시 발생하는 오류에 대해 질문 드립니다. [2]
4938김성대1/3/20189142채팅 프로그램관련 질문입니다. [9]파일 다운로드1
4937Ques...1/3/201811498C# CPU 사용량 한계치 늘리는 방법 [2]
4936무개1/3/20188659책 내용 인용하는 것에 관한 질문이있습니다. [1]파일 다운로드1
4935몬난아12/28/201711417IIS 및 ASP.NET 이 서버에서의 동작방식? [2]
4934Ques...12/26/201721682C# 해상도에 따른 자동 사이즈 조절방법이 궁금합니다. [3]
4933Kay12/15/20179076C# VS 버전 에러 질문 드립니다. [1]파일 다운로드1
4932정환나라12/13/20179007vs2013에서 빌드한 com 컨트롤 객체를 닷넷 2.0에서 사용하려 합니다 [4]
... 31  32  33  34  35  [36]  37  38  39  40  41  42  43  44  45  ...