@@ -2824,11 +2824,18 @@ case CKO_NETSCAPE_TRUST: CACKEY_DEBUG_PRINTF(" ... but not getting it because we are a Netscape trust object"); break; case CKO_PUBLIC_KEY: - /* XXX: TODO */ + if (certificate_len >= 0) { + x509_read_ret = x509_to_pubkey(certificate, certificate_len, &pValue); + if (x509_read_ret < 0) { + pValue = NULL; + } else { + ulValueLen = x509_read_ret; + } + } break; case CKO_CERTIFICATE: pValue = certificate; ulValueLen = certificate_len;