bernd commited on 2010-12-30 18:39:04
Zeige 1 geänderte Dateien mit 11 Einfügungen und 1 Löschungen.
git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1867 87cf0b9e-d624-0410-a070-f6ee81989793
... | ... |
@@ -81,6 +81,16 @@ function get_chain($cert) |
81 | 81 |
|
82 | 82 |
function validate_certificate($cert, $key) |
83 | 83 |
{ |
84 |
+ $certinfo = openssl_pkey_get_details(openssl_get_publickey($cert)); |
|
85 |
+ DEBUG($certinfo); |
|
86 |
+ if ($certinfo['bits'] < 2048) { |
|
87 |
+ warning("Dieser Schlüssel hat eine sehr geringe Bitlänge und ist daher als nicht besonders sicher einzustufen!"); |
|
88 |
+ } |
|
89 |
+ if ($certinfo['type'] != OPENSSL_KEYTYPE_RSA && $certinfo['type'] != OPENSSL_KEYTYPE_DSA) { |
|
90 |
+ system_failure("Dieser Schlüssel nutzt einen nicht unterstützten Algorithmus."); |
|
91 |
+ } |
|
92 |
+ |
|
93 |
+ |
|
84 | 94 |
if (openssl_x509_check_private_key($cert, $key) !== true) |
85 | 95 |
{ |
86 | 96 |
DEBUG("Zertifikat und Key passen nicht zusammen"); |
... | ... |
@@ -114,7 +124,7 @@ validTo_time_t => 1267190790 |
114 | 124 |
|
115 | 125 |
|
116 | 126 |
*/ |
117 |
- |
|
127 |
+ DEBUG($certdata); |
|
118 | 128 |
//return array('subject' => $certdata['name'], 'cn' => $certdata['subject']['CN'], 'valid_from' => date('Y-m-d', $certdata['validFrom_time_t']), 'valid_until' => date('Y-m-d', $certdata['validTo_time_t'])); |
119 | 129 |
return array('subject' => $certdata['subject']['CN'].' / '.$certdata['issuer']['O'], 'cn' => $certdata['subject']['CN'], 'valid_from' => date('Y-m-d', $certdata['validFrom_time_t']), 'valid_until' => date('Y-m-d', $certdata['validTo_time_t']), 'issuer' => $certdata['issuer']['CN']); |
120 | 130 |
} |
121 | 131 |