3
Erlang에서 RSA 비공개 키가 주어지면 RSA 공개 키와 x509 공개 키가 해당 priv 키와 연관되어 반환 될 수 있습니다.Erlang의 RSA 비공개 키로부터 x509 공개 키를 생성하십시오.
개인 키에서 모듈러스와 공개 지수를 가져 와서 RSA 공개 키를 생성 할 수 있다는 것을 알고 있습니다.
--from OTP-PUB-KEY.hrl
-record('RSAPrivateKey',{
version, modulus, publicExponent, privateExponent, prime1, prime2, exponent1, exponent2, coefficient, otherPrimeInfos = asn1_NOVALUE}).
-record('RSAPublicKey',{
modulus, publicExponent}).
그러나 x509 공개 키는 어떻게 생성합니까?
이$private = Crypt::OpenSSL::RSA->new_private_key($hash_ref->{'private'});
{rsa => $private->get_public_key_string(),
x509 => $private->get_public_key_x509_string()};
사람이 어떤 생각이 어떻게 그렇게해야합니까 :
나는 Perl로 작성 내 예전의 코드 이런 식으로 뭔가를 호출하여 해당 작업을 수행하는 데 사용하기 때문에이 가능 알아?----- 단지 UPDATE ----
내가 얼랑 PUBLIC_KEY 문서 X509에 대한 학습 시간을 보내고 읽은 후 해결책을 발견 :
감안할 때 나는 'RSAPublicKey'를 생성 할 수 있습니다 단순히 점점 계수 및 publicExponent하여 'RSAPrivateKey'에서 두 키를 생성하는 내 코드는 다음과 같습니다
getPublicKeysFromPrivateKey(#'RSAPrivateKey'{modulus = M, publicExponent = PE}) ->
RSAPub = #'RSAPublicKey'{modulus = M, publicExponent = PE},
%% Encoding the keys
RSAPublicKey = public_key:pem_encode([public_key:pem_entry_encode('RSAPublicKey', RSAPub)]),
X509PublicKey = public_key:pem_encode([public_key:pem_entry_encode('SubjectPublicKeyInfo', RSAPub)]),
[{rsa, RSAPublicKey},{x509, X509PublicKey}].
이 생산됩니다 어떤 :
[{rsa,<<"-----BEGIN RSA PUBLIC KEY----- \nMIGJAoGBAMU8ZcQ4S+gHDuZd6cEdqbf9l1Hw4fxQrJ455B2kJRUwyKidVbCH2omy\nI0SLNu92"...>>},
{x509,<<"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFPGXEOEvoBw7mXenBHam3/ZdR\n8OH8UKye"...>>}]
감사합니다.
당신이 X509 인증서를 의미합니까 :
은에서 유효한 기록을 가져 오는 것 같습니다 무엇입니까? 왜 그런 일이 필요하다고 생각하니? –
x509 공개 키가 정말 필요합니다. 이 형식은 RASPublicKey의 다른 형식으로 'PEM'형식은 'BEGIN RSA PUBLIC KEY'대신 'BEGIN PUBLIC KEY'형식입니다. – RobisonSantos