Microsoft MVP성태의 닷넷 이야기
[답변]: C#에서 swa + security 구현 방법이 없을까요? [링크 복사], [링크+제목 복사],
조회: 20364
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

^^; 이 글을 통해서, 국세청에서 "전자세금계산서"를 다루는 중임을 처음 알았습니다.

일단, SoapAttachments와 (현재 버전의) WS-Security 표준과는 동작하지 않기 때문에 WCF에서는 제외했다는 소식이 있군요.

Web Services, Opaque Data, and the Attachments Problem - SOAP with Attachments (SwA)
; https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/ms996462(v=msdn.10)?redirectedfrom=MSDN

그러고 보면, 전형적인 "공무원"다운 전자세금서 스펙을 재정했군요. 위의 글에도 나오지만, SwA는 W3C Note 정도로만 올라간 것일 뿐 W3C Recommendation도 아니고 W3C Working Draft 상태도 아니라고 하는데... 어찌 상호운용성이 좀 더 좋은 MTOM을 선정하지 않았는지 이해가 안됩니다.

Web Service Attachments Support Matrix
; http://3.bp.blogspot.com/_6DvmzgV-o20/SPKTKgjAa2I/AAAAAAAAArI/o-luyzN-X7E/s1600-h/attachments.PNG

암튼. 기왕에 이미 이렇게 되어 버렸으니 할 수 없는 상황이군요.

... 말씀하신 것처럼 공식적으로 API 수준에서 제공되는 것은 없는 듯합니다.

대신에... 천천히 하나씩 같이 풀어가 볼까요?
우선, 지금 중요한 것은 SwA를 지원해야 하는 건데 그건 아래의 custom encoder를 사용하면 해결되지 않을까 싶은데요.

WCF SOAP-With-Attachments Message Encoder
; http://wcfswaencoder.codeplex.com/

(위의 Encoder가 정상적으로 동작한다고 가정하고) 이제 Security를 적용해야 하는데요. 전자 세금계산서의 스펙에서는 어떻게 보안 적용을 하도록 되어 있나요? 제가 스펙까지 살펴볼 시간은 없지만, 그런 부분에 대해서 설명을 해주시면 가능한 도움이 되도록 해보겠습니다.








[최초 등록일: ]
[최종 수정일: 7/10/2021]


비밀번호

댓글 작성자
 



2009-10-15 01시42분
[김우진] 답변주셔서 감사합니다.^^
전자세금계산서에서의 Scurity 는, 일반적인 Soap+Security 방식에다가
첨부되는 MIME 메시지에도 전자서명을 하는 방식입니다.
MIME 메시지의 해시값을 SignedInfo 에 http://docs.oasis-open.org/wss/v1.1/wss-v1.1-spec-errata-cd-SwAProfile.html
알고리즘을 이용해서 트랜스폼을 한다음에,
최종적으로 시그니쳐를 추가하여 soap 메시지 완성후에 전송하도록 되어 있습니다.
MIME 메시지는, ANS.1 패키징 바이너리 이고요..
[guest]

... 31  32  33  34  35  36  37  38  39  40  [41]  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4865heyh...7/31/201719623클릭원스로 배포 한 프로젝트가 끝났는지 알 수 있는 방법 [8]
4864초보자7/28/201718767DllIImport질문 드립니다. [1]
4863다연아빠7/23/201719494전역 예외처리에 대해 질문있습니다. [3]
4861라르크7/17/201726328window form 예제 따라하는 중인데 12.3 서비스 응용 프로그램에서 진행이 안됩니다. [3]파일 다운로드1
4859heyh...7/10/201719676다른 환경에서 실행하기 [1]
4858heyh...7/10/201718885Clickonce update에 관한질문입니다. [1]
4857heyh...7/7/201719634제가 여태까지 작성한 보고서입니다. [2]파일 다운로드1
4856heyh...7/6/201717483성태님 다른질문입니다. [4]
4855JP7/6/201717484Dispose 패턴 구현시 Finalize 재정의에 대한 질문드립니다. [2]
4854heyh...7/6/201717738
4853heyh...7/5/201717077성태님이 작성한대로 해봤습니다. [1]파일 다운로드1
4852김레오7/4/201720336서드파티 dll 디버깅에 대해 질문드립니다. [2]
4851김현준7/3/201720837Datagridview VirtualMode 시 GC가 계속 호출되는 현상이 이해가 안갑니다. [2]
4850heyh...7/3/201719216성태님 밑에 질문드렸던 오류입니다. [1]파일 다운로드1
4849포플러7/2/201741284C#으로 만든 프로그램이 어느 순간 속도가 느려지거나 멈춤현상이 있습니다. [4]
4848윤진영7/2/201721572Microsoft Visual C++ 6.0 무설치 관련 [1]
4847heyh...6/30/201718991아무리 고민해도 답이 안나와서.. 질문 드립니다 [1]
4846heyh...6/28/201718553Clickonce에서 Clickonce로 변수 전달 [1]
4845heyh...6/26/201718003vb.net 에서 manifest 제거 방법 [1]파일 다운로드1
4844san6/21/201717676part3 pdf파일로 보는데 눈아퍼요.... 활자로 보고싶어요 [2]
4843윤현수6/20/201716543socket통신에 관한 질문입니다. [1]
4842오세운6/7/201717520로그인폼 다시 질문드려요. [1]
4841popo6/7/201718319궁금한사항이 있어 질문 드립니다. [1]
4840윤현수6/5/201718132datagridview에 바인딩시킨 dataset.table에 관련된 질문입니다. [2]파일 다운로드1
4839오세운6/2/201719132로그인폼 만들기 [1]
4838후배5/29/201719802PDF Reader 라이브러리.. [3]
... 31  32  33  34  35  36  37  38  39  40  [41]  42  43  44  45  ...