Public EC key from buffer
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- ruby
- Domínio
- cryptography
Direção de pesquisa
Comece em lib/net/ssh/transport/openssl.rb, na parte da construção da chave pública EC, e revise como o erro de chave imutável ocorre no OpenSSL 3.x. Execute test/transport/kex/test_ecdh_sha2_nistp256.rb e use seu teste de troca com falha para verificar se o equivalente compatível está implementado e se a troca de chaves é bem-sucedida.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
In net-ssh, there is following code:
public_key_oct = buffer.read_string
begin
key = OpenSSL::PKey::EC.new(OpenSSL::PKey::EC::CurveNameAlias[curve_name_in_key])
group = key.group
point = OpenSSL::PKey::EC::Point.new(group, OpenSSL::BN.new(public_key_oct, 2))
key.public_key = point
return key
rescue OpenSSL::PKey::ECError
raise NotImplementedError, "unsupported key type `#{type}'"
end
Which fails with OpenSSL 3.x:
1) Error:
Transport::Kex::TestEcdhSHA2NistP256#test_exchange_keys_should_return_expected_results_when_successful:
OpenSSL::PKey::PKeyError: pkeys are immutable on OpenSSL 3.0
/builddir/net-ssh/lib/net/ssh/transport/openssl.rb:164:in `public_key='
/builddir/net-ssh/lib/net/ssh/transport/openssl.rb:164:in `read_keyblob'
/builddir/net-ssh/lib/net/ssh/buffer.rb:325:in `read_keyblob'
/builddir/net-ssh/lib/net/ssh/buffer.rb:248:in `read_key'
/builddir/net-ssh/lib/net/ssh/transport/kex/abstract5656.rb:54:in `send_kexinit'
/builddir/net-ssh/lib/net/ssh/transport/kex/abstract.rb:48:in `exchange_keys'
/builddir/net-ssh/test/transport/kex/test_ecdh_sha2_nistp256.rb:96:in `exchange!'
/builddir/net-ssh/test/transport/kex/test_ecdh_sha2_nistp256.rb:18:in `test_exchange_keys_should_return_expected_results_when_successful'
Unfortunately, I struggle to find the right equivalent to implement this with immutable pkeys.
- Linguagem predominante
- C
- Estrelas
- 276
- Forks
- 203
- Merge médio
- 1d 5h
- PRs com merge (30d)
- 10
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ruby/openssl
-
Add OpenSSL::SSL::SSLContext#client_hello_cb= (binding for SSL_CTX_set_client_hello_cb())Talvez já em andamento @kou assumiu há 4 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 53/100
ruby/openssl#1125 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
ruby/openssl#1118 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
-
Expose XOFs like SHAKE128 and SHAKE256Talvez já em andamento @rhenium assumiu há 101 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
ruby/openssl#1082 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
ruby/openssl#1075 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
Unchecked *_set_* callsTalvez já em andamento @ndossche assumiu há 171 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
ruby/openssl#1038 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de ruby/openssl
Issues semelhantes
-
native-cpu: -Wreturn-type in skainet_row_threads.c:150 (worker fn has no return)Talvez já em andamento @Doomguy-BFG9000 assumiu hoje. Abertagood first issue size:xs skill:native
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
SKaiNET-developers/SKaiNET#1358 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
I/O internal correctness medium priority rt_lib
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
libsdl-org/SDL#16539 ·
Mantenedores costumam responder em até 1 dia
-
git-workflow task-4
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia