Project

General

Profile

Actions

Bug #1851

closed

ECC-Cert breaks the webconfigurator

Added by Michal Fresel over 13 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Certificates
Target version:
-
Start date:
01/13/2011
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
2.0
Affected Architecture:

Description

Uploading a certificate which is using Elliptic curve cryptography (ECC) - afterwards webconfigurator stops responding.

related to Bug #1190?

Actions #1

Updated by Michal Fresel over 13 years ago

known bugs in lighttpd - fixed in 1.4.29

see http://www.lighttpd.net/2011/7/3/1-4-29

Actions #2

Updated by Michal Fresel over 13 years ago

some ecc-test-certificates are available at SECG's ECC/TLS test server

Actions #3

Updated by Jim Pingle over 13 years ago

  • Status changed from New to Feedback

Applied in changeset commit:f65b6851ea3d473128e48419450f0edb5d8830d9.

Actions #4

Updated by Michal Fresel over 13 years ago

from /var/log/lighttpd.error.log

2011-xx-xx xx:xx:xx: (connections.c.299) SSL: 1 error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher 

no connection possible
will provide a sample for selftest

Actions #5

Updated by Ermal Luçi over 13 years ago

I think lighty need it enable in config and presently we do not enable sslv3.

Actions #6

Updated by Michal Fresel over 13 years ago

gen

openssl ecparam -name secp521r1 -genkey -out key.pem

req
openssl req -new -key key.pem -out req.pem

sign
 openssl req -x509 -in req.pem -key key.pem -out selfigned.pem

uploading key + selfsigned breaks GUI

Actions #7

Updated by Michal Fresel over 13 years ago

maybe we want to "block" uploading the following curves until working

openssl ecparam -list_curves

"quick+dirty-fix"

openssl x509 -noout -text -in selfigned.pem  | grep 'Signature Algorithm:'

… the proper way should be by OID but for now i'm going to bed ;)

Actions #8

Updated by Michal Fresel over 13 years ago

maybe testing using the php-function "openssl_pkey_get_details" and checking for return-level could sanitize uploading unsupported certificates?

<?php
$keyFile = openssl_pkey_get_public(file_get_contents('./myfile.pem'));
$keyData = openssl_pkey_get_details($keyFile);

print $keyData['bits'] ;
print $keyData['key'] ;
print $keyData['type'] ;
?>

types are
0: RSA
1: DSA
2: DH
3: EC
-1: unknown

permitting use of valid and "supported" certificates and rejecting others as "unsupported" or "unknown" might help until implemented.

Actions #9

Updated by Chris Buechler over 10 years ago

  • Status changed from Feedback to Closed
Actions

Also available in: Atom PDF