Microsoft MVP성태의 닷넷 이야기
[답변]: C#에서 swa + security 구현 방법이 없을까요? [링크 복사], [링크+제목 복사],
조회: 13906
글쓴 사람
정성태 (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]

1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5857guest3/17/20233358귀도 반 로썸을 보고 [4]
5856guest3/17/20233469Form1_FormClosing에 closing time을 Sqlite 저장하는 법? [6]파일 다운로드1
5855욜로3/17/20233010C# 메타데이터에서 불러오는 참조 정의가 안됨 [1]
5854민성3/16/20233222안녕하세요 asp.net mvc using문 관련하여 [1]
5853pa3/16/20233422오피스 2016 업데이트 후 파일 출력 불가 [1]
5852guest3/16/20233190입력 foreach 검색/출력 foreach [3]
5851guest3/15/20233529foreach내 list변경 [10]
5850독서가3/14/20233222C#에서 동적dll 사용시 문의입니다. [4]파일 다운로드1
5849guest3/9/20233197C# wpf로 Web에서 구동되는 hts가능한가요? (노트북없고 스마트폰 없음) [4]
5848민성3/9/20233121도움 요청드립니다. [2]파일 다운로드1
5847guest3/7/20233284SQlike Like 구문 - 1시간째 인데 안되네요 [13]
5846Huuu...3/7/20232939웹 다운로드에 대한 고찰 [5]파일 다운로드1
5845guest3/7/20232978C# Split함수의 불친절함 [1]
5844까망이3/7/20233118c# 무료 디컴파일러는 어떤게 좋습니까? [1]
5843guest3/7/20233120판매 후 dll 등 에러 [5]
5842kr13/6/20233122publish 할 때 분석기 관련 dll 제외 [5]
5841guest3/3/20233294프로그램 판매 시 - Upgrade 버전 판매 [2]
5840joe3/2/20233387C# 클래스 라이브러리 수정 -> C++에서 참조시 함수 목록 갱신되지 않음. [4]파일 다운로드1
5839guest3/2/20233960윈도우 서비스 프로그램 - FORM 애플리케이션 감시서비스 [8]
5838랄랄라3/1/20233206event 사용 시 두 표현의 차이점이 있을까요? [1]
5837감사합니...2/28/20233391오라클 DB서버 접속관련 문의 드립니다.(Load Balancing, HA Events) [2]
5836박지범2/27/20233134static instance의 initialize 순서가 보장되나요? [6]
5835주민호2/25/20236128Windows Software Development Kit - 최신버전 1개 남기고 다 삭제하면 안되는지요? [10]파일 다운로드1
5834guest2/24/20233284Python IDE - 비주얼스튜디오 [3]
5833무지남2/23/20232910Async 메서드 그리고 나서 Bool 메서드 [5]
5832김지우2/21/20233221event와 delegate의 차이 , event를 써야하는 이유 [1]
1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...