2017-09-22 18 views
0

머리를 부러 뜨리기 전에 커뮤니티에 대해 생각해 보았습니다. (아마도 이것은 일반적으로 유용 할 것입니다.) Powershell 및/또는 어떻게 번역 할 수 있습니까? NET 코어 2.0?OpenSSL p12 만들기 명령을 Powershell 및/또는 .NET Core 2.0으로 번역

openssl pkcs12 -export -out p12file.p12 -inkey privatekeygenerateinsomeportal.pem -in clientcertificatedownloadedfromsomeportal.pem

확실히 .NET 코어 2.0 (hints here)에서 작업을 수행하는 방법을 모르고 아직 적절한 PowerShell을하거나 철자 발견하지 않았습니다. 그것은 PEM 형식을 지원하지 않습니다 How to convert a PFX to .PEM format? Or how to generate a .PEM file? Using Native/Standard Windows tool

윈도우에서 추출 같은 윈도우 시설이 (따라서 .NET 코어 2.0 구출?) 어려운 태드하게 pem 형식을 지원하지 않은 나타납니다

또는 here과 같이 일부 타사 라이브러리가 있습니다.

.p12 형식으로 인해 상호 운용성 문제 (예 : 결과가 Xamarin.Forms 및 기타 등을 통해 다양한 환경에서 사용될 때)가 발생할 수 있음을 알 수 있습니다.

  • 로드 파일에서 인증서
  • 로드 함께 하나의 파일들을 저장
  • 에서 개인 키 PFX

: 싶은 것은 가정하면

+0

내가 몇 달 전에이 작업을 수행하기 위해 노력했다. PuTTY 유틸리티 (plink 및 pscp)를 사용하여 Linux 서버에서 .p12 파일을 만들고이를 필요로하는 Windows 서버로 복사하는 PowerShell 스크립트를 작성했습니다. – brendan62269

+0

OpenSSL 명령이 정확히 무엇입니까? – Crypt32

답변

1

그런 다음 .NET Core가 수행 할 수없는 유일한 부분은 개인 키를로드하는 것입니다. 당신이 (RSAParameters이나 라이브 개체, 또는 무엇이든) 키를 얻는 방법을 알아낼 수 있다면 당신은

using (var cert = new X509Certificate2("cert.pem")) 
using (var mated = cert.CopyWithPrivateKey(key)) 
{ 
    return mated.Export(X509ContentType.Pfx, password); 
} 

그리고 아마도 File.WriteAlllBytes 그 값을 할 수 있습니다.

CopyWithPrivateKey는 코어 2.0에서 새로 도입되었으며 netcoreapp20 TFM으로 컴파일해야합니다. 키 파일을로드

는 .NET의 할일 목록에 : https://github.com/dotnet/corefx/issues/20414

+0

나는 오늘 ("내일") 오늘 밤 자정이 지난 것을 생각할 것이다 ... 나는 링크에 언급 된 VMWare 이외에이 작물을 완벽하게 묘사하는 예를 발견했다. https : // github.com/visa/SampleCode/tree/master/vdp-c-sharp. – Veksi

+0

이 질문은 실제로 내 질문에 대한 대답이라고 생각합니다. 자연스럽게 다음 단계는 CSR을 만드는 방법을 궁금해하는 것입니다. 그러나 https://github.com/dotnet/corefx/blob/master/src/System.Security.Cryptography.X509Certificates/tests /CertificateCreation/CertificateRequestUsageTests.cs가 도와주세요. 다시 한 번 감사드립니다! – Veksi