Aaron H. Kim Fearless Integration Maniac

어셈블리 강제 Singing하기

2009-11-03
Aaron Kim

요즘 OpenEdge Progress 라는 4GL DB의 WCF LOB Adapter 를 만들고 있습니다. 원래 자바 베이스라 닷넷용 Proxy Assembly Generator 로 Proxy Assembly 생성후 참조해서 사용합니다.

WCF Adapter 어셈블리는 항상 GAC에 올려야 하므로 strong name 이라야 합니다. 어댑터가 참조하는 닷넷 어셈블리도 마찬가지지요. 하지만 위의 경우처럼 Third party 일 경우 닷넷용 Proxy Assembly 에 키를 적용해서 다시 생성해달라고 하기 힘들 수가 있습니다.

이 때 사용할 수 있는 방법은 두가지입니다. 해당 어셈블리를 verification skipping 대상으로 등록하던가, 강제 singing 하던가.

SN.exe -Vr thirdparty.dll // verification skipping

// force siging
Use Microsoft intermediate language (MSIL) Disassembler to disassemble the assembly:
ILDASM.exe thirdparty.dll /out:thirdparty.il

Then, use MSIL Assembler to reassemble the assembly with a strong name:
ILASM.exe thirdparty.il /dll /key=strongkeyfile.snk

Progress 의 Proxygen 은 키를 적용할 수 있기 때문에 위 방법까지 쓸 필요는 없었지만 담당자가 일처리를 해주기까지 꽤 오래 기다려야 했습니다. Progress 가 설치된 서버에서만 실행되고, 따로 소스는 없고 어셈블리만 딸랑 떨구거든요.

참조 : Do we need to GAC the adapter assembly?


Similar Posts

Comments