2016-05-14 12 views
0

Ich möchte erkennen und validieren (das Format) der öffentlichen Schlüssel, mit Javascript sind Ihre Bibliotheken da draußen, die mir helfen können? Grundsätzlich möchte ich einen Benutzer seinen Schlüssel in eine Textarea einfügen und dann möchte ich es analysieren, um zu überprüfen, dass dies tatsächlich ein RSA \ ssh \ etc ist. Schlüssel, erhalten Sie den Schlüsselnamen (Beschreibung), Bit-Größe und andere relevante Informationen. Danke.bekommen öffentlichen Schlüssel Format in Javascript

+0

niemand hat einen immer mit dieser behandelt hat? Bin ich der Erste? – phper

Antwort

1

Sie sollten es mit einem regulären Ausdruck tun können. Dieser entspricht dem Format, dass OpenSSL Ausgänge.

var re = new RegExp("^-----BEGIN CERTIFICATE-----\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{64}\r?\n[A-Za-z0-9+\/=]{38}==\r?\n-----END CERTIFICATE-----\r?\n?$"); 

re.test("-----BEGIN CERTIFICATE-----\n"+ 
"MIICWDCCAcGgAwIBAgIJAPoiU8TwxKfZMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\n"+ 
"BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\n"+ 
"aWRnaXRzIFB0eSBMdGQwHhcNMTYwOTIxMjI1NzAzWhcNMjEwOTIwMjI1NzAzWjBF\n"+ 
"MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50\n"+ 
"ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB\n"+ 
"gQDKylIukm5ZNIFsFxqMNlqazn+bWlzSXnATvyu783KMTXGRMbKb8C+SVra3gofs\n"+ 
"0D7cgPPECMINFP0PEGBvN6iQXaJOL4YQUbl2FQOQEi6xOATytaWqaHy9DiZ8zeRs\n"+ 
"WhT/m+6fjefZD1FhBaIAPi2dy/TKSBo61SU9f2O0NyyIiQIDAQABo1AwTjAdBgNV\n"+ 
"HQ4EFgQUpyK5bWplT+owyTHUUD5FG5frc80wHwYDVR0jBBgwFoAUpyK5bWplT+ow\n"+ 
"yTHUUD5FG5frc80wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQAupycX\n"+ 
"kF3RhL0bUmxbh1nZaZ0ZAuWh4A1pc5XjwSGYLhWMHpNmrIvGnlUuyQlyE6L45DR2\n"+ 
"JekCMC0TBK8mv2BpaUCcPA844LSix1lSoNvuGQ7GRuLvPDDY/v8I28mRLsLmqxg2\n"+ 
"uz3VNtJwu/igOCf4mDI9ZoQWPBRb+pqXJ42V8Q==\n"+ 
"-----END CERTIFICATE-----\n"); 

// outputs 'true' 
Verwandte Themen