2012-12-17 1 views
1

Windows 환경에서 .pfx/.p12에 개인 키가 포함되어 있으면 프로그래밍 방식으로 다음 방법으로 인증서 저장소에 설치할 수 있습니다 (RAWDATA 모두 공개 키와 개인 키 전체 .PFX/.P12을 포함한 바이트 배열입니다 및 암호는 .PFX/.P12)에 대한 암호입니다 :pkcs12의 개인 키를 Linux의 Mono Cert Store에 설치 프로그래밍 방식으로

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine); 
X509Certificate2 certificate = new X509Certificate2(rawData, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable); 
store.Open(OpenFlags.ReadWrite); 
store.Add(certificate); 
store.Close(); 

내가 같은 정확한을 찾고 있어요 Linux 환경에서 Mono에 관한 것. 위의 코드는 Windows에서 작동하며 개인 키가 아닌 Linux에 인증서의 공개 키만 설치합니다. Mono의 certmgr 유틸리티를 사용하여 .p12의 개인 키를 수동으로 설치할 수 있었지만 프로그래밍 방식의 솔루션을 찾고 있습니다.

감사합니다.

답변

1

죄송합니다.이 답변으로 문제를 해결할 수 없습니다. 모노는 인증서 저장소에 개인 키를 저장하는 것을 지원하지 않습니다. (매우) 기술적 인 세부 사항은 this interesting discussion에서 찾을 수 있습니다.

어쨌든 내 앱 디자인에 일종의 중앙 집중식 인증서 저장소가 있어야하기 때문에 인증서와 개인 키를 데이터베이스에 저장하는 일이 발생했습니다.

+0

openssh를 통해 인증서를 PEM으로 변환 한 다음 /sbin/.config/.mono/keypairs의 모노 키 저장소에 인증서를 추가하여 Mono 외부에서 '수동으로'할 수도 있습니다 (또는 모노 그것을 남겨 둡니다) -이 경우 응용 프로그램이 openssl을 호출하기 위해 process.start를 호출하는 것입니다. – PhonicUK