2012-02-06 3 views
1

C# 프로그램에 포함 된 리소스 파일이 있습니다. 이 리소스를 읽고 System.Diagnostics.Process.Start() 명령을 통해 외부 exe로 전달해야합니다. 외부 exe는 리소스 경로를 OS의 위치로 지정하려고합니다. 스트림이나 그와 비슷한 것으로 전달할 수있는 방법이 있습니까? 아니면 내가 임시 파일에 다음 외부 exe 파일 경로를 보내도록 작성해야 할거야?System.Diagnostics.Process.Start에 파일 스트림 전달

임베디드 리소스는 인증서 파일입니다. exe는 signtool입니다. 그래서 민감한 성격 때문에 시스템에 리소스를 쓰지 않으려 고 노력하고 싶습니다.

이것이 가능합니까?

+0

데이터를 보내려면 파이프를 사용할 수 있습니까? –

+0

리소스를 포함시키는 것이 큰 실수라고 생각합니다. –

답변

0

암호화 된 개인 정보 교환 (PFX) 형식의 파일에 인증서를 작성한 다음 파일 경로와 암호를 명령 줄의 signtool에 전달할 수 있습니다.

1

아니요, 즉각적인 것은 아닙니다. 당신이 호출하는 EXE는 다르게 써야 할 것이고 어쨌든 한 프로세스에서 다른 프로세스로 핸들을 전달하는 쉬운 방법은 없습니다.

0

도구에 따라 CMD의 "파이프"(|) 옵션과 비슷한 파일을 입력 (텍스트 전용)으로 전달할 수 있습니다. 이 접근법은 표준 입력을 데이터 소스로 사용하는 도구 (예 : Windows에 내장 된 findstr을 비롯한 대부분의 찾기 및 바꾸기 도구)에서만 가능합니다.

그렇지 않으면 - 아니요.

응용 프로그램의 일부로 인증서가있는 경우 (포함 된 리소스) 이미 디스크에 인증서가 있습니다. 짧은 시간 동안 다른 도구를 사용하도록 별도로 저장하는 데 많은 차이가 없습니다. 정말로 그들을 보호해야하는 경우 서명을 다루는 안전한 장소에 별도의 기계를 준비하십시오.