Chromium Code Reviews| Index: net/base/x509_certificate_openssl.cc |
| =================================================================== |
| --- net/base/x509_certificate_openssl.cc (revision 110129) |
| +++ net/base/x509_certificate_openssl.cc (working copy) |
| @@ -619,4 +619,29 @@ |
| der_cache.data_length); |
| } |
| +//static |
|
agl
2011/11/16 15:57:55
space before "static"
|
| +void X509Certificate::GetPublicKeyInfo(OSCertHandle cert_handle, |
| + size_t* size_bits, |
| + PublicKeyType* type) { |
| + EVP_PKEY* key = X509_get_pubkey(cert_handle); |
| + *size_bits = EVP_PKEY_size(key) * 8; |
| + |
| + switch (key->type) { |
| + case EVP_PKEY_RSA: |
| + *type = PublicKeyType::RSA; |
| + break; |
| + case EVP_PKEY_DSA: |
| + *type = PublicKeyType::DSA; |
| + break; |
| + case EVP_PKEY_EC: |
| + *type = PublicKeyType::EC; |
| + break; |
| + case EVP_PKEY_DH: |
| + *type = PublicKeyType::DH; |
| + break; |
| + default: |
| + *type = PublicKeyType::NONE; |
| + } |
| +} |
| + |
| } // namespace net |