2013-12-09 2 views
1

C# 프로그램에서 사용하려는 RSA (x509 인증서)가 있습니다.RSAParameters에 대한 "모듈"및 "지수"를 어떻게 결정합니까?

나는 약간의 연구를했는데 분명히 RSAParameters를 사용하여 두 가지를 가져와야한다 : 계수와 지수.

내가 사용하는 방법은 위의 것과 같은 키 블록이 무엇인지, 키 블록을 가져 와서 모듈과 지수를 얻는 방법을 알고 있습니까? 나는 MSDN을 시도했지만 문서는별로 언급하지 않는다.

또한이 두 필드는 byte[] 형식으로되어 있으며 직접 변환 할 수 있습니까 (나는 방법이 Utility.ToByteArray()입니다) 또는 먼저 특정 방식으로 인코딩해야 할 필요가 있습니다.

감사합니다.

답변

1

사용하려면 openssl은 기존 인증서 파일에서 계수와 지수를 얻을 수 있습니다 : openssl x509 -in public.crt -text

이 같은 출력 다음

Certificate: 
Data: 
    Version: 3 (0x2) 
    Serial Number: 16219001685648037895 (0xe2237819e4835807) 
Signature Algorithm: sha1WithRSAEncryption 
    Issuer: C=US, ST=State, L=City, O=Company, OU=Cirrus/[email protected] 
    Validity 
     Not Before: Dec 9 14:18:31 2013 GMT 
     Not After : Dec 9 14:18:31 2014 GMT 
    Subject: C=US, ST=State, L=City, O=Company, OU=Unit/[email protected] 
    Subject Public Key Info: 
     Public Key Algorithm: rsaEncryption 
      Public-Key: (1024 bit) 
      Modulus: 
       11:aa:41:47:f2:80:b9:6f:26:8c:19:c8:a4:0d:4a: 
       51:d3:a6:87:5b:88:2a:69:7a:c0:2c:5d:cc:fe:6b: 
       ed:d9:fa:bb:a0:2c:5a:76:90:b5:47:4f:01:7b:0f: 
       03:51:2e:2b:44:e0:1e:a4:d7:a7:0d:a4:ae:9b:25: 
       0f:10:42:ab:d5:42:a8:8e:ed:e4:34:eb:73:5a:79: 
       a9:a5:40:0d:9b:ee:65:33:02:5e:cc:ec:ce:7f:0e: 
       c7:14:21:43:43:82:17:db:fa:77:81:0a:4d:d8:98: 
       41:48:88:06:4f:12:ec:3b:66:5d:f4:0c:44:c5:14: 
       73:23:cf:9d:ec:42:3b:38:d9 
      Exponent: 65537 (0x10001) 
    X509v3 extensions: 
     X509v3 Subject Key Identifier: 
      C5:30:71:FB:92:F1:FC:9B:57:DA:65:A6:97:10:28:C4:A6:59:28:72 
     X509v3 Authority Key Identifier: 
      keyid:C5:33:71:FB:99:F1:FC:9B:58:D8:65:A6:97:10:28:C4:A6:59:28:82 
+1

영업 이익은 X.509 인증서가 있다면 작동하지만 그가 것/그녀는 PGP 공개 키를 갖고있는 것 같습니다. – SquareRootOfTwentyThree

+0

나는 OP이다. 대신 x509를 사용하여 결국 질문을 업데이트했습니다. 그 점을 지적 해 주셔서 감사합니다. – Razick

+0

숫자를 얻으려면 '모듈러스'에 해당하는 16 진수 문자열로 무엇을해야합니까? –