2011-02-08 4 views
1

저는 C# 응용 프로그램을 사용하여 일부 Java 응용 프로그램을 호출하며 그 중 일부는 다양한 용도로 SSH를 사용합니다. 순간 나는 암호를 묻는 자바 커맨드 라인 애플 리케이션에서 많은 팝업 상자를 얻을. C#에서 암호를 입력하여 Java 응용 프로그램에 안전하게 전달할 수있는 구체적인 제안이 있는지 궁금합니다. 지금은 많은 명령 줄 매개 변수와 쉘 exec를 사용하여 자바 애플 리케이션을 호출합니다.C#에서 Java 응용 프로그램으로 암호를 안전하게 옮깁니다.

내가 생각할 수있는 유일한 것은 어떻게 든 C#에서 암호를 암호화 한 다음 Java에서 해독하는 것입니다. 하지만 그들은 공통 암호 해독 프로세스를 공유하지 않는다고 생각합니다. 그렇지 않으면 프로그램간에 키를 전달해야합니다.

어떤 제안이 있습니까?

데이빗

+0

매개 변수/통화를 통해 암호 등을 전달하는 일반적인 방법을 묻고 있습니까? 아니면 현재 진행중인 응용 프로그램을 사용하여 암호를 지정하는 방법을 구체적으로 묻고 있습니까? 마지막 항목이 적용되면 해당 응용 프로그램이 무엇인지 알아야합니다. – Bobby

+0

구체적으로 C# 및 java하지만 질문이 더 일반적인 것 같아 – GreyCloud

답변

5

저는 암호화가 좋은 해결책이라고 생각합니다.

하지만 다른 것을 제안 할 수 있습니다. 당신은 C# 응용 프로그램에서 자바 애플 리케이션의 표준에 일반 텍스트로 passwod 쓸 수 있습니다. Java 응용 프로그램은 STDIN에서 암호를 읽고이를 사용해야합니다. 리버스 엔지니어링 또는 원격 디버깅 API를 사용하여 JVM에 연결하지 않으면이 스트림을 가로채는 방법을 알 수 없으므로 충분히 안전합니다. C#과 java 응용 프로그램이 모두 같은 시스템에서 실행되는 경우 스트림을 감지 할 수 없습니다.

+0

실제로 암호화하는 것보다 안전합니다. C# 또는 Java에서 암호화 키를 추출하는 것은 난독 화를하더라도 매우 쉽습니다. – bjornars

+0

암호를 명령 줄 인수로 전달하는 것만 큼 안전하지 않습니까? – GreyCloud

+0

나는 C#과 java 지원 모두의 암호화 방법과 그들이 동일한 암호화 키를 공유해야하는지 여부를 알고 싶습니다. – GreyCloud

관련 문제