Overview
| Comment: | Added support for CKO_PUBLIC_KEY objects | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | 
| Files: | files | file ages | folders | 
| SHA1: | 30d36fdd77e9842d711d21e296ba61cf | 
| User & Date: | rkeene on 2012-05-09 16:22:06 | 
| Other Links: | manifest | tags | 
Context
| 2012-05-09 | ||
| 16:37 | Removed spurious variables check-in: cfd166f381 user: rkeene tags: trunk | |
| 16:22 | Added support for CKO_PUBLIC_KEY objects check-in: 30d36fdd77 user: rkeene tags: trunk | |
| 2012-04-26 | ||
| 01:53 | CACKey 0.6.6 check-in: db27c32333 user: rkeene tags: 0.6.6, trunk | |
Changes
Modified asn1-x509.c from [d088e178d2] to [4068b9a871].
| ︙ | ︙ | |||
| 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | 
	if (outbuf) {
		*outbuf = x509.serial_number.asn1rep;
	}
	return(x509.serial_number.asn1rep_len);
}
static ssize_t x509_to_modulus(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf) {
	struct asn1_object null, pubkey, modulus, exponent;
	struct x509_object x509;
	int read_ret;
	read_ret = asn1_x509_read_object(x509_der_buf, x509_der_buf_len, &x509);
 | > > > > > > > > > > > > > > | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 | 
	if (outbuf) {
		*outbuf = x509.serial_number.asn1rep;
	}
	return(x509.serial_number.asn1rep_len);
}
static ssize_t x509_to_pubkey(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf) {
	struct asn1_object null, pubkey, modulus, exponent;
	struct x509_object x509;
	int read_ret;
	read_ret = asn1_x509_read_object(x509_der_buf, x509_der_buf_len, &x509);
	if (read_ret != 0) {
		return(-1);
	}
	*outbuf = x509.pubkey.contents;
	return(x509.pubkey.size);
}
static ssize_t x509_to_modulus(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf) {
	struct asn1_object null, pubkey, modulus, exponent;
	struct x509_object x509;
	int read_ret;
	read_ret = asn1_x509_read_object(x509_der_buf, x509_der_buf_len, &x509);
 | 
| ︙ | ︙ | 
Modified asn1-x509.h from [69520a462e] to [b2869862b9].
| ︙ | ︙ | |||
| 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #endif static ssize_t x509_to_subject(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_issuer(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_serial(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_modulus(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_exponent(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_keysize(void *x509_der_buf, size_t x509_der_buf_len); | > > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #endif static ssize_t x509_to_subject(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_issuer(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_serial(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_pubkey(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_modulus(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_exponent(void *x509_der_buf, size_t x509_der_buf_len, void **outbuf); static ssize_t x509_to_keysize(void *x509_der_buf, size_t x509_der_buf_len); | 
| ︙ | ︙ | 
Modified cackey.c from [6206331092] to [5510d07f5c].
| ︙ | ︙ | |||
| 2822 2823 2824 2825 2826 2827 2828 | 
						break;
					case CKO_NETSCAPE_TRUST:
						CACKEY_DEBUG_PRINTF(" ... but not getting it because we are a Netscape trust object");
						break;
					case CKO_PUBLIC_KEY:
 | | > > > > > > > | 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 | 
						break;
					case CKO_NETSCAPE_TRUST:
						CACKEY_DEBUG_PRINTF(" ... but not getting it because we are a Netscape trust object");
						break;
					case CKO_PUBLIC_KEY:
						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;
						break;
 | 
| ︙ | ︙ |