1 1.1 elric 2008-07-14 Love Hrnquist strand <lha (a] kth.se> 2 1.1 elric 3 1.1 elric * hxtool.c: Break out print_eval_types(). 4 1.1 elric 5 1.1 elric 2008-06-21 Love Hrnquist strand <lha (a] kth.se> 6 1.1 elric 7 1.1 elric * ks_p12.c: pass in time_now to unevelope 8 1.1 elric 9 1.1 elric * cms.c: Pass in time_now to unevelope, us verify context time in 10 1.1 elric verify_signed. 11 1.1 elric 12 1.1 elric 2008-05-23 Love Hrnquist strand <lha (a] kth.se> 13 1.1 elric 14 1.1 elric * hx_locl.h: Include <limits.h> for TYPE_MAX defines. 15 1.1 elric 16 1.1 elric 2008-04-29 Love Hrnquist strand <lha (a] it.su.se> 17 1.1 elric 18 1.1 elric * sel-lex.l: Use _hx509_sel_yyerror() instead of error_message(). 19 1.1 elric 20 1.1 elric 2008-04-20 Love Hrnquist strand <lha (a] it.su.se> 21 1.1 elric 22 1.1 elric * sel-lex.l: Include <config.h> 23 1.1 elric 24 1.1 elric 2008-04-17 Love Hrnquist strand <lha (a] it.su.se> 25 1.1 elric 26 1.1 elric * Makefile.am: Update make-proto usage. 27 1.1 elric 28 1.1 elric 2008-04-15 Love Hrnquist strand <lha (a] it.su.se> 29 1.1 elric 30 1.1 elric * ca.c: BasicConstraints.pathLenConstraint unsigned int. 31 1.1 elric 32 1.1 elric * sel-lex.l: Prefix sel_error with _hx509_ since its global on 33 1.1 elric platforms w/o symbol versioning. 34 1.1 elric 35 1.1 elric * sel.h: rename yyerror to sel_yyerror in the whole library, not 36 1.1 elric just the lexer 37 1.1 elric 38 1.1 elric * sel-lex.l: rename yyerror to sel_yyerror in the whole library, 39 1.1 elric not just the lexer 40 1.1 elric 41 1.1 elric 2008-04-14 Love Hrnquist strand <lha (a] it.su.se> 42 1.1 elric 43 1.1 elric * sel-lex.l: Rename yyerror to sel_yyerror and make it static. 44 1.1 elric 45 1.1 elric 2008-04-08 Love Hrnquist strand <lha (a] it.su.se> 46 1.1 elric 47 1.1 elric * hx509.h: Make self-standing by including missing files. 48 1.1 elric 49 1.1 elric 2008-04-07 Love Hrnquist strand <lha (a] it.su.se> 50 1.1 elric 51 1.1 elric * ks_p11.c: Use unsigned where appropriate. 52 1.1 elric 53 1.1 elric * softp11.c: call va_start before using vsnprintf. 54 1.1 elric 55 1.1 elric * crypto.c: make refcount slightly more sane. 56 1.1 elric 57 1.1 elric * keyset.c: make refcount slightly more sane. 58 1.1 elric 59 1.1 elric * cert.c: make refcount slightly more sane. 60 1.1 elric 61 1.1 elric 2008-03-19 Love Hrnquist strand <lha (a] it.su.se> 62 1.1 elric 63 1.1 elric * test_nist2.in: Try to find unzip. 64 1.1 elric 65 1.1 elric 2008-03-16 Love Hrnquist strand <lha (a] it.su.se> 66 1.1 elric 67 1.1 elric * version-script.map: add missing symbols 68 1.1 elric 69 1.1 elric * spnego: Make delegated credentials delegated directly, Oleg 70 1.1 elric Sharoiko pointed out that it always didnt work with the old 71 1.1 elric code. Also add som missing cred and context pass-thou functions in 72 1.1 elric the SPNEGO layer. 73 1.1 elric 74 1.1 elric 2008-03-14 Love Hrnquist strand <lha (a] it.su.se> 75 1.1 elric 76 1.1 elric * rename to be more consistent, export for teting 77 1.1 elric 78 1.1 elric * Add language to support querying certificates to find a 79 1.1 elric match. Support constructs like "1.3.6.1.5.2.3.5" IN 80 1.1 elric %{certificate.eku} AND %{certificate.subject} TAILMATCH "C=SE". 81 1.1 elric 82 1.1 elric 2008-02-26 Love Hrnquist strand <lha (a] it.su.se> 83 1.1 elric 84 1.1 elric * version-script.map: add hx509_pem_read 85 1.1 elric 86 1.1 elric * hxtool-commands.in: Add --pem to cms-verify-sd. 87 1.1 elric 88 1.1 elric * test_cms.in: Test verifying PEM signature files. 89 1.1 elric 90 1.1 elric * hxtool.c: Support verifying PEM signature files. 91 1.1 elric 92 1.1 elric 2008-02-25 Love Hrnquist strand <lha (a] it.su.se> 93 1.1 elric 94 1.1 elric * Makefile.am: libhx509_la_OBJECTS depends on hx_locl.h 95 1.1 elric 96 1.1 elric 2008-02-11 Love Hrnquist strand <lha (a] it.su.se> 97 1.1 elric 98 1.1 elric * Use ldap-prep (with libwind) to compare names 99 1.1 elric 100 1.1 elric 2008-01-27 Love Hrnquist strand <lha (a] it.su.se> 101 1.1 elric 102 1.1 elric * cert.c (hx509_query_match_eku): update to support the NULL 103 1.1 elric eku (reset), clearify the old behaivor with regards repetitive 104 1.1 elric calls. 105 1.1 elric 106 1.1 elric * Add matching on EKU, validate EKUs, add hxtool matching glue, 107 1.1 elric add check. Adapted from pach from Tim Miller of Mitre 108 1.1 elric 109 1.1 elric 2008-01-21 Love Hrnquist strand <lha (a] it.su.se> 110 1.1 elric 111 1.1 elric * test_soft_pkcs11.c: use func for more C_ functions. 112 1.1 elric 113 1.1 elric 2008-01-18 Love Hrnquist strand <lha (a] it.su.se> 114 1.1 elric 115 1.1 elric * version-script.map: Export hx509_free_error_string(). 116 1.1 elric 117 1.1 elric 2008-01-17 Love Hrnquist strand <lha (a] it.su.se> 118 1.1 elric 119 1.1 elric * version-script.map: only export C_GetFunctionList 120 1.1 elric 121 1.1 elric * test_soft_pkcs11.c: use C_GetFunctionList 122 1.1 elric 123 1.1 elric * softp11.c: fix comment, remove label. 124 1.1 elric 125 1.1 elric * softp11.c: Add option app-fatal to control if softtoken should 126 1.1 elric abort() on erroneous input from applications. 127 1.1 elric 128 1.1 elric 2008-01-16 Love Hrnquist strand <lha (a] it.su.se> 129 1.1 elric 130 1.1 elric * test_pkcs11.in: Test password less certificates too 131 1.1 elric 132 1.1 elric * keyset.c: document HX509_CERTS_UNPROTECT_ALL 133 1.1 elric 134 1.1 elric * ks_file.c: Support HX509_CERTS_UNPROTECT_ALL. 135 1.1 elric 136 1.1 elric * hx509.h: Add HX509_CERTS_UNPROTECT_ALL. 137 1.1 elric 138 1.1 elric * test_soft_pkcs11.c: Only log in if needed. 139 1.1 elric 140 1.1 elric 2008-01-15 Love Hrnquist strand <lha (a] it.su.se> 141 1.1 elric 142 1.1 elric * softp11.c: Support PINs to login to the store. 143 1.1 elric 144 1.1 elric * Makefile.am: add java pkcs11 test 145 1.1 elric 146 1.1 elric * test_java_pkcs11.in: first version of disable java test 147 1.1 elric 148 1.1 elric * softp11.c: Drop unused stuff. 149 1.1 elric 150 1.1 elric * cert.c: Spelling, Add hx509_cert_get_SPKI_AlgorithmIdentifier, 151 1.1 elric remove unused stuff, add hx509_context to some functions. 152 1.1 elric 153 1.1 elric * softp11.c: Add more glue to figure out what keytype this 154 1.1 elric certificate is using. 155 1.1 elric 156 1.1 elric 2008-01-14 Love Hrnquist strand <lha (a] it.su.se> 157 1.1 elric 158 1.1 elric * test_pkcs11.in: test debug 159 1.1 elric 160 1.1 elric * Add a PKCS11 provider supporting signing and verifing sigatures. 161 1.1 elric 162 1.1 elric 2008-01-13 Love Hrnquist strand <lha (a] it.su.se> 163 1.1 elric 164 1.1 elric * version-script.map: Replace hx509_name_to_der_name with 165 1.1 elric hx509_name_binary. 166 1.1 elric 167 1.1 elric * print.c: make print_func static 168 1.1 elric 169 1.1 elric 2007-12-26 Love Hrnquist strand <lha (a] it.su.se> 170 1.1 elric 171 1.1 elric * print.c: doxygen 172 1.1 elric 173 1.1 elric * env.c: doxygen 174 1.1 elric 175 1.1 elric * doxygen.c: add more groups 176 1.1 elric 177 1.1 elric * ca.c: doxygen. 178 1.1 elric 179 1.1 elric 2007-12-17 Love Hrnquist strand <lha (a] it.su.se> 180 1.1 elric 181 1.1 elric * ca.c: doxygen 182 1.1 elric 183 1.1 elric 2007-12-16 Love Hrnquist strand <lha (a] it.su.se> 184 1.1 elric 185 1.1 elric * error.c: doxygen 186 1.1 elric 187 1.1 elric 2007-12-15 Love Hrnquist strand <lha (a] it.su.se> 188 1.1 elric 189 1.1 elric * More documentation 190 1.1 elric 191 1.1 elric * lock.c: Add page referance 192 1.1 elric 193 1.1 elric * keyset.c: some more documentation. 194 1.1 elric 195 1.1 elric * cms.c: Doxygen documentation. 196 1.1 elric 197 1.1 elric 2007-12-11 Love Hrnquist strand <lha (a] it.su.se> 198 1.1 elric 199 1.1 elric * *.[ch]: More documentation 200 1.1 elric 201 1.1 elric 2007-12-09 Love Hrnquist strand <lha (a] it.su.se> 202 1.1 elric 203 1.1 elric * handle refcount on NULL. 204 1.1 elric 205 1.1 elric * test_nist_pkcs12.in: drop echo -n, doesn't work with posix sh 206 1.1 elric 207 1.1 elric 2007-12-08 Love Hrnquist strand <lha (a] it.su.se> 208 1.1 elric 209 1.1 elric * test_nist2.in: Print that this is version 2 of the tests 210 1.1 elric 211 1.1 elric * test_nist.in: Drop printing of $id. 212 1.1 elric 213 1.1 elric * hx509.h: Add HX509_VHN_F_ALLOW_NO_MATCH. 214 1.1 elric 215 1.1 elric * name.c: spelling. 216 1.1 elric 217 1.1 elric * cert.c: make work the doxygen. 218 1.1 elric 219 1.1 elric * name.c: fix doxygen compiling. 220 1.1 elric 221 1.1 elric * Makefile.am: add doxygen.c 222 1.1 elric 223 1.1 elric * doxygen.c: Add doxygen main page. 224 1.1 elric 225 1.1 elric * cert.c: Add doxygen. 226 1.1 elric 227 1.1 elric * revoke.c (_hx509_revoke_ref): new function. 228 1.1 elric 229 1.1 elric 2007-11-16 Love Hrnquist strand <lha (a] it.su.se> 230 1.1 elric 231 1.1 elric * ks_keychain.c: Check if SecKeyGetCSPHandle needs prototype. 232 1.1 elric 233 1.1 elric 2007-08-16 Love Hrnquist strand <lha (a] it.su.se> 234 1.1 elric 235 1.1 elric * data/nist-data: Make work on case senstive filesystems too. 236 1.1 elric 237 1.1 elric 2007-08-09 Love Hrnquist strand <lha (a] it.su.se> 238 1.1 elric 239 1.1 elric * cert.c: match rfc822 contrains better, provide better error 240 1.1 elric strings. 241 1.1 elric 242 1.1 elric 2007-08-08 Love Hrnquist strand <lha (a] it.su.se> 243 1.1 elric 244 1.1 elric * cert.c: "self-signed doesn't count" doesn't apply to trust 245 1.1 elric anchor certificate. make trust anchor check consistant. 246 1.1 elric 247 1.1 elric * revoke.c: make compile. 248 1.1 elric 249 1.1 elric * revoke.c (verify_crl): set error strings. 250 1.1 elric 251 1.1 elric * revoke.c (verify_crl): handle with the signer is the 252 1.1 elric CRLsigner (shortcut). 253 1.1 elric 254 1.1 elric * cert.c: Fix NC, comment on how to use _hx509_check_key_usage. 255 1.1 elric 256 1.1 elric 2007-08-03 Love Hrnquist strand <lha (a] it.su.se> 257 1.1 elric 258 1.1 elric * test_nist2.in, Makefile, test/nist*: Add nist pkits tests. 259 1.1 elric 260 1.1 elric * revoke.c: Update to use CERT_REVOKED error, shortcut out of OCSP 261 1.1 elric checking when OCSP reply is a revocation reply. 262 1.1 elric 263 1.1 elric * hx509_err.et: Make CERT_REVOKED error OCSP/CRL agnostic. 264 1.1 elric 265 1.1 elric * name.c (_hx509_Name_to_string): make printableString handle 266 1.1 elric space (0x20) diffrences as required by rfc3280. 267 1.1 elric 268 1.1 elric * revoke.c: Search for the right issuer when looking for the 269 1.1 elric issuer of the CRL signer. 270 1.1 elric 271 1.1 elric 2007-08-02 Love Hrnquist strand <lha (a] it.su.se> 272 1.1 elric 273 1.1 elric * revoke.c: Handle CRL signing certificate better, try to not 274 1.1 elric revalidate invalid CRLs over and over. 275 1.1 elric 276 1.1 elric 2007-08-01 Love Hrnquist strand <lha (a] it.su.se> 277 1.1 elric 278 1.1 elric * cms.c: remove stale comment. 279 1.1 elric 280 1.1 elric * test_nist.in: Unpack PKITS_data.zip and run tests. 281 1.1 elric 282 1.1 elric * test_nist_cert.in: Adapt to new nist pkits framework. 283 1.1 elric 284 1.1 elric * test_nist_pkcs12.in: Adapt to new nist pkits framework. 285 1.1 elric 286 1.1 elric * Makefile.am: clean PKITS_data 287 1.1 elric 288 1.1 elric 2007-07-16 Love Hrnquist strand <lha (a] it.su.se> 289 1.1 elric 290 1.1 elric * Makefile.am: Add version-script.map to EXTRA_DIST 291 1.1 elric 292 1.1 elric 2007-07-12 Love Hrnquist strand <lha (a] it.su.se> 293 1.1 elric 294 1.1 elric * Makefile.am: Add depenency on asn1_compile for asn1 built files. 295 1.1 elric 296 1.1 elric 2007-07-10 Love Hrnquist strand <lha (a] it.su.se> 297 1.1 elric 298 1.1 elric * peer.c: update (c), indent. 299 1.1 elric 300 1.1 elric * Makefile.am: New library version. 301 1.1 elric 302 1.1 elric 2007-06-28 Love Hrnquist strand <lha (a] it.su.se> 303 1.1 elric 304 1.1 elric * ks_p11.c: Add sha2 types. 305 1.1 elric 306 1.1 elric * ref/pkcs11.h: Sync with scute. 307 1.1 elric 308 1.1 elric * ref/pkcs11.h: Add sha2 CKM's. 309 1.1 elric 310 1.1 elric * print.c: Print authorityInfoAccess. 311 1.1 elric 312 1.1 elric * cert.c: Rename proxyCertInfo oid. 313 1.1 elric 314 1.1 elric * ca.c: Rename proxyCertInfo oid. 315 1.1 elric 316 1.1 elric * print.c: Rename proxyCertInfo oid. 317 1.1 elric 318 1.1 elric 2007-06-26 Love Hrnquist strand <lha (a] it.su.se> 319 1.1 elric 320 1.1 elric * test_ca.in: Adapt to new request handling. 321 1.1 elric 322 1.1 elric * req.c: Allow export some of the request parameters. 323 1.1 elric 324 1.1 elric * hxtool-commands.in: Adapt to new request handling. 325 1.1 elric 326 1.1 elric * hxtool.c: Adapt to new request handling. 327 1.1 elric 328 1.1 elric * test_req.in: Adapt to new request handling. 329 1.1 elric 330 1.1 elric * version-script.map: Add initialize_hx_error_table_r. 331 1.1 elric 332 1.1 elric * req.c: Move _hx509_request_print here. 333 1.1 elric 334 1.1 elric * hxtool.c: use _hx509_request_print 335 1.1 elric 336 1.1 elric * version-script.map: Export more crap^W semiprivate functions. 337 1.1 elric 338 1.1 elric * hxtool.c: don't _hx509_abort 339 1.1 elric 340 1.1 elric * version-script.map: add missing ; 341 1.1 elric 342 1.1 elric 2007-06-25 Love Hrnquist strand <lha (a] it.su.se> 343 1.1 elric 344 1.1 elric * cms.c: Use hx509_crypto_random_iv. 345 1.1 elric 346 1.1 elric * crypto.c: Split out the iv creation from hx509_crypto_encrypt 347 1.1 elric since _hx509_pbe_encrypt needs to use the iv from the s2k 348 1.1 elric function. 349 1.1 elric 350 1.1 elric * test_cert.in: Test PEM and DER FILE writing functionallity. 351 1.1 elric 352 1.1 elric * ks_file.c: Add writing DER certificates. 353 1.1 elric 354 1.1 elric * hxtool.c: Update to new hx509_pem_write(). 355 1.1 elric 356 1.1 elric * test_cms.in: test creation of PEM signeddata. 357 1.1 elric 358 1.1 elric * hx509.h: PEM struct/function declarations. 359 1.1 elric 360 1.1 elric * ks_file.c: Use PEM encoding/decoding functions. 361 1.1 elric 362 1.1 elric * file.c: PEM encode/decoding functions. 363 1.1 elric 364 1.1 elric * ks_file.c: Use hx509_pem_write. 365 1.1 elric 366 1.1 elric * version-script.map: Export some semi-private functions. 367 1.1 elric 368 1.1 elric * hxtool.c: Enable writing out signed data as a pem attachment. 369 1.1 elric 370 1.1 elric * hxtool-commands.in (cms-create-signed): add --pem 371 1.1 elric 372 1.1 elric * file.c (hx509_pem_write): Add. 373 1.1 elric 374 1.1 elric * test_ca.in: Issue and test null subject cert. 375 1.1 elric 376 1.1 elric * cert.c: Match is first component is in a CN=. 377 1.1 elric 378 1.1 elric * test_ca.in: Test hostname if first CN. 379 1.1 elric 380 1.1 elric * Makefile.am: Add version script. 381 1.1 elric 382 1.1 elric * version-script.map: Limited exported symbols. 383 1.1 elric 384 1.1 elric * test_ca.in: test --hostname. 385 1.1 elric 386 1.1 elric * test_chain.in: test max-depth 387 1.1 elric 388 1.1 elric * hx509.h: fixate HX509_HN_HOSTNAME at 0. 389 1.1 elric 390 1.1 elric * hxtool-commands.in: add --hostname add --max-depth 391 1.1 elric 392 1.1 elric * cert.c: Verify hostname and max-depth. 393 1.1 elric 394 1.1 elric * hxtool.c: Verify hostname and test max-depth. 395 1.1 elric 396 1.1 elric 2007-06-24 Love Hrnquist strand <lha (a] it.su.se> 397 1.1 elric 398 1.1 elric * test_cms.in: Test --id-by-name. 399 1.1 elric 400 1.1 elric * hxtool-commands.in: add cms-create-sd --id-by-name 401 1.1 elric 402 1.1 elric * hxtool.c: Use HX509_CMS_SIGATURE_ID_NAME. 403 1.1 elric 404 1.1 elric * cms.c: Implement and use HX509_CMS_SIGATURE_ID_NAME. 405 1.1 elric 406 1.1 elric * hx509.h: Add HX509_CMS_SIGATURE_ID_NAME, use subject name for 407 1.1 elric CMS.Identifier. hx509_hostname_type: add hostname type for 408 1.1 elric matching. 409 1.1 elric 410 1.1 elric * cert.c (match_general_name): more strict rfc822Name matching. 411 1.1 elric (hx509_verify_hostname): add hostname type for matching. 412 1.1 elric 413 1.1 elric 2007-06-19 Love Hrnquist strand <lha (a] it.su.se> 414 1.1 elric 415 1.1 elric * hxtool.c: Make compile again. 416 1.1 elric 417 1.1 elric * hxtool.c: Added peap-server for to make windows peap clients 418 1.1 elric happy. 419 1.1 elric 420 1.1 elric * hxtool.c: Unify parse_oid code. 421 1.1 elric 422 1.1 elric * hxtool.c: Implement --content-type. 423 1.1 elric 424 1.1 elric * hxtool-commands.in: Add content-type. 425 1.1 elric 426 1.1 elric * test_cert.in: more cert and keyset tests. 427 1.1 elric 428 1.1 elric 2007-06-18 Love Hrnquist strand <lha (a] it.su.se> 429 1.1 elric 430 1.1 elric * revoke.c: Avoid stomping on NULL. 431 1.1 elric 432 1.1 elric * revoke.c: Avoid reusing i. 433 1.1 elric 434 1.1 elric * cert.c: Provide __attribute__ for _hx509_abort. 435 1.1 elric 436 1.1 elric * ks_file.c: Fail if not finding iv. 437 1.1 elric 438 1.1 elric * keyset.c: Avoid useing freed memory. 439 1.1 elric 440 1.1 elric * crypto.c: Free memory in failure case. 441 1.1 elric 442 1.1 elric * crypto.c: Free memory in failure case. 443 1.1 elric 444 1.1 elric 2007-06-12 Love Hrnquist strand <lha (a] it.su.se> 445 1.1 elric 446 1.1 elric * *.c: Add hx509_cert_init_data and use everywhere 447 1.1 elric 448 1.1 elric * hx_locl.h: Now that KEYCHAIN:system-anchors is fast again, use 449 1.1 elric that. 450 1.1 elric 451 1.1 elric * ks_keychain.c: Implement trust anchor support with 452 1.1 elric SecTrustCopyAnchorCertificates. 453 1.1 elric 454 1.1 elric * keyset.c: Set ref to 1 for the new object. 455 1.1 elric 456 1.1 elric * cert.c: Fix logic for allow_default_trust_anchors 457 1.1 elric 458 1.1 elric * keyset.c: Add refcounting to keystores. 459 1.1 elric 460 1.1 elric * cert.c: Change logic for default trust anchors, make it be 461 1.1 elric either default trust anchor, the user supplied, or non at all. 462 1.1 elric 463 1.1 elric 2007-06-08 Love Hrnquist strand <lha (a] it.su.se> 464 1.1 elric 465 1.1 elric * Makefile.am: Add data/j.pem. 466 1.1 elric 467 1.1 elric * Makefile.am: Add test_windows.in. 468 1.1 elric 469 1.1 elric 2007-06-06 Love Hrnquist strand <lha (a] it.su.se> 470 1.1 elric 471 1.1 elric * ks_keychain.c: rename functions, leaks less memory and more 472 1.1 elric paranoia. 473 1.1 elric 474 1.1 elric * test_cms.in: Test cms peer-alg. 475 1.1 elric 476 1.1 elric * crypto.c (rsa_create_signature): make oid_id_pkcs1_rsaEncryption 477 1.1 elric mean rsa-with-sha1 but oid oid_id_pkcs1_rsaEncryption in algorithm 478 1.1 elric field. XXX should probably use another algorithmIdentifier for 479 1.1 elric this. 480 1.1 elric 481 1.1 elric * peer.c: Make free function return void. 482 1.1 elric 483 1.1 elric * cms.c (hx509_cms_create_signed_1): Use hx509_peer_info to select 484 1.1 elric the signature algorithm too. 485 1.1 elric 486 1.1 elric * hxtool-commands.in: Add cms-create-sd --peer-alg. 487 1.1 elric 488 1.1 elric * req.c: Use _hx509_crypto_default_sig_alg. 489 1.1 elric 490 1.1 elric * test_windows.in: Create crl, because everyone needs one. 491 1.1 elric 492 1.1 elric * Makefile.am: add wcrl.crl 493 1.1 elric 494 1.1 elric 2007-06-05 Love Hrnquist strand <lha (a] it.su.se> 495 1.1 elric 496 1.1 elric * hx_locl.h: Disable KEYCHAIN for now, its slow. 497 1.1 elric 498 1.1 elric * cms.c: When we are not using pkcs7-data, avoid seing 499 1.1 elric signedAttributes since some clients get upset by that (pkcs7 based 500 1.1 elric or just plain broken). 501 1.1 elric 502 1.1 elric * ks_keychain.c: Provide rsa signatures. 503 1.1 elric 504 1.1 elric * ks_keychain.c: Limit the searches to the selected keychain. 505 1.1 elric 506 1.1 elric * ks_keychain.c: include -framework Security specific header files 507 1.1 elric after #ifdef 508 1.1 elric 509 1.1 elric * ks_keychain.c: Find and attach private key (does not provide 510 1.1 elric operations yet though). 511 1.1 elric 512 1.1 elric * ks_p11.c: Prefix rsa method with p11_ 513 1.1 elric 514 1.1 elric * ks_keychain.c: Allow opening a specific chain, making "system" 515 1.1 elric special and be the system X509Anchors file. By not specifing any 516 1.1 elric keychain ("KEYCHAIN:"), all keychains are probed. 517 1.1 elric 518 1.1 elric 2007-06-04 Love Hrnquist strand <lha (a] it.su.se> 519 1.1 elric 520 1.1 elric * hxtool.c (verify): Friendlier error message. 521 1.1 elric 522 1.1 elric * cert.c: Read in and use default trust anchors if they exists. 523 1.1 elric 524 1.1 elric * hx_locl.h: Add concept of default_trust_anchors. 525 1.1 elric 526 1.1 elric * ks_keychain.c: Remove err(), remove extra empty comment, fix 527 1.1 elric _iter function. 528 1.1 elric 529 1.1 elric * error.c (hx509_get_error_string): if the error code is not the 530 1.1 elric one we expect, punt and use the default com_err/strerror string 531 1.1 elric instead. 532 1.1 elric 533 1.1 elric * keyset.c (hx509_certs_merge): its ok to merge in the NULL set of 534 1.1 elric certs. 535 1.1 elric 536 1.1 elric * test_windows.in: Fix status string. 537 1.1 elric 538 1.1 elric * ks_p12.c (store_func): free whole CertBag, not just the data 539 1.1 elric part. 540 1.1 elric 541 1.1 elric * print.c: Check that the self-signed cert is really self-signed. 542 1.1 elric 543 1.1 elric * print.c: Use selfsigned for CRL DP whine, tell if its a 544 1.1 elric self-signed. 545 1.1 elric 546 1.1 elric * print.c: Whine if its a non CA/proxy and doesn't have CRL DP. 547 1.1 elric 548 1.1 elric * ca.c: Add cRLSign to CA certs. 549 1.1 elric 550 1.1 elric * cert.c: Register NULL and KEYCHAIN. 551 1.1 elric 552 1.1 elric * ks_null.c: register the NULL keystore. 553 1.1 elric 554 1.1 elric * Makefile.am: Add ks_keychain.c and related libs. 555 1.1 elric 556 1.1 elric * test_crypto.in: Print certificate with utf8. 557 1.1 elric 558 1.1 elric * print.c: Leak less memory. 559 1.1 elric 560 1.1 elric * hxtool.c: Leak less memory. 561 1.1 elric 562 1.1 elric * print.c: Leak less memory, use functions that does same but 563 1.1 elric more. 564 1.1 elric 565 1.1 elric * name.c (quote_string): don't sign extend the (signed) char to 566 1.1 elric avoid printing too much, add an assert to check that we didn't 567 1.1 elric overrun the buffer. 568 1.1 elric 569 1.1 elric * name.c: Use right element out of the CHOICE for printableString 570 1.1 elric and utf8String 571 1.1 elric 572 1.1 elric * ks_keychain.c: Certificate only KeyChain backend. 573 1.1 elric 574 1.1 elric * name.c: Reset name before parsing it. 575 1.1 elric 576 1.1 elric 2007-06-03 Love Hrnquist strand <lha (a] it.su.se> 577 1.1 elric 578 1.1 elric * revoke.c (hx509_crl_*): fix sizeof() mistakes to fix memory 579 1.1 elric corruption. 580 1.1 elric 581 1.1 elric * hxtool.c: Add lifetime to crls. 582 1.1 elric 583 1.1 elric * hxtool-commands.in: Add lifetime to crls. 584 1.1 elric 585 1.1 elric * revoke.c: Add lifetime to crls. 586 1.1 elric 587 1.1 elric * test_ca.in: More crl checks. 588 1.1 elric 589 1.1 elric * revoke.c: Add revoking certs. 590 1.1 elric 591 1.1 elric * hxtool-commands.in: argument is certificates.. for crl-sign 592 1.1 elric 593 1.1 elric * hxtool.c (certificate_copy): free lock 594 1.1 elric 595 1.1 elric * revoke.c: Fix hx509_set_error_string calls, add 596 1.1 elric hx509_crl_add_revoked_certs(), implement hx509_crl_{alloc,free}. 597 1.1 elric 598 1.1 elric * hxtool.c (crl_sign): free lock 599 1.1 elric 600 1.1 elric * cert.c (hx509_context_free): free querystat 601 1.1 elric 602 1.1 elric 2007-06-02 Love Hrnquist strand <lha (a] it.su.se> 603 1.1 elric 604 1.1 elric * test_chain.in: test ocsp-verify 605 1.1 elric 606 1.1 elric * revoke.c (hx509_ocsp_verify): explain what its useful for and 607 1.1 elric provide sane error message. 608 1.1 elric 609 1.1 elric * hx509_err.et: New error code, CERT_NOT_IN_OCSP 610 1.1 elric 611 1.1 elric * hxtool.c: New command ocsp-verify, check if ocsp contains all 612 1.1 elric certs and are valid (exist and non expired). 613 1.1 elric 614 1.1 elric * hxtool-commands.in: New command ocsp-verify. 615 1.1 elric 616 1.1 elric 2007-06-01 Love Hrnquist strand <lha (a] it.su.se> 617 1.1 elric 618 1.1 elric * test_ca.in: Create crl and verify that is works. 619 1.1 elric 620 1.1 elric * hxtool.c: Sign CRL command. 621 1.1 elric 622 1.1 elric * hx509.h: Add hx509_crl. 623 1.1 elric 624 1.1 elric * hxtool-commands.in: Add crl-sign commands. 625 1.1 elric 626 1.1 elric * revoke.c: Support to generate an empty CRL. 627 1.1 elric 628 1.1 elric * tst-crypto-select2: Switched default types. 629 1.1 elric 630 1.1 elric * tst-crypto-select1: Switched default types. 631 1.1 elric 632 1.1 elric * ca.c: Use default AlgorithmIdentifier. 633 1.1 elric 634 1.1 elric * cms.c: Use default AlgorithmIdentifier. 635 1.1 elric 636 1.1 elric * crypto.c: Provide default AlgorithmIdentifier and use them. 637 1.1 elric 638 1.1 elric * hx_locl.h: Provide default AlgorithmIdentifier. 639 1.1 elric 640 1.1 elric * keyset.c (hx509_certs_find): collects stats for queries. 641 1.1 elric 642 1.1 elric * cert.c: Sort and print more info. 643 1.1 elric 644 1.1 elric * hx_locl.h: Add querystat to hx509_context. 645 1.1 elric 646 1.1 elric * test_*.in: sprinle stat saveing 647 1.1 elric 648 1.1 elric * Makefile.am: Add stat and objdir. 649 1.1 elric 650 1.1 elric * collector.c (_hx509_collector_alloc): return error code instead 651 1.1 elric of pointer. 652 1.1 elric 653 1.1 elric * hxtool.c: Add statistic hook. 654 1.1 elric 655 1.1 elric * ks_file.c: Update _hx509_collector_alloc prototype. 656 1.1 elric 657 1.1 elric * ks_p12.c: Update _hx509_collector_alloc prototype. 658 1.1 elric 659 1.1 elric * ks_p11.c: Update _hx509_collector_alloc prototype. 660 1.1 elric 661 1.1 elric * hxtool-commands.in: Add statistics hook. 662 1.1 elric 663 1.1 elric * cert.c: Statistics printing. 664 1.1 elric 665 1.1 elric * ks_p12.c: plug memory leak 666 1.1 elric 667 1.1 elric * ca.c (hx509_ca_tbs_add_crl_dp_uri): plug memory leak 668 1.1 elric 669 1.1 elric 2007-05-31 Love Hrnquist strand <lha (a] it.su.se> 670 1.1 elric 671 1.1 elric * print.c: print utf8 type SAN's 672 1.1 elric 673 1.1 elric * Makefile.am: Fix windows client cert name. 674 1.1 elric 675 1.1 elric * test_windows.in: Add crl-uri for the ee certs. 676 1.1 elric 677 1.1 elric * print.c: Printf formating. 678 1.1 elric 679 1.1 elric * ca.c: Add glue for adding CRL dps. 680 1.1 elric 681 1.1 elric * test_ca.in: Readd the crl adding code, it works (somewhat) now. 682 1.1 elric 683 1.1 elric * print.c: Fix printing of CRL DPnames (I hate IMPLICIT encoded 684 1.1 elric structures). 685 1.1 elric 686 1.1 elric * hxtool-commands.in: make ca and alias of certificate-sign 687 1.1 elric 688 1.1 elric 2007-05-30 Love Hrnquist strand <lha (a] it.su.se> 689 1.1 elric 690 1.1 elric * crypto.c (hx509_crypto_select): copy AI to the right place. 691 1.1 elric 692 1.1 elric * hxtool-commands.in: Add ca --ms-upn. 693 1.1 elric 694 1.1 elric * hxtool.c: add --ms-upn and add more EKU's for pk-init client. 695 1.1 elric 696 1.1 elric * ca.c: Add hx509_ca_tbs_add_san_ms_upn and refactor code. 697 1.1 elric 698 1.1 elric * test_crypto.in: Resurect killed e. 699 1.1 elric 700 1.1 elric * test_crypto.in: check for aes256-cbc 701 1.1 elric 702 1.1 elric * tst-crypto-select7: check for aes256-cbc 703 1.1 elric 704 1.1 elric * test_windows.in: test windows stuff 705 1.1 elric 706 1.1 elric * hxtool.c: add ca --domain-controller option, add secret key 707 1.1 elric option to avaible. 708 1.1 elric 709 1.1 elric * ca.c: Add hx509_ca_tbs_set_domaincontroller. 710 1.1 elric 711 1.1 elric * hxtool-commands.in: add ca --domain-controller 712 1.1 elric 713 1.1 elric * hxtool.c: hook for testing secrety key algs 714 1.1 elric 715 1.1 elric * crypto.c: Add selection code for secret key crypto. 716 1.1 elric 717 1.1 elric * hx509.h: Add HX509_SELECT_SECRET_ENC. 718 1.1 elric 719 1.1 elric 2007-05-13 Love Hrnquist strand <lha (a] it.su.se> 720 1.1 elric 721 1.1 elric * ks_p11.c: add more mechtypes 722 1.1 elric 723 1.1 elric 2007-05-10 Love Hrnquist strand <lha (a] it.su.se> 724 1.1 elric 725 1.1 elric * print.c: Indent. 726 1.1 elric 727 1.1 elric * hxtool-commands.in: add test-crypto command 728 1.1 elric 729 1.1 elric * hxtool.c: test crypto command 730 1.1 elric 731 1.1 elric * cms.c (hx509_cms_create_signed_1): if no eContentType is given, 732 1.1 elric use pkcs7-data. 733 1.1 elric 734 1.1 elric * print.c: add Netscape cert comment 735 1.1 elric 736 1.1 elric * crypto.c: Try both the empty password and the NULL 737 1.1 elric password (nothing vs the octet string \x00\x00). 738 1.1 elric 739 1.1 elric * print.c: Add some US Fed PKI oids. 740 1.1 elric 741 1.1 elric * ks_p11.c: Add some more hashes. 742 1.1 elric 743 1.1 elric 2007-04-24 Love Hrnquist strand <lha (a] it.su.se> 744 1.1 elric 745 1.1 elric * hxtool.c (crypto_select): stop memory leak 746 1.1 elric 747 1.1 elric 2007-04-19 Love Hrnquist strand <lha (a] it.su.se> 748 1.1 elric 749 1.1 elric * peer.c (hx509_peer_info_free): free memory used too 750 1.1 elric 751 1.1 elric * hxtool.c (crypto_select): only free peer if it was used. 752 1.1 elric 753 1.1 elric 2007-04-18 Love Hrnquist strand <lha (a] it.su.se> 754 1.1 elric 755 1.1 elric * hxtool.c: free template 756 1.1 elric 757 1.1 elric * ks_mem.c (mem_free): free key array too 758 1.1 elric 759 1.1 elric * hxtool.c: free private key and tbs 760 1.1 elric 761 1.1 elric * hxtool.c (hxtool_ca): free signer 762 1.1 elric 763 1.1 elric * hxtool.c (crypto_available): free peer too. 764 1.1 elric 765 1.1 elric * ca.c (get_AuthorityKeyIdentifier): leak less memory 766 1.1 elric 767 1.1 elric * hxtool.c (hxtool_ca): free SPKI 768 1.1 elric 769 1.1 elric * hxtool.c (hxtool_ca): free cert 770 1.1 elric 771 1.1 elric * ks_mem.c (mem_getkeys): allocate one more the we have elements 772 1.1 elric so its possible to store the NULL pointer at the end. 773 1.1 elric 774 1.1 elric 2007-04-16 Love Hrnquist strand <lha (a] it.su.se> 775 1.1 elric 776 1.1 elric * Makefile.am: CLEANFILES += cert-null.pem cert-sub-ca2.pem 777 1.1 elric 778 1.1 elric 2007-02-05 Love Hrnquist strand <lha (a] it.su.se> 779 1.1 elric 780 1.1 elric * ca.c: Disable CRLDistributionPoints for now, its IMPLICIT code 781 1.1 elric in the asn1 parser. 782 1.1 elric 783 1.1 elric * print.c: Add some more \n's. 784 1.1 elric 785 1.1 elric 2007-02-03 Love Hrnquist strand <lha (a] it.su.se> 786 1.1 elric 787 1.1 elric * file.c: Allow mapping using heim_octet_string. 788 1.1 elric 789 1.1 elric * hxtool.c: Add options to generate detached signatures. 790 1.1 elric 791 1.1 elric * cms.c: Add flags to generate detached signatures. 792 1.1 elric 793 1.1 elric * hx509.h: Flag to generate detached signatures. 794 1.1 elric 795 1.1 elric * test_cms.in: Support detached sigatures. 796 1.1 elric 797 1.1 elric * name.c (hx509_general_name_unparse): unparse the other 798 1.1 elric GeneralName nametypes. 799 1.1 elric 800 1.1 elric * print.c: Use less printf. Use hx509_general_name_unparse. 801 1.1 elric 802 1.1 elric * cert.c: Fix printing and plug leak-on-error. 803 1.1 elric 804 1.1 elric 2007-01-31 Love Hrnquist strand <lha (a] it.su.se> 805 1.1 elric 806 1.1 elric * test_ca.in: Add test for ca --crl-uri. 807 1.1 elric 808 1.1 elric * hxtool.c: Add ca --crl-uri. 809 1.1 elric 810 1.1 elric * hxtool-commands.in: add ca --crl-uri 811 1.1 elric 812 1.1 elric * ca.c: Code to set CRLDistributionPoints in certificates. 813 1.1 elric 814 1.1 elric * print.c: Check CRLDistributionPointNames. 815 1.1 elric 816 1.1 elric * name.c (hx509_general_name_unparse): function for unparsing 817 1.1 elric GeneralName, only supports GeneralName.URI 818 1.1 elric 819 1.1 elric * cert.c (is_proxy_cert): free info if we wont return it. 820 1.1 elric 821 1.1 elric 2007-01-30 Love Hrnquist strand <lha (a] it.su.se> 822 1.1 elric 823 1.1 elric * hxtool.c: Try to help how to use this command. 824 1.1 elric 825 1.1 elric 2007-01-21 Love Hrnquist strand <lha (a] it.su.se> 826 1.1 elric 827 1.1 elric * switch to sha256 as default digest for signing 828 1.1 elric 829 1.1 elric 2007-01-20 Love Hrnquist strand <lha (a] it.su.se> 830 1.1 elric 831 1.1 elric * test_ca.in: Really test sub-ca code, add basic constraints tests 832 1.1 elric 833 1.1 elric 2007-01-17 Love Hrnquist strand <lha (a] it.su.se> 834 1.1 elric 835 1.1 elric * Makefile.am: Fix makefile problem. 836 1.1 elric 837 1.1 elric 2007-01-16 Love Hrnquist strand <lha (a] it.su.se> 838 1.1 elric 839 1.1 elric * hxtool.c: Set num of bits before we generate the key. 840 1.1 elric 841 1.1 elric 2007-01-15 Love Hrnquist strand <lha (a] it.su.se> 842 1.1 elric 843 1.1 elric * cms.c (hx509_cms_create_signed_1): use hx509_cert_binary 844 1.1 elric 845 1.1 elric * ks_p12.c (store_func): use hx509_cert_binary 846 1.1 elric 847 1.1 elric * ks_file.c (store_func): use hx509_cert_binary 848 1.1 elric 849 1.1 elric * cert.c (hx509_cert_binary): return binary encoded 850 1.1 elric certificate (DER format) 851 1.1 elric 852 1.1 elric 2007-01-14 Love Hrnquist strand <lha (a] it.su.se> 853 1.1 elric 854 1.1 elric * ca.c (hx509_ca_tbs_subject_expand): new function. 855 1.1 elric 856 1.1 elric * name.c (hx509_name_expand): if env is NULL, return directly 857 1.1 elric 858 1.1 elric * test_ca.in: test template handling 859 1.1 elric 860 1.1 elric * hx509.h: Add template flags. 861 1.1 elric 862 1.1 elric * Makefile.am: clean out new files 863 1.1 elric 864 1.1 elric * hxtool.c: Add certificate template processing, fix hx509_err 865 1.1 elric usage. 866 1.1 elric 867 1.1 elric * hxtool-commands.in: Add certificate template processing. 868 1.1 elric 869 1.1 elric * ca.c: Add certificate template processing. Fix return messages 870 1.1 elric from hx509_ca_tbs_add_eku. 871 1.1 elric 872 1.1 elric * cert.c: Export more stuff from certificate. 873 1.1 elric 874 1.1 elric 2007-01-13 Love Hrnquist strand <lha (a] it.su.se> 875 1.1 elric 876 1.1 elric * ca.c: update (c) 877 1.1 elric 878 1.1 elric * ca.c: (hx509_ca_tbs_add_eku): filter out dups. 879 1.1 elric 880 1.1 elric * hxtool.c: Add type email and add email eku when using option 881 1.1 elric --email. 882 1.1 elric 883 1.1 elric * Makefile.am: add env.c 884 1.1 elric 885 1.1 elric * name.c: Remove abort, add error handling. 886 1.1 elric 887 1.1 elric * test_name.c: test name expansion 888 1.1 elric 889 1.1 elric * name.c: add hx509_name_expand 890 1.1 elric 891 1.1 elric * env.c: key-value pair help functions 892 1.1 elric 893 1.1 elric 2007-01-12 Love Hrnquist strand <lha (a] it.su.se> 894 1.1 elric 895 1.1 elric * ca.c: Don't issue certs with subject DN that is NULL and have no 896 1.1 elric SANs 897 1.1 elric 898 1.1 elric * print.c: Fix previous test. 899 1.1 elric 900 1.1 elric * print.c: Check there is a SAN if subject DN is NULL. 901 1.1 elric 902 1.1 elric * test_ca.in: test email, null subject dn 903 1.1 elric 904 1.1 elric * hxtool.c: Allow setting parameters to private key generation. 905 1.1 elric 906 1.1 elric * hx_locl.h: Allow setting parameters to private key generation. 907 1.1 elric 908 1.1 elric * crypto.c: Allow setting parameters to private key generation. 909 1.1 elric 910 1.1 elric * hxtool.c (eval_types): add jid if user gave one 911 1.1 elric 912 1.1 elric * hxtool-commands.in (certificate-sign): add --jid 913 1.1 elric 914 1.1 elric * ca.c (hx509_ca_tbs_add_san_jid): Allow adding 915 1.1 elric id-pkix-on-xmppAddr OtherName. 916 1.1 elric 917 1.1 elric * print.c: Print id-pkix-on-xmppAddr OtherName. 918 1.1 elric 919 1.1 elric 2007-01-11 Love Hrnquist strand <lha (a] it.su.se> 920 1.1 elric 921 1.1 elric * no random, no RSA/DH tests 922 1.1 elric 923 1.1 elric * hxtool.c (info): print status of random generator 924 1.1 elric 925 1.1 elric * Makefile.am: remove files created by tests 926 1.1 elric 927 1.1 elric * error.c: constify 928 1.1 elric 929 1.1 elric * name.c: constify 930 1.1 elric 931 1.1 elric * revoke.c: constify 932 1.1 elric 933 1.1 elric * hx_locl.h: constify 934 1.1 elric 935 1.1 elric * keyset.c: constify 936 1.1 elric 937 1.1 elric * ks_p11.c: constify 938 1.1 elric 939 1.1 elric * hx_locl.h: make printinfo char * argument const. 940 1.1 elric 941 1.1 elric * cms.c: move _hx509_set_digest_alg from cms.c to crypto.c since 942 1.1 elric its only used there. 943 1.1 elric 944 1.1 elric * crypto.c: remove no longer used stuff, move set_digest_alg here 945 1.1 elric from cms.c since its only used here. 946 1.1 elric 947 1.1 elric * Makefile.am: add data/test-nopw.p12 to EXTRA_DIST 948 1.1 elric 949 1.1 elric 2007-01-10 Love Hrnquist strand <lha (a] it.su.se> 950 1.1 elric 951 1.1 elric * print.c: BasicConstraints vs criticality bit is complicated and 952 1.1 elric not really possible to evaluate on its own, silly RFC3280. 953 1.1 elric 954 1.1 elric * ca.c: Make basicConstraints critical if this is a CA. 955 1.1 elric 956 1.1 elric * print.c: fix the version vs extension test 957 1.1 elric 958 1.1 elric * print.c: More validation checks. 959 1.1 elric 960 1.1 elric * name.c (hx509_name_cmp): add 961 1.1 elric 962 1.1 elric 2007-01-09 Love Hrnquist strand <lha (a] it.su.se> 963 1.1 elric 964 1.1 elric * ks_p11.c (collect_private_key): Missing CKA_MODULUS is ok 965 1.1 elric too (XXX why should these be fetched given they are not used). 966 1.1 elric 967 1.1 elric * test_ca.in: rename all files to PEM files, since that is what 968 1.1 elric they are. 969 1.1 elric 970 1.1 elric * hxtool.c: copy out the key with the self signed CA cert 971 1.1 elric 972 1.1 elric * Factor out private key operation out of the signing, operations, 973 1.1 elric support import, export, and generation of private keys. Add 974 1.1 elric support for writing PEM and PKCS12 files with private keys in them. 975 1.1 elric 976 1.1 elric * data/gen-req.sh: Generate a no password pkcs12 file. 977 1.1 elric 978 1.1 elric 2007-01-08 Love Hrnquist strand <lha (a] it.su.se> 979 1.1 elric 980 1.1 elric * cms.c: Check for internal ASN1 encoder error. 981 1.1 elric 982 1.1 elric 2007-01-05 Love Hrnquist strand <lha (a] it.su.se> 983 1.1 elric 984 1.1 elric * Makefile.am: Drop most of the pkcs11 files. 985 1.1 elric 986 1.1 elric * test_ca.in: test reissueing ca certificate (xxx time 987 1.1 elric validAfter). 988 1.1 elric 989 1.1 elric * hxtool.c: Allow setting serialNumber (needed for reissuing 990 1.1 elric certificates) Change --key argument to --out-key. 991 1.1 elric 992 1.1 elric * hxtool-commands.in (issue-certificate): Allow setting 993 1.1 elric serialNumber (needed for reissuing certificates), Change --key 994 1.1 elric argument to --out-key. 995 1.1 elric 996 1.1 elric * ref: Replace with Marcus Brinkmann of g10 Code GmbH pkcs11 997 1.1 elric headerfile that is compatible with GPL (file taken from scute) 998 1.1 elric 999 1.1 elric 2007-01-04 Love Hrnquist strand <lha (a] it.su.se> 1000 1.1 elric 1001 1.1 elric * test_ca.in: Test to generate key and use them. 1002 1.1 elric 1003 1.1 elric * hxtool.c: handle other keys the pkcs10 requested keys 1004 1.1 elric 1005 1.1 elric * hxtool-commands.in: add generate key commands 1006 1.1 elric 1007 1.1 elric * req.c (_hx509_request_to_pkcs10): PKCS10 needs to have a subject 1008 1.1 elric 1009 1.1 elric * hxtool-commands.in: Spelling. 1010 1.1 elric 1011 1.1 elric * ca.c (hx509_ca_tbs_set_proxy): allow negative pathLenConstraint 1012 1.1 elric to signal no limit 1013 1.1 elric 1014 1.1 elric * ks_file.c: Try all formats on the binary file before giving up, 1015 1.1 elric this way we can handle binary rsa keys too. 1016 1.1 elric 1017 1.1 elric * data/key2.der: new test key 1018 1.1 elric 1019 1.1 elric 2007-01-04 David Love <fx (a] gnu.org> 1020 1.1 elric 1021 1.1 elric * Makefile.am (hxtool_LDADD): Add libasn1.la 1022 1.1 elric 1023 1.1 elric * hxtool.c (pcert_verify): Fix format string. 1024 1.1 elric 1025 1.1 elric 2006-12-31 Love Hrnquist strand <lha (a] it.su.se> 1026 1.1 elric 1027 1.1 elric * hxtool.c: Allow setting path length 1028 1.1 elric 1029 1.1 elric * cert.c: Fix test for proxy certs chain length, it was too 1030 1.1 elric restrictive. 1031 1.1 elric 1032 1.1 elric * data: regen 1033 1.1 elric 1034 1.1 elric * data/openssl.cnf: (proxy_cert) make length 0 1035 1.1 elric 1036 1.1 elric * test_ca.in: Issue a long living cert. 1037 1.1 elric 1038 1.1 elric * hxtool.c: add --lifetime to ca command. 1039 1.1 elric 1040 1.1 elric * hxtool-commands.in: add --lifetime to ca command. 1041 1.1 elric 1042 1.1 elric * ca.c: allow setting notBefore and notAfter. 1043 1.1 elric 1044 1.1 elric * test_ca.in: Test generation of proxy certificates. 1045 1.1 elric 1046 1.1 elric * ca.c: Allow generation of proxy certificates, always include 1047 1.1 elric BasicConstraints, fix error codes. 1048 1.1 elric 1049 1.1 elric * hxtool.c: Allow generation of proxy certificates. 1050 1.1 elric 1051 1.1 elric * test_name.c: make hx509_parse_name take a hx509_context. 1052 1.1 elric 1053 1.1 elric * name.c: Split building RDN to a separate function. 1054 1.1 elric 1055 1.1 elric 2006-12-30 Love Hrnquist strand <lha (a] it.su.se> 1056 1.1 elric 1057 1.1 elric * Makefile.am: clean test_ca files. 1058 1.1 elric 1059 1.1 elric * test_ca.in: test issuing self-signed and CA certificates. 1060 1.1 elric 1061 1.1 elric * hxtool.c: Add bits to allow issuing self-signed and CA 1062 1.1 elric certificates. 1063 1.1 elric 1064 1.1 elric * hxtool-commands.in: Add bits to allow issuing self-signed and CA 1065 1.1 elric certificates. 1066 1.1 elric 1067 1.1 elric * ca.c: Add bits to allow issuing CA certificates. 1068 1.1 elric 1069 1.1 elric * revoke.c: use new OCSPSigning. 1070 1.1 elric 1071 1.1 elric * ca.c: Add Subject Key Identifier. 1072 1.1 elric 1073 1.1 elric * ca.c: Add Authority Key Identifier. 1074 1.1 elric 1075 1.1 elric * cert.c: Locally export _hx509_find_extension_subject_key_id. 1076 1.1 elric Handle AuthorityKeyIdentifier where only authorityCertSerialNumber 1077 1.1 elric and authorityCertSerialNumber is set. 1078 1.1 elric 1079 1.1 elric * hxtool-commands.in: Add dnsname and rfc822 SANs. 1080 1.1 elric 1081 1.1 elric * test_ca.in: Test dnsname and rfc822 SANs. 1082 1.1 elric 1083 1.1 elric * ca.c: Add dnsname and rfc822 SANs. 1084 1.1 elric 1085 1.1 elric * hxtool.c: Add dnsname and rfc822 SANs. 1086 1.1 elric 1087 1.1 elric * test_ca.in: test adding eku, ku and san to the 1088 1.1 elric certificate (https and pk-init) 1089 1.1 elric 1090 1.1 elric * hxtool.c: Add eku, ku and san to the certificate. 1091 1.1 elric 1092 1.1 elric * ca.c: Add eku, ku and san to the certificate. 1093 1.1 elric 1094 1.1 elric * hxtool-commands.in: Add --type and --pk-init-principal 1095 1.1 elric 1096 1.1 elric * ocsp.asn1: remove id-kp-OCSPSigning, its in rfc2459.asn1 now 1097 1.1 elric 1098 1.1 elric 2006-12-29 Love Hrnquist strand <lha (a] it.su.se> 1099 1.1 elric 1100 1.1 elric * ca.c: Add KeyUsage extension. 1101 1.1 elric 1102 1.1 elric * Makefile.am: add ca.c, add sign-certificate tests. 1103 1.1 elric 1104 1.1 elric * crypto.c: Add _hx509_create_signature_bitstring. 1105 1.1 elric 1106 1.1 elric * hxtool-commands.in: Add the sign-certificate tool. 1107 1.1 elric 1108 1.1 elric * hxtool.c: Add the sign-certificate tool. 1109 1.1 elric 1110 1.1 elric * cert.c: Add HX509_QUERY_OPTION_KU_KEYCERTSIGN. 1111 1.1 elric 1112 1.1 elric * hx509.h: Add hx509_ca_tbs and HX509_QUERY_OPTION_KU_KEYCERTSIGN. 1113 1.1 elric 1114 1.1 elric * test_ca.in: Basic test of generating a pkcs10 request, signing 1115 1.1 elric it and verifying the chain. 1116 1.1 elric 1117 1.1 elric * ca.c: Naive certificate signer. 1118 1.1 elric 1119 1.1 elric 2006-12-28 Love Hrnquist strand <lha (a] it.su.se> 1120 1.1 elric 1121 1.1 elric * hxtool.c: add hxtool_hex 1122 1.1 elric 1123 1.1 elric 2006-12-22 Love Hrnquist strand <lha (a] it.su.se> 1124 1.1 elric 1125 1.1 elric * Makefile.am: use top_builddir for libasn1.la 1126 1.1 elric 1127 1.1 elric 2006-12-11 Love Hrnquist strand <lha (a] it.su.se> 1128 1.1 elric 1129 1.1 elric * hxtool.c (print_certificate): print serial number. 1130 1.1 elric 1131 1.1 elric * name.c (no): add S=stateOrProvinceName 1132 1.1 elric 1133 1.1 elric 2006-12-09 Love Hrnquist strand <lha (a] it.su.se> 1134 1.1 elric 1135 1.1 elric * crypto.c (_hx509_private_key_assign_rsa): set a default sig alg 1136 1.1 elric 1137 1.1 elric * ks_file.c (try_decrypt): pass down AlgorithmIdentifier that key 1138 1.1 elric uses to do sigatures so there is no need to hardcode RSA into this 1139 1.1 elric function. 1140 1.1 elric 1141 1.1 elric 2006-12-08 Love Hrnquist strand <lha (a] it.su.se> 1142 1.1 elric 1143 1.1 elric * ks_file.c: Pass filename to the parse functions and use it in 1144 1.1 elric the error messages 1145 1.1 elric 1146 1.1 elric * test_chain.in: test proxy cert (third level) 1147 1.1 elric 1148 1.1 elric * hx509_err.et: fix errorstring for PROXY_CERT_NAME_WRONG 1149 1.1 elric 1150 1.1 elric * data: regen 1151 1.1 elric 1152 1.1 elric * Makefile.am: EXTRA_DIST: add 1153 1.1 elric data/proxy10-child-child-test.{key,crt} 1154 1.1 elric 1155 1.1 elric * data/gen-req.sh: Fix names and restrictions on the proxy 1156 1.1 elric certificates 1157 1.1 elric 1158 1.1 elric * cert.c: Clairfy and make proxy cert handling work for multiple 1159 1.1 elric levels, before it was too restrictive. More helpful error message. 1160 1.1 elric 1161 1.1 elric 2006-12-07 Love Hrnquist strand <lha (a] it.su.se> 1162 1.1 elric 1163 1.1 elric * cert.c (check_key_usage): tell what keyusages are missing 1164 1.1 elric 1165 1.1 elric * print.c: Split OtherName printing code to a oid lookup and print 1166 1.1 elric function. 1167 1.1 elric 1168 1.1 elric * print.c (Time2string): print hour as hour not min 1169 1.1 elric 1170 1.1 elric * Makefile.am: CLEANFILES += test 1171 1.1 elric 1172 1.1 elric 2006-12-06 Love Hrnquist strand <lha (a] it.su.se> 1173 1.1 elric 1174 1.1 elric * Makefile.am (EXTRA_DIST): add data/pkinit-proxy* files 1175 1.1 elric 1176 1.1 elric * Makefile.am (EXTRA_DIST): add tst-crypto* files 1177 1.1 elric 1178 1.1 elric * cert.c (hx509_query_match_issuer_serial): make a copy of the 1179 1.1 elric data 1180 1.1 elric 1181 1.1 elric * cert.c (hx509_query_match_issuer_serial): allow matching on 1182 1.1 elric issuer and serial num 1183 1.1 elric 1184 1.1 elric * cert.c (_hx509_calculate_path): add flag to allow leaving out 1185 1.1 elric trust anchor 1186 1.1 elric 1187 1.1 elric * cms.c (hx509_cms_create_signed_1): when building the path, omit 1188 1.1 elric the trust anchors. 1189 1.1 elric 1190 1.1 elric * crypto.c (rsa_create_signature): Abort when signature is longer, 1191 1.1 elric not shorter. 1192 1.1 elric 1193 1.1 elric * cms.c: Provide time to _hx509_calculate_path so we don't send no 1194 1.1 elric longer valid certs to our peer. 1195 1.1 elric 1196 1.1 elric * cert.c (find_parent): when checking for certs and its not a 1197 1.1 elric trust anchor, require time be in range. 1198 1.1 elric (_hx509_query_match_cert): Add time validity-testing to query mask 1199 1.1 elric 1200 1.1 elric * hx_locl.h: add time validity-testing to query mask 1201 1.1 elric 1202 1.1 elric * test_cms.in: Tests for CMS SignedData with incomplete chain from 1203 1.1 elric the signer. 1204 1.1 elric 1205 1.1 elric 2006-11-28 Love Hrnquist strand <lha (a] it.su.se> 1206 1.1 elric 1207 1.1 elric * cms.c (hx509_cms_verify_signed): specify what signature we 1208 1.1 elric failed to verify 1209 1.1 elric 1210 1.1 elric * Makefile.am: Depend on LIB_com_err for AIX. 1211 1.1 elric 1212 1.1 elric * keyset.c: Remove anther strndup that causes AIX to fall over. 1213 1.1 elric 1214 1.1 elric * cert.c: Don't check the trust anchors expiration time since they 1215 1.1 elric are transported out of band, from RFC3820. 1216 1.1 elric 1217 1.1 elric * cms.c: sprinkle more error strings 1218 1.1 elric 1219 1.1 elric * crypto.c: sprinkle more error strings 1220 1.1 elric 1221 1.1 elric * hxtool.c: use unsigned int as counter to fit better with the 1222 1.1 elric asn1 compiler 1223 1.1 elric 1224 1.1 elric * crypto.c: use unsigned int as counter to fit better with the 1225 1.1 elric asn1 compiler 1226 1.1 elric 1227 1.1 elric 2006-11-27 Love Hrnquist strand <lha (a] it.su.se> 1228 1.1 elric 1229 1.1 elric * cms.c: Remove trailing white space. 1230 1.1 elric 1231 1.1 elric * crypto.c: rewrite comment to make more sense 1232 1.1 elric 1233 1.1 elric * crypto.c (hx509_crypto_select): check sig_algs[j]->key_oid 1234 1.1 elric 1235 1.1 elric * hxtool-commands.in (crypto-available): add --type 1236 1.1 elric 1237 1.1 elric * crypto.c (hx509_crypto_available): let alg pass if its keyless 1238 1.1 elric 1239 1.1 elric * hxtool-commands.in: Expand crypto-select 1240 1.1 elric 1241 1.1 elric * cms.c: Rename hx509_select to hx509_crypto_select. 1242 1.1 elric 1243 1.1 elric * hxtool-commands.in: Add crypto-select and crypto-available. 1244 1.1 elric 1245 1.1 elric * hxtool.c: Add crypto-select and crypto-available. 1246 1.1 elric 1247 1.1 elric * crypto.c (hx509_crypto_available): use right index. 1248 1.1 elric (hx509_crypto_free_algs): new function 1249 1.1 elric 1250 1.1 elric * crypto.c (hx509_crypto_select): improve 1251 1.1 elric (hx509_crypto_available): new function 1252 1.1 elric 1253 1.1 elric 2006-11-26 Love Hrnquist strand <lha (a] it.su.se> 1254 1.1 elric 1255 1.1 elric * cert.c: Sprinkle more error string and hx509_contexts. 1256 1.1 elric 1257 1.1 elric * cms.c: Sprinkle more error strings. 1258 1.1 elric 1259 1.1 elric * crypto.c: Sprinkle error string and hx509_contexts. 1260 1.1 elric 1261 1.1 elric * crypto.c: Add some more comments about how this works. 1262 1.1 elric 1263 1.1 elric * crypto.c (hx509_select): new function. 1264 1.1 elric 1265 1.1 elric * Makefile.am: add peer.c 1266 1.1 elric 1267 1.1 elric * hxtool.c: Update hx509_cms_create_signed_1. 1268 1.1 elric 1269 1.1 elric * hx_locl.h: add struct hx509_peer_info 1270 1.1 elric 1271 1.1 elric * peer.c: Allow selection of digest/sig-alg 1272 1.1 elric 1273 1.1 elric * cms.c: Allow selection of a better digest using hx509_peer_info. 1274 1.1 elric 1275 1.1 elric * revoke.c: Handle that _hx509_verify_signature takes a context. 1276 1.1 elric 1277 1.1 elric * cert.c: Handle that _hx509_verify_signature takes a context. 1278 1.1 elric 1279 1.1 elric 2006-11-25 Love Hrnquist strand <lha (a] it.su.se> 1280 1.1 elric 1281 1.1 elric * cms.c: Sprinkle error strings. 1282 1.1 elric 1283 1.1 elric * crypto.c: Sprinkle context and error strings. 1284 1.1 elric 1285 1.1 elric 2006-11-24 Love Hrnquist strand <lha (a] it.su.se> 1286 1.1 elric 1287 1.1 elric * name.c: Handle printing and parsing raw oids in name. 1288 1.1 elric 1289 1.1 elric 2006-11-23 Love Hrnquist strand <lha (a] it.su.se> 1290 1.1 elric 1291 1.1 elric * cert.c (_hx509_calculate_path): allow to calculate optimistic 1292 1.1 elric path when we don't know the trust anchors, just follow the chain 1293 1.1 elric upward until we no longer find a parent or we hit the max limit. 1294 1.1 elric 1295 1.1 elric * cms.c (hx509_cms_create_signed_1): provide a best effort path to 1296 1.1 elric the trust anchors to be stored in the SignedData packet, if find 1297 1.1 elric parents until trust anchor or max length. 1298 1.1 elric 1299 1.1 elric * data: regen 1300 1.1 elric 1301 1.1 elric * data/gen-req.sh: Build pk-init proxy cert. 1302 1.1 elric 1303 1.1 elric 2006-11-16 Love Hrnquist strand <lha (a] it.su.se> 1304 1.1 elric 1305 1.1 elric * error.c (hx509_get_error_string): Put ", " between strings in 1306 1.1 elric error message. 1307 1.1 elric 1308 1.1 elric 2006-11-13 Love Hrnquist strand <lha (a] it.su.se> 1309 1.1 elric 1310 1.1 elric * data/openssl.cnf: Change realm to TEST.H5L.SE 1311 1.1 elric 1312 1.1 elric 2006-11-07 Love Hrnquist strand <lha (a] it.su.se> 1313 1.1 elric 1314 1.1 elric * revoke.c: Sprinkle error strings. 1315 1.1 elric 1316 1.1 elric 2006-11-04 Love Hrnquist strand <lha (a] it.su.se> 1317 1.1 elric 1318 1.1 elric * hx_locl.h: add context variable to cmp function. 1319 1.1 elric 1320 1.1 elric * cert.c (hx509_query_match_cmp_func): allow setting the match 1321 1.1 elric function. 1322 1.1 elric 1323 1.1 elric 2006-10-24 Love Hrnquist strand <lha (a] it.su.se> 1324 1.1 elric 1325 1.1 elric * ks_p11.c: Return less EINVAL. 1326 1.1 elric 1327 1.1 elric * hx509_err.et: add more pkcs11 errors 1328 1.1 elric 1329 1.1 elric * hx509_err.et: more error-codes 1330 1.1 elric 1331 1.1 elric * revoke.c: Return less EINVAL. 1332 1.1 elric 1333 1.1 elric * ks_dir.c: sprinkel more hx509_set_error_string 1334 1.1 elric 1335 1.1 elric * ks_file.c: Return less EINVAL. 1336 1.1 elric 1337 1.1 elric * hxtool.c: Pass in context to _hx509_parse_private_key. 1338 1.1 elric 1339 1.1 elric * ks_file.c: Sprinkle more hx509_context so we can return propper 1340 1.1 elric errors. 1341 1.1 elric 1342 1.1 elric * hx509_err.et: add HX509_PARSING_KEY_FAILED 1343 1.1 elric 1344 1.1 elric * crypto.c: Sprinkle more hx509_context so we can return propper 1345 1.1 elric errors. 1346 1.1 elric 1347 1.1 elric * collector.c: No more EINVAL. 1348 1.1 elric 1349 1.1 elric * hx509_err.et: add HX509_LOCAL_ATTRIBUTE_MISSING 1350 1.1 elric 1351 1.1 elric * cert.c (hx509_cert_get_base_subject): one less EINVAL 1352 1.1 elric (_hx509_cert_private_decrypt): one less EINVAL 1353 1.1 elric 1354 1.1 elric 2006-10-22 Love Hrnquist strand <lha (a] it.su.se> 1355 1.1 elric 1356 1.1 elric * collector.c: indent 1357 1.1 elric 1358 1.1 elric * hxtool.c: Try to not leak memory. 1359 1.1 elric 1360 1.1 elric * req.c: clean memory before free 1361 1.1 elric 1362 1.1 elric * crypto.c (_hx509_private_key2SPKI): indent 1363 1.1 elric 1364 1.1 elric * req.c: Try to not leak memory. 1365 1.1 elric 1366 1.1 elric 2006-10-21 Love Hrnquist strand <lha (a] it.su.se> 1367 1.1 elric 1368 1.1 elric * test_crypto.in: Read 50 kilobyte random data 1369 1.1 elric 1370 1.1 elric * revoke.c: Try to not leak memory. 1371 1.1 elric 1372 1.1 elric * hxtool.c: Try to not leak memory. 1373 1.1 elric 1374 1.1 elric * crypto.c (hx509_crypto_destroy): free oid. 1375 1.1 elric 1376 1.1 elric * error.c: Clean error string on failure just to make sure. 1377 1.1 elric 1378 1.1 elric * cms.c: Try to not leak memory (again). 1379 1.1 elric 1380 1.1 elric * hxtool.c: use a sensable content type 1381 1.1 elric 1382 1.1 elric * cms.c: Try harder to free certificate. 1383 1.1 elric 1384 1.1 elric 2006-10-20 Love Hrnquist strand <lha (a] it.su.se> 1385 1.1 elric 1386 1.1 elric * Makefile.am: Add make check data. 1387 1.1 elric 1388 1.1 elric 2006-10-19 Love Hrnquist strand <lha (a] it.su.se> 1389 1.1 elric 1390 1.1 elric * ks_p11.c (p11_list_keys): make element of search_data[0] 1391 1.1 elric constants and set them later 1392 1.1 elric 1393 1.1 elric * Makefile.am: Add more files. 1394 1.1 elric 1395 1.1 elric 2006-10-17 Love Hrnquist strand <lha (a] it.su.se> 1396 1.1 elric 1397 1.1 elric * ks_file.c: set ret, remember to free ivdata 1398 1.1 elric 1399 1.1 elric 2006-10-16 Love Hrnquist strand <lha (a] it.su.se> 1400 1.1 elric 1401 1.1 elric * hx_locl.h: Include <parse_bytes.h>. 1402 1.1 elric 1403 1.1 elric * test_crypto.in: Test random-data. 1404 1.1 elric 1405 1.1 elric * hxtool.c: RAND_bytes() return 1 for cryptographic strong data, 1406 1.1 elric check for that. 1407 1.1 elric 1408 1.1 elric * Makefile.am: clean random-data 1409 1.1 elric 1410 1.1 elric * hxtool.c: Add random-data command, use sl_slc_help. 1411 1.1 elric 1412 1.1 elric * hxtool-commands.in: Add random-data. 1413 1.1 elric 1414 1.1 elric * ks_p12.c: Remember to release certs. 1415 1.1 elric 1416 1.1 elric * ks_p11.c: Remember to release certs. 1417 1.1 elric 1418 1.1 elric 2006-10-14 Love Hrnquist strand <lha (a] it.su.se> 1419 1.1 elric 1420 1.1 elric * prefix der primitives with der_ 1421 1.1 elric 1422 1.1 elric * lock.c: Match the prompt type PROMPT exact. 1423 1.1 elric 1424 1.1 elric * hx_locl.h: Drop heim_any.h 1425 1.1 elric 1426 1.1 elric 2006-10-11 Love Hrnquist strand <lha (a] it.su.se> 1427 1.1 elric 1428 1.1 elric * ks_p11.c (p11_release_module): j needs to be used as inter loop 1429 1.1 elric index. From Douglas Engert. 1430 1.1 elric 1431 1.1 elric * ks_file.c (parse_rsa_private_key): try all passwords and 1432 1.1 elric prompter. 1433 1.1 elric 1434 1.1 elric 2006-10-10 Love Hrnquist strand <lha (a] it.su.se> 1435 1.1 elric 1436 1.1 elric * test_*.in: Parameterise the invocation of hxtool, so we can make 1437 1.1 elric it run under TESTS_ENVIRONMENT. From Andrew Bartlett 1438 1.1 elric 1439 1.1 elric 2006-10-08 Love Hrnquist strand <lha (a] it.su.se> 1440 1.1 elric 1441 1.1 elric * test_crypto.in: Put all test stuck at 2006-09-25 since all their 1442 1.1 elric chains where valied then. 1443 1.1 elric 1444 1.1 elric * hxtool.c: Implement --time= option. 1445 1.1 elric 1446 1.1 elric * hxtool-commands.in: Add option time. 1447 1.1 elric 1448 1.1 elric * Makefile.am: test_name is a PROGRAM_TESTS 1449 1.1 elric 1450 1.1 elric * ks_p11.c: Return HX509_PKCS11_NO_SLOT when there are no slots 1451 1.1 elric and HX509_PKCS11_NO_TOKEN when there are no token. For use in PAM 1452 1.1 elric modules that want to detect when to use smartcard login and when 1453 1.1 elric not to. Patched based on code from Douglas Engert. 1454 1.1 elric 1455 1.1 elric * hx509_err.et: Add new pkcs11 related errors in a new section: 1456 1.1 elric keystore related error. Patched based on code from Douglas 1457 1.1 elric Engert. 1458 1.1 elric 1459 1.1 elric 2006-10-07 Love Hrnquist strand <lha (a] it.su.se> 1460 1.1 elric 1461 1.1 elric * Makefile.am: Make depenency for slc built files just like 1462 1.1 elric everywhere else. 1463 1.1 elric 1464 1.1 elric * cert.c: Add all openssl algs and init asn1 et 1465 1.1 elric 1466 1.1 elric 2006-10-06 Love Hrnquist strand <lha (a] it.su.se> 1467 1.1 elric 1468 1.1 elric * ks_file.c (parse_rsa_private_key): free type earlier. 1469 1.1 elric 1470 1.1 elric * ks_file.c (parse_rsa_private_key): free type after use 1471 1.1 elric 1472 1.1 elric * name.c (_hx509_Name_to_string): remove dup const 1473 1.1 elric 1474 1.1 elric 2006-10-02 Love Hrnquist strand <lha (a] it.su.se> 1475 1.1 elric 1476 1.1 elric * Makefile.am: Add more libs to libhx509 1477 1.1 elric 1478 1.1 elric 2006-10-01 Love Hrnquist strand <lha (a] it.su.se> 1479 1.1 elric 1480 1.1 elric * ks_p11.c: Fix double free's, NULL ptr de-reference, and conform 1481 1.1 elric better to pkcs11. From Douglas Engert. 1482 1.1 elric 1483 1.1 elric * ref: remove ^M, it breaks solaris 10s cc. From Harald Barth 1484 1.1 elric 1485 1.1 elric 2006-09-19 Love Hrnquist strand <lha (a] it.su.se> 1486 1.1 elric 1487 1.1 elric * test_crypto.in: Bleichenbacher bad cert from Ralf-Philipp 1488 1.1 elric Weinmann and Andrew Pyshkin, pad right. 1489 1.1 elric 1490 1.1 elric * data: starfield test root cert and Ralf-Philipp and Andreis 1491 1.1 elric correctly padded bad cert 1492 1.1 elric 1493 1.1 elric 2006-09-15 Love Hrnquist strand <lha (a] it.su.se> 1494 1.1 elric 1495 1.1 elric * test_crypto.in: Add test for yutaka certs. 1496 1.1 elric 1497 1.1 elric * cert.c: Add a strict rfc3280 verification flag. rfc3280 requires 1498 1.1 elric certificates to have KeyUsage.keyCertSign if they are to be used 1499 1.1 elric for signing of certificates, but the step in the verifiation is 1500 1.1 elric optional. 1501 1.1 elric 1502 1.1 elric * hxtool.c: Improve printing and error reporting. 1503 1.1 elric 1504 1.1 elric 2006-09-13 Love Hrnquist strand <lha (a] it.su.se> 1505 1.1 elric 1506 1.1 elric * test_crypto.in,Makefile.am,data/bleichenbacher-{bad,good}.pem: 1507 1.1 elric test bleichenbacher from eay 1508 1.1 elric 1509 1.1 elric 2006-09-12 Love Hrnquist strand <lha (a] it.su.se> 1510 1.1 elric 1511 1.1 elric * hxtool.c: Make common function for all getarg_strings and 1512 1.1 elric hx509_certs_append commonly used. 1513 1.1 elric 1514 1.1 elric * cms.c: HX509_CMS_UE_DONT_REQUIRE_KU_ENCIPHERMENT is a negative 1515 1.1 elric flag, treat it was such. 1516 1.1 elric 1517 1.1 elric 2006-09-11 Love Hrnquist strand <lha (a] it.su.se> 1518 1.1 elric 1519 1.1 elric * req.c: Use the new add_GeneralNames function. 1520 1.1 elric 1521 1.1 elric * hx509.h: Add HX509_CMS_UE_DONT_REQUIRE_KU_ENCIPHERMENT. 1522 1.1 elric 1523 1.1 elric * ks_p12.c: Adapt to new signature of hx509_cms_unenvelope. 1524 1.1 elric 1525 1.1 elric * hxtool.c: Adapt to new signature of hx509_cms_unenvelope. 1526 1.1 elric 1527 1.1 elric * cms.c: Allow passing in encryptedContent and flag. Add new flag 1528 1.1 elric HX509_CMS_UE_DONT_REQUIRE_KU_ENCIPHERMENT. 1529 1.1 elric 1530 1.1 elric 2006-09-08 Love Hrnquist strand <lha (a] it.su.se> 1531 1.1 elric 1532 1.1 elric * ks_p11.c: cast void * to char * when using it for %s formating 1533 1.1 elric in printf. 1534 1.1 elric 1535 1.1 elric * name.c: New function _hx509_Name_to_string. 1536 1.1 elric 1537 1.1 elric 2006-09-07 Love Hrnquist strand <lha (a] it.su.se> 1538 1.1 elric 1539 1.1 elric * ks_file.c: Sprinkle error messages. 1540 1.1 elric 1541 1.1 elric * cms.c: Sprinkle even more error messages. 1542 1.1 elric 1543 1.1 elric * cms.c: Sprinkle some error messages. 1544 1.1 elric 1545 1.1 elric * cms.c (find_CMSIdentifier): only free string when we allocated 1546 1.1 elric one. 1547 1.1 elric 1548 1.1 elric * ks_p11.c: Don't build most of the pkcs11 module if there are no 1549 1.1 elric dlopen(). 1550 1.1 elric 1551 1.1 elric 2006-09-06 Love Hrnquist strand <lha (a] it.su.se> 1552 1.1 elric 1553 1.1 elric * cms.c (hx509_cms_unenvelope): try to save the error string from 1554 1.1 elric find_CMSIdentifier so we have one more bit of information what 1555 1.1 elric went wrong. 1556 1.1 elric 1557 1.1 elric * hxtool.c: More pretty printing, make verify_signed return the 1558 1.1 elric error string from the library. 1559 1.1 elric 1560 1.1 elric * cms.c: Try returning what certificates failed to parse or be 1561 1.1 elric found. 1562 1.1 elric 1563 1.1 elric * ks_p11.c (p11_list_keys): fetch CKA_LABEL and use it to set the 1564 1.1 elric friendlyname for the certificate. 1565 1.1 elric 1566 1.1 elric 2006-09-05 Love Hrnquist strand <lha (a] it.su.se> 1567 1.1 elric 1568 1.1 elric * crypto.c: check that there are no extra bytes in the checksum 1569 1.1 elric and that the parameters are NULL or the NULL-type. All to avoid 1570 1.1 elric having excess data that can be used to fake the signature. 1571 1.1 elric 1572 1.1 elric * hxtool.c: print keyusage 1573 1.1 elric 1574 1.1 elric * print.c: add hx509_cert_keyusage_print, simplify oid printing 1575 1.1 elric 1576 1.1 elric * cert.c: add _hx509_cert_get_keyusage 1577 1.1 elric 1578 1.1 elric * ks_p11.c: keep one session around for the whole life of the keyset 1579 1.1 elric 1580 1.1 elric * test_query.in: tests more selection 1581 1.1 elric 1582 1.1 elric * hxtool.c: improve pretty printing in print and query 1583 1.1 elric 1584 1.1 elric * hxtool{.c,-commands.in}: add selection on KU and printing to query 1585 1.1 elric 1586 1.1 elric * test_cms.in: Add cms test for digitalSignature and 1587 1.1 elric keyEncipherment certs. 1588 1.1 elric 1589 1.1 elric * name.c (no): Add serialNumber 1590 1.1 elric 1591 1.1 elric * ks_p11.c (p11_get_session): return better error messages 1592 1.1 elric 1593 1.1 elric 2006-09-04 Love Hrnquist strand <lha (a] it.su.se> 1594 1.1 elric 1595 1.1 elric * ref: update to pkcs11 reference files 2.20 1596 1.1 elric 1597 1.1 elric * ks_p11.c: add more mechflags 1598 1.1 elric 1599 1.1 elric * name.c (no): add OU and sort 1600 1.1 elric 1601 1.1 elric * revoke.c: pass context to _hx509_create_signature 1602 1.1 elric 1603 1.1 elric * ks_p11.c (p11_printinfo): print proper plural s 1604 1.1 elric 1605 1.1 elric * ks_p11.c: save the mechs supported when initing the token, print 1606 1.1 elric them in printinfo. 1607 1.1 elric 1608 1.1 elric * hx_locl.h: Include <parse_units.h>. 1609 1.1 elric 1610 1.1 elric * cms.c: pass context to _hx509_create_signature 1611 1.1 elric 1612 1.1 elric * req.c: pass context to _hx509_create_signature 1613 1.1 elric 1614 1.1 elric * keyset.c (hx509_certs_info): print information about the keyset. 1615 1.1 elric 1616 1.1 elric * hxtool.c (pcert_print) print keystore info when --info flag is 1617 1.1 elric given. 1618 1.1 elric 1619 1.1 elric * hxtool-commands.in: Add hxtool print --info. 1620 1.1 elric 1621 1.1 elric * test_query.in: Test hxtool print --info. 1622 1.1 elric 1623 1.1 elric * hx_locl.h (hx509_keyset_ops): add printinfo 1624 1.1 elric 1625 1.1 elric * crypto.c: Start to hang the private key operations of the 1626 1.1 elric private key, pass hx509_context to create_checksum. 1627 1.1 elric 1628 1.1 elric 2006-05-29 Love Hrnquist strand <lha (a] it.su.se> 1629 1.1 elric 1630 1.1 elric * ks_p11.c: Iterate over all slots, not just the first/selected 1631 1.1 elric one. 1632 1.1 elric 1633 1.1 elric 2006-05-27 Love Hrnquist strand <lha (a] it.su.se> 1634 1.1 elric 1635 1.1 elric * cert.c: Add release function for certifiates so backend knowns 1636 1.1 elric when its no longer used. 1637 1.1 elric 1638 1.1 elric * ks_p11.c: Add reference counting on certifiates, push out 1639 1.1 elric CK_SESSION_HANDLE from slot. 1640 1.1 elric 1641 1.1 elric * cms.c: sprinkle more hx509_clear_error_string 1642 1.1 elric 1643 1.1 elric 2006-05-22 Love Hrnquist strand <lha (a] it.su.se> 1644 1.1 elric 1645 1.1 elric * ks_p11.c: Sprinkle some hx509_set_error_strings 1646 1.1 elric 1647 1.1 elric 2006-05-13 Love Hrnquist strand <lha (a] it.su.se> 1648 1.1 elric 1649 1.1 elric * hxtool.c: Avoid shadowing. 1650 1.1 elric 1651 1.1 elric * revoke.c: Avoid shadowing. 1652 1.1 elric 1653 1.1 elric * ks_file.c: Avoid shadowing. 1654 1.1 elric 1655 1.1 elric * cert.c: Avoid shadowing. 1656 1.1 elric 1657 1.1 elric 2006-05-12 Love Hrnquist strand <lha (a] it.su.se> 1658 1.1 elric 1659 1.1 elric * lock.c (hx509_prompt_hidden): reshuffle to avoid gcc warning 1660 1.1 elric 1661 1.1 elric * hx509.h: Reshuffle the prompter types, remove the hidden field. 1662 1.1 elric 1663 1.1 elric * lock.c (hx509_prompt_hidden): return if the prompt should be 1664 1.1 elric hidden or not 1665 1.1 elric 1666 1.1 elric * revoke.c (hx509_revoke_free): allow free of NULL. 1667 1.1 elric 1668 1.1 elric 2006-05-11 Love Hrnquist strand <lha (a] it.su.se> 1669 1.1 elric 1670 1.1 elric * ks_file.c (file_init): Avoid shadowing ret (and thus avoiding 1671 1.1 elric crashing). 1672 1.1 elric 1673 1.1 elric * ks_dir.c: Implement DIR: caches useing FILE: caches. 1674 1.1 elric 1675 1.1 elric * ks_p11.c: Catch more errors. 1676 1.1 elric 1677 1.1 elric 2006-05-08 Love Hrnquist strand <lha (a] it.su.se> 1678 1.1 elric 1679 1.1 elric * crypto.c (hx509_crypto_encrypt): free correctly in error 1680 1.1 elric path. From Andrew Bartlett. 1681 1.1 elric 1682 1.1 elric * crypto.c: If RAND_bytes fails, then we will attempt to 1683 1.1 elric double-free crypt->key.data. From Andrew Bartlett. 1684 1.1 elric 1685 1.1 elric 2006-05-05 Love Hrnquist strand <lha (a] it.su.se> 1686 1.1 elric 1687 1.1 elric * name.c: Rename u_intXX_t to uintXX_t 1688 1.1 elric 1689 1.1 elric 2006-05-03 Love Hrnquist strand <lha (a] it.su.se> 1690 1.1 elric 1691 1.1 elric * TODO: More to do about the about the PKCS11 code. 1692 1.1 elric 1693 1.1 elric * ks_p11.c: Use the prompter from the lock function. 1694 1.1 elric 1695 1.1 elric * lock.c: Deal with that hx509_prompt.reply is no longer a 1696 1.1 elric pointer. 1697 1.1 elric 1698 1.1 elric * hx509.h: Make hx509_prompt.reply not a pointer. 1699 1.1 elric 1700 1.1 elric 2006-05-02 Love Hrnquist strand <lha (a] it.su.se> 1701 1.1 elric 1702 1.1 elric * keyset.c: Sprinkle setting error strings. 1703 1.1 elric 1704 1.1 elric * crypto.c: Sprinkle setting error strings. 1705 1.1 elric 1706 1.1 elric * collector.c: Sprinkle setting error strings. 1707 1.1 elric 1708 1.1 elric * cms.c: Sprinkle setting error strings. 1709 1.1 elric 1710 1.1 elric 2006-05-01 Love Hrnquist strand <lha (a] it.su.se> 1711 1.1 elric 1712 1.1 elric * test_name.c: renamed one error code 1713 1.1 elric 1714 1.1 elric * name.c: renamed one error code 1715 1.1 elric 1716 1.1 elric * ks_p11.c: _hx509_set_cert_attribute changed signature 1717 1.1 elric 1718 1.1 elric * hxtool.c (pcert_print): use hx509_err so I can test it 1719 1.1 elric 1720 1.1 elric * error.c (hx509_set_error_stringv): clear errors on malloc 1721 1.1 elric failure 1722 1.1 elric 1723 1.1 elric * hx509_err.et: Add some more errors 1724 1.1 elric 1725 1.1 elric * cert.c: Sprinkle setting error strings. 1726 1.1 elric 1727 1.1 elric * cms.c: _hx509_path_append changed signature. 1728 1.1 elric 1729 1.1 elric * revoke.c: changed signature of _hx509_check_key_usage 1730 1.1 elric 1731 1.1 elric * keyset.c: changed signature of _hx509_query_match_cert 1732 1.1 elric 1733 1.1 elric * hx509.h: Add support for error strings. 1734 1.1 elric 1735 1.1 elric * cms.c: changed signature of _hx509_check_key_usage 1736 1.1 elric 1737 1.1 elric * Makefile.am: ibhx509_la_files += error.c 1738 1.1 elric 1739 1.1 elric * ks_file.c: Sprinkel setting error strings. 1740 1.1 elric 1741 1.1 elric * cert.c: Sprinkel setting error strings. 1742 1.1 elric 1743 1.1 elric * hx_locl.h: Add support for error strings. 1744 1.1 elric 1745 1.1 elric * error.c: Add string error handling functions. 1746 1.1 elric 1747 1.1 elric * keyset.c (hx509_certs_init): pass the right error code back 1748 1.1 elric 1749 1.1 elric 2006-04-30 Love Hrnquist strand <lha (a] it.su.se> 1750 1.1 elric 1751 1.1 elric * revoke.c: Revert previous patch. 1752 1.1 elric (hx509_ocsp_verify): new function that returns the expiration of 1753 1.1 elric certificate in ocsp data-blob 1754 1.1 elric 1755 1.1 elric * cert.c: Reverse previous patch, lets do it another way. 1756 1.1 elric 1757 1.1 elric * cert.c (hx509_revoke_verify): update usage 1758 1.1 elric 1759 1.1 elric * revoke.c: Make compile. 1760 1.1 elric 1761 1.1 elric * revoke.c: Add the expiration time the crl/ocsp info expire 1762 1.1 elric 1763 1.1 elric * name.c: Add hx509_name_is_null_p 1764 1.1 elric 1765 1.1 elric * cert.c: remove _hx509_cert_private_sigature 1766 1.1 elric 1767 1.1 elric 2006-04-29 Love Hrnquist strand <lha (a] it.su.se> 1768 1.1 elric 1769 1.1 elric * name.c: Expose more of Name. 1770 1.1 elric 1771 1.1 elric * hxtool.c (main): add missing argument to printf 1772 1.1 elric 1773 1.1 elric * data/openssl.cnf: Add EKU for the KDC certificate 1774 1.1 elric 1775 1.1 elric * cert.c (hx509_cert_get_base_subject): reject un-canon proxy 1776 1.1 elric certs, not the reverse 1777 1.1 elric (add_to_list): constify and fix argument order to 1778 1.1 elric copy_octet_string 1779 1.1 elric (hx509_cert_find_subjectAltName_otherName): make work 1780 1.1 elric 1781 1.1 elric 2006-04-28 Love Hrnquist strand <lha (a] it.su.se> 1782 1.1 elric 1783 1.1 elric * data/{pkinit,kdc}.{crt,key}: pkinit certificates 1784 1.1 elric 1785 1.1 elric * data/gen-req.sh: Generate pkinit certificates. 1786 1.1 elric 1787 1.1 elric * data/openssl.cnf: Add pkinit glue. 1788 1.1 elric 1789 1.1 elric * cert.c (hx509_verify_hostname): implement stub function 1790 1.1 elric 1791 1.1 elric 2006-04-27 Love Hrnquist strand <lha (a] it.su.se> 1792 1.1 elric 1793 1.1 elric * TODO: CRL delta support 1794 1.1 elric 1795 1.1 elric 2006-04-26 Love Hrnquist strand <lha (a] it.su.se> 1796 1.1 elric 1797 1.1 elric * data/.cvsignore: ignore leftover from OpenSSL cert generation 1798 1.1 elric 1799 1.1 elric * hx509_err.et: Add name malformated error 1800 1.1 elric 1801 1.1 elric * name.c (hx509_parse_name): don't abort on error, rather return 1802 1.1 elric error 1803 1.1 elric 1804 1.1 elric * test_name.c: Test failure parsing name. 1805 1.1 elric 1806 1.1 elric * cert.c: When verifying certificates, store subject basename for 1807 1.1 elric later consumption. 1808 1.1 elric 1809 1.1 elric * test_name.c: test to parse and print name and check that they 1810 1.1 elric are the same. 1811 1.1 elric 1812 1.1 elric * name.c (hx509_parse_name): fix length argument to printf string 1813 1.1 elric 1814 1.1 elric * name.c (hx509_parse_name): fix length argument to stringtooid, 1 1815 1.1 elric too short. 1816 1.1 elric 1817 1.1 elric * cert.c: remove debug printf's 1818 1.1 elric 1819 1.1 elric * name.c (hx509_parse_name): make compile pre c99 1820 1.1 elric 1821 1.1 elric * data/gen-req.sh: OpenSSL have a serious issue of user confusion 1822 1.1 elric -subj in -ca takes the arguments in LDAP order. -subj for x509 1823 1.1 elric takes it in x509 order. 1824 1.1 elric 1825 1.1 elric * cert.c (hx509_verify_path): handle the case where the where two 1826 1.1 elric proxy certs in a chain. 1827 1.1 elric 1828 1.1 elric * test_chain.in: enable two proxy certificates in a chain test 1829 1.1 elric 1830 1.1 elric * test_chain.in: tests proxy certificates 1831 1.1 elric 1832 1.1 elric * data: re-gen 1833 1.1 elric 1834 1.1 elric * data/gen-req.sh: build proxy certificates 1835 1.1 elric 1836 1.1 elric * data/openssl.cnf: add def for proxy10_cert 1837 1.1 elric 1838 1.1 elric * hx509_err.et: Add another proxy certificate error. 1839 1.1 elric 1840 1.1 elric * cert.c (hx509_verify_path): Need to mangle name to remove the CN 1841 1.1 elric of the subject, copying issuer only works for one level but is 1842 1.1 elric better then doing no checking at all. 1843 1.1 elric 1844 1.1 elric * hxtool.c: Add verify --allow-proxy-certificate. 1845 1.1 elric 1846 1.1 elric * hxtool-commands.in: add verify --allow-proxy-certificate 1847 1.1 elric 1848 1.1 elric * hx509_err.et: Add proxy certificate errors. 1849 1.1 elric 1850 1.1 elric * cert.c: Fix comment about subject name of proxy certificate. 1851 1.1 elric 1852 1.1 elric * test_chain.in: tests for proxy certs 1853 1.1 elric 1854 1.1 elric * data/gen-req.sh: gen proxy and non-proxy tests certificates 1855 1.1 elric 1856 1.1 elric * data/openssl.cnf: Add definition for proxy certs 1857 1.1 elric 1858 1.1 elric * data/*proxy-test.*: Add proxy certificates 1859 1.1 elric 1860 1.1 elric * cert.c (hx509_verify_path): verify proxy certificate have no san 1861 1.1 elric or ian 1862 1.1 elric 1863 1.1 elric * cert.c (hx509_verify_set_proxy_certificate): Add 1864 1.1 elric (*): rename policy cert to proxy cert 1865 1.1 elric 1866 1.1 elric * cert.c: Initial support for proxy certificates. 1867 1.1 elric 1868 1.1 elric 2006-04-24 Love Hrnquist strand <lha (a] it.su.se> 1869 1.1 elric 1870 1.1 elric * hxtool.c: some error checking 1871 1.1 elric 1872 1.1 elric * name.c: Switch over to asn1 generaed oids. 1873 1.1 elric 1874 1.1 elric * TODO: merge with old todo file 1875 1.1 elric 1876 1.1 elric 2006-04-23 Love Hrnquist strand <lha (a] it.su.se> 1877 1.1 elric 1878 1.1 elric * test_query.in: make quiet 1879 1.1 elric 1880 1.1 elric * test_req.in: SKIP test if there is no RSA support. 1881 1.1 elric 1882 1.1 elric * hxtool.c: print dh method too 1883 1.1 elric 1884 1.1 elric * test_chain.in: SKIP test if there is no RSA support. 1885 1.1 elric 1886 1.1 elric * test_cms.in: SKIP test if there is no RSA support. 1887 1.1 elric 1888 1.1 elric * test_nist.in: SKIP test if there is no RSA support. 1889 1.1 elric 1890 1.1 elric 2006-04-22 Love Hrnquist strand <lha (a] it.su.se> 1891 1.1 elric 1892 1.1 elric * hxtool-commands.in: Allow passing in pool and anchor to 1893 1.1 elric signedData 1894 1.1 elric 1895 1.1 elric * hxtool.c: Allow passing in pool and anchor to signedData 1896 1.1 elric 1897 1.1 elric * test_cms.in: Test that certs in signed data is picked up. 1898 1.1 elric 1899 1.1 elric * hx_locl.h: Expose the path building function to internal 1900 1.1 elric functions. 1901 1.1 elric 1902 1.1 elric * cert.c: Expose the path building function to internal functions. 1903 1.1 elric 1904 1.1 elric * hxtool-commands.in: cms-envelope: Add support for choosing the 1905 1.1 elric encryption type 1906 1.1 elric 1907 1.1 elric * hxtool.c (cms_create_enveloped): Add support for choosing the 1908 1.1 elric encryption type 1909 1.1 elric 1910 1.1 elric * test_cms.in: Test generating des-ede3 aes-128 aes-256 enveloped 1911 1.1 elric data 1912 1.1 elric 1913 1.1 elric * crypto.c: Add names to cipher types. 1914 1.1 elric 1915 1.1 elric * cert.c (hx509_query_match_friendly_name): fix return value 1916 1.1 elric 1917 1.1 elric * data/gen-req.sh: generate tests for enveloped data using 1918 1.1 elric des-ede3 and aes256 1919 1.1 elric 1920 1.1 elric * test_cms.in: add tests for enveloped data using des-ede3 and 1921 1.1 elric aes256 1922 1.1 elric 1923 1.1 elric * cert.c (hx509_query_match_friendly_name): New function. 1924 1.1 elric 1925 1.1 elric 2006-04-21 Love Hrnquist strand <lha (a] it.su.se> 1926 1.1 elric 1927 1.1 elric * ks_p11.c: Add support for parsing slot-number. 1928 1.1 elric 1929 1.1 elric * crypto.c (oid_private_rc2_40): simply 1930 1.1 elric 1931 1.1 elric * crypto.c: Use oids from asn1 generator. 1932 1.1 elric 1933 1.1 elric * ks_file.c (file_init): reset length when done with a part 1934 1.1 elric 1935 1.1 elric * test_cms.in: check with test.combined.crt. 1936 1.1 elric 1937 1.1 elric * data/gen-req.sh: Create test.combined.crt. 1938 1.1 elric 1939 1.1 elric * test_cms.in: Test signed data using keyfile that is encrypted. 1940 1.1 elric 1941 1.1 elric * ks_file.c: Remove (commented out) debug printf 1942 1.1 elric 1943 1.1 elric * ks_file.c (parse_rsa_private_key): use EVP_get_cipherbyname 1944 1.1 elric 1945 1.1 elric * ks_file.c (parse_rsa_private_key): make working for one 1946 1.1 elric password. 1947 1.1 elric 1948 1.1 elric * ks_file.c (parse_rsa_private_key): Implement enought for 1949 1.1 elric testing. 1950 1.1 elric 1951 1.1 elric * hx_locl.h: Add <ctype.h> 1952 1.1 elric 1953 1.1 elric * ks_file.c: Add glue code for PEM encrypted password files. 1954 1.1 elric 1955 1.1 elric * test_cms.in: Add commeted out password protected PEM file, 1956 1.1 elric remove password for those tests that doesn't need it. 1957 1.1 elric 1958 1.1 elric * test_cms.in: adapt test now that we can use any certificate and 1959 1.1 elric trust anchor 1960 1.1 elric 1961 1.1 elric * collector.c: handle PEM RSA PRIVATE KEY files 1962 1.1 elric 1963 1.1 elric * cert.c: Remove unused function. 1964 1.1 elric 1965 1.1 elric * ks_dir.c: move code here from ks_file.c now that its no longer 1966 1.1 elric used. 1967 1.1 elric 1968 1.1 elric * ks_file.c: Add support for parsing unencrypted RSA PRIVATE KEY 1969 1.1 elric 1970 1.1 elric * crypto.c: Handle rsa private keys better. 1971 1.1 elric 1972 1.1 elric 2006-04-20 Love Hrnquist strand <lha (a] it.su.se> 1973 1.1 elric 1974 1.1 elric * hxtool.c: Use hx509_cms_{,un}wrap_ContentInfo 1975 1.1 elric 1976 1.1 elric * cms.c: Make hx509_cms_{,un}wrap_ContentInfo usable in asn1 1977 1.1 elric un-aware code. 1978 1.1 elric 1979 1.1 elric * cert.c (hx509_verify_path): if trust anchor is not self signed, 1980 1.1 elric don't check sig From Douglas Engert. 1981 1.1 elric 1982 1.1 elric * test_chain.in: test "sub-cert -> sub-ca" 1983 1.1 elric 1984 1.1 elric * crypto.c: Use the right length for the sha256 checksums. 1985 1.1 elric 1986 1.1 elric 2006-04-15 Love Hrnquist strand <lha (a] it.su.se> 1987 1.1 elric 1988 1.1 elric * crypto.c: Fix breakage from sha256 code. 1989 1.1 elric 1990 1.1 elric * crypto.c: Add SHA256 support, and symbols for the other new 1991 1.1 elric SHA-2 types. 1992 1.1 elric 1993 1.1 elric 2006-04-14 Love Hrnquist strand <lha (a] it.su.se> 1994 1.1 elric 1995 1.1 elric * test_cms.in: test rc2-40 rc2-64 rc2-128 enveloped data 1996 1.1 elric 1997 1.1 elric * data/test-enveloped-rc2-{40,64,128}: add tests cases for rc2 1998 1.1 elric 1999 1.1 elric * cms.c: Update prototypes changes for hx509_crypto_[gs]et_params. 2000 1.1 elric 2001 1.1 elric * crypto.c: Break out the parameter handling code for encrypting 2002 1.1 elric data to handle RC2. Needed for Windows 2k pk-init support. 2003 1.1 elric 2004 1.1 elric 2006-04-04 Love Hrnquist strand <lha (a] it.su.se> 2005 1.1 elric 2006 1.1 elric * Makefile.am: Split libhx509_la_SOURCES into build file and 2007 1.1 elric distributed files so we can avoid building prototypes for 2008 1.1 elric build-files. 2009 1.1 elric 2010 1.1 elric 2006-04-03 Love Hrnquist strand <lha (a] it.su.se> 2011 1.1 elric 2012 1.1 elric * TODO: split certificate request into pkcs10 and CRMF 2013 1.1 elric 2014 1.1 elric * hxtool-commands.in: Add nonce flag to ocsp-fetch 2015 1.1 elric 2016 1.1 elric * hxtool.c: control sending nonce 2017 1.1 elric 2018 1.1 elric * hxtool.c (request_create): store the request in a file, no in 2019 1.1 elric bitbucket. 2020 1.1 elric 2021 1.1 elric * cert.c: expose print_cert_subject internally 2022 1.1 elric 2023 1.1 elric * hxtool.c: Add ocsp_print. 2024 1.1 elric 2025 1.1 elric * hxtool-commands.in: New command "ocsp-print". 2026 1.1 elric 2027 1.1 elric * hx_locl.h: Include <hex.h>. 2028 1.1 elric 2029 1.1 elric * revoke.c (verify_ocsp): require issuer to match too. 2030 1.1 elric (free_ocsp): new function 2031 1.1 elric (hx509_revoke_ocsp_print): new function, print ocsp reply 2032 1.1 elric 2033 1.1 elric * Makefile.am: build CRMF files 2034 1.1 elric 2035 1.1 elric * data/key.der: needed for cert request test 2036 1.1 elric 2037 1.1 elric * test_req.in: adapt to rename of pkcs10-create to request-create 2038 1.1 elric 2039 1.1 elric * hxtool.c: adapt to rename of pkcs10-create to request-create 2040 1.1 elric 2041 1.1 elric * hxtool-commands.in: Rename pkcs10-create to request-create 2042 1.1 elric 2043 1.1 elric * crypto.c: (_hx509_parse_private_key): Avoid crashing on bad input. 2044 1.1 elric 2045 1.1 elric * hxtool.c (pkcs10_create): use opt->subject_string 2046 1.1 elric 2047 1.1 elric * hxtool-commands.in: Add pkcs10-create --subject 2048 1.1 elric 2049 1.1 elric * Makefile.am: Add test_req to tests. 2050 1.1 elric 2051 1.1 elric * test_req.in: Test for pkcs10 commands. 2052 1.1 elric 2053 1.1 elric * name.c (hx509_parse_name): new function. 2054 1.1 elric 2055 1.1 elric * hxtool.c (pkcs10_create): implement 2056 1.1 elric 2057 1.1 elric * hxtool-commands.in (pkcs10-create): Add arguments 2058 1.1 elric 2059 1.1 elric * crypto.c: Add _hx509_private_key2SPKI and support 2060 1.1 elric functions (only support RSA for now). 2061 1.1 elric 2062 1.1 elric 2006-04-02 Love Hrnquist strand <lha (a] it.su.se> 2063 1.1 elric 2064 1.1 elric * hxtool-commands.in: Add pkcs10-create command. 2065 1.1 elric 2066 1.1 elric * hx509.h: Add hx509_request. 2067 1.1 elric 2068 1.1 elric * TODO: more stuff 2069 1.1 elric 2070 1.1 elric * Makefile.am: Add req.c 2071 1.1 elric 2072 1.1 elric * req.c: Create certificate requests, prototype converts the 2073 1.1 elric request in a pkcs10 packet. 2074 1.1 elric 2075 1.1 elric * hxtool.c: Add pkcs10_create 2076 1.1 elric 2077 1.1 elric * name.c (hx509_name_copy): new function. 2078 1.1 elric 2079 1.1 elric 2006-04-01 Love Hrnquist strand <lha (a] it.su.se> 2080 1.1 elric 2081 1.1 elric * TODO: fill out what do 2082 1.1 elric 2083 1.1 elric * hxtool-commands.in: add pkcs10-print 2084 1.1 elric 2085 1.1 elric * hx_locl.h: Include <pkcs10_asn1.h>. 2086 1.1 elric 2087 1.1 elric * pkcs10.asn1: PKCS#10 2088 1.1 elric 2089 1.1 elric * hxtool.c (pkcs10_print): new function. 2090 1.1 elric 2091 1.1 elric * test_chain.in: test ocsp keyhash 2092 1.1 elric 2093 1.1 elric * data: generate ocsp keyhash version too 2094 1.1 elric 2095 1.1 elric * revoke.c (load_ocsp): test that we got back a BasicReponse 2096 1.1 elric 2097 1.1 elric * ocsp.asn1: Add asn1_id_pkix_ocsp*. 2098 1.1 elric 2099 1.1 elric * Makefile.am: Add asn1_id_pkix_ocsp*. 2100 1.1 elric 2101 1.1 elric * cert.c: Add HX509_QUERY_MATCH_KEY_HASH_SHA1 2102 1.1 elric 2103 1.1 elric * hx_locl.h: Add HX509_QUERY_MATCH_KEY_HASH_SHA1 2104 1.1 elric 2105 1.1 elric * revoke.c: Support OCSPResponderID.byKey, indent. 2106 1.1 elric 2107 1.1 elric * revoke.c (hx509_ocsp_request): Add nonce to ocsp request. 2108 1.1 elric 2109 1.1 elric * hxtool.c: Add nonce to ocsp request. 2110 1.1 elric 2111 1.1 elric * test_chain.in: Added crl tests 2112 1.1 elric 2113 1.1 elric * data/nist-data: rename missing-crl to missing-revoke 2114 1.1 elric 2115 1.1 elric * data: make ca use openssl ca command so we can add ocsp tests, 2116 1.1 elric and regen certs 2117 1.1 elric 2118 1.1 elric * test_chain.in: Add revoked ocsp cert test 2119 1.1 elric 2120 1.1 elric * cert.c: rename missing-crl to missing-revoke 2121 1.1 elric 2122 1.1 elric * revoke.c: refactor code, fix a un-init-ed variable 2123 1.1 elric 2124 1.1 elric * test_chain.in: rename missing-crl to missing-revoke add ocsp 2125 1.1 elric tests 2126 1.1 elric 2127 1.1 elric * test_cms.in: rename missing-crl to missing-revoke 2128 1.1 elric 2129 1.1 elric * hxtool.c: rename missing-crl to missing-revoke 2130 1.1 elric 2131 1.1 elric * hxtool-commands.in: rename missing-crl to missing-revoke 2132 1.1 elric 2133 1.1 elric * revoke.c: Plug one memory leak. 2134 1.1 elric 2135 1.1 elric * revoke.c: Renamed generic CRL related errors. 2136 1.1 elric 2137 1.1 elric * hx509_err.et: Comments and renamed generic CRL related errors 2138 1.1 elric 2139 1.1 elric * revoke.c: Add ocsp checker. 2140 1.1 elric 2141 1.1 elric * ocsp.asn1: Add id-kp-OCSPSigning 2142 1.1 elric 2143 1.1 elric * hxtool-commands.in: add url-path argument to ocsp-fetch 2144 1.1 elric 2145 1.1 elric * hxtool.c: implement ocsp-fetch 2146 1.1 elric 2147 1.1 elric * cert.c: Use HX509_DEFAULT_OCSP_TIME_DIFF. 2148 1.1 elric 2149 1.1 elric * hx_locl.h: Add ocsp_time_diff to hx509_context 2150 1.1 elric 2151 1.1 elric * crypto.c (_hx509_verify_signature_bitstring): new function, 2152 1.1 elric commonly use when checking certificates 2153 1.1 elric 2154 1.1 elric * cms.c (hx509_cms_envelope_1): check for internal ASN.1 encoder 2155 1.1 elric error 2156 1.1 elric 2157 1.1 elric * cert.c: Add ocsp glue, use new 2158 1.1 elric _hx509_verify_signature_bitstring, add eku checking function. 2159 1.1 elric 2160 1.1 elric 2006-03-31 Love Hrnquist strand <lha (a] it.su.se> 2161 1.1 elric 2162 1.1 elric * Makefile.am: add id_kp_OCSPSigning.x 2163 1.1 elric 2164 1.1 elric * revoke.c: Pick out certs in ocsp response 2165 1.1 elric 2166 1.1 elric * TODO: list of stuff to verify 2167 1.1 elric 2168 1.1 elric * revoke.c: Add code to load OCSPBasicOCSPResponse files, reload 2169 1.1 elric crl when its changed on disk. 2170 1.1 elric 2171 1.1 elric * cert.c: Update for ocsp merge. handle building path w/o 2172 1.1 elric subject (using subject key id) 2173 1.1 elric 2174 1.1 elric * ks_p12.c: _hx509_map_file changed prototype. 2175 1.1 elric 2176 1.1 elric * file.c: _hx509_map_file changed prototype, returns struct stat 2177 1.1 elric if requested. 2178 1.1 elric 2179 1.1 elric * ks_file.c: _hx509_map_file changed prototype. 2180 1.1 elric 2181 1.1 elric * hxtool.c: Add stub for ocsp-fetch, _hx509_map_file changed 2182 1.1 elric prototype, add ocsp parsing to verify command. 2183 1.1 elric 2184 1.1 elric * hx_locl.h: rename HX509_CTX_CRL_MISSING_OK to 2185 1.1 elric HX509_CTX_VERIFY_MISSING_OK now that we have OCSP glue 2186 1.1 elric 2187 1.1 elric 2006-03-30 Love Hrnquist strand <lha (a] it.su.se> 2188 1.1 elric 2189 1.1 elric * hx_locl.h: Add <krb5-types.h> to make it compile on Solaris, 2190 1.1 elric from Alex V. Labuta. 2191 1.1 elric 2192 1.1 elric 2006-03-28 Love Hrnquist strand <lha (a] it.su.se> 2193 1.1 elric 2194 1.1 elric * crypto.c (_hx509_pbe_decrypt): try all passwords, not just the 2195 1.1 elric first one. 2196 1.1 elric 2197 1.1 elric 2006-03-27 Love Hrnquist strand <lha (a] it.su.se> 2198 1.1 elric 2199 1.1 elric * print.c (check_altName): Print the othername oid. 2200 1.1 elric 2201 1.1 elric * crypto.c: Manual page claims RSA_public_decrypt will return -1 2202 1.1 elric on error, lets check for that 2203 1.1 elric 2204 1.1 elric * crypto.c (_hx509_pbe_decrypt): also try the empty password 2205 1.1 elric 2206 1.1 elric * collector.c (match_localkeyid): no need to add back the cert to 2207 1.1 elric the cert pool, its already there. 2208 1.1 elric 2209 1.1 elric * crypto.c: Add REQUIRE_SIGNER 2210 1.1 elric 2211 1.1 elric * cert.c (hx509_cert_free): ok to free NULL 2212 1.1 elric 2213 1.1 elric * hx509_err.et: Add new error code SIGNATURE_WITHOUT_SIGNER. 2214 1.1 elric 2215 1.1 elric * name.c (_hx509_name_ds_cmp): make DirectoryString case 2216 1.1 elric insenstive 2217 1.1 elric (hx509_name_to_string): less spacing 2218 1.1 elric 2219 1.1 elric * cms.c: Check for signature error, check consitency of error 2220 1.1 elric 2221 1.1 elric 2006-03-26 Love Hrnquist strand <lha (a] it.su.se> 2222 1.1 elric 2223 1.1 elric * collector.c (_hx509_collector_alloc): handle errors 2224 1.1 elric 2225 1.1 elric * cert.c (hx509_query_alloc): allocate slight more more then a 2226 1.1 elric sizeof(pointer) 2227 1.1 elric 2228 1.1 elric * crypto.c (_hx509_private_key_assign_key_file): ask for password 2229 1.1 elric if nothing matches. 2230 1.1 elric 2231 1.1 elric * cert.c: Expose more of the hx509_query interface. 2232 1.1 elric 2233 1.1 elric * collector.c: hx509_certs_find is now exposed. 2234 1.1 elric 2235 1.1 elric * cms.c: hx509_certs_find is now exposed. 2236 1.1 elric 2237 1.1 elric * revoke.c: hx509_certs_find is now exposed. 2238 1.1 elric 2239 1.1 elric * keyset.c (hx509_certs_free): allow free-ing NULL 2240 1.1 elric (hx509_certs_find): expose 2241 1.1 elric (hx509_get_one_cert): new function 2242 1.1 elric 2243 1.1 elric * hxtool.c: hx509_certs_find is now exposed. 2244 1.1 elric 2245 1.1 elric * hx_locl.h: Remove hx509_query, its exposed now. 2246 1.1 elric 2247 1.1 elric * hx509.h: Add hx509_query. 2248 1.1 elric 2249 1.1 elric 2006-02-22 Love Hrnquist strand <lha (a] it.su.se> 2250 1.1 elric 2251 1.1 elric * cert.c: Add exceptions for null (empty) subjectNames 2252 1.1 elric 2253 1.1 elric * data/nist-data: Add some more name constraints tests. 2254 1.1 elric 2255 1.1 elric * data/nist-data: Add some of the test from 4.13 Name Constraints. 2256 1.1 elric 2257 1.1 elric * cert.c: Name constraits needs to be evaluated in block as they 2258 1.1 elric appear in the certificates, they can not be joined to one 2259 1.1 elric list. One example of this is: 2260 1.1 elric 2261 1.1 elric - cert is cn=foo,dc=bar,dc=baz 2262 1.1 elric - subca is dc=foo,dc=baz with name restriction dc=kaka,dc=baz 2263 1.1 elric - ca is dc=baz with name restriction dc=baz 2264 1.1 elric 2265 1.1 elric If the name restrictions are merged to a list, the certificate 2266 1.1 elric will pass this test. 2267 1.1 elric 2268 1.1 elric 2006-02-14 Love Hrnquist strand <lha (a] it.su.se> 2269 1.1 elric 2270 1.1 elric * cert.c: Handle more name constraints cases. 2271 1.1 elric 2272 1.1 elric * crypto.c (dsa_verify_signature): if test if malloc failed 2273 1.1 elric 2274 1.1 elric 2006-01-31 Love Hrnquist strand <lha (a] it.su.se> 2275 1.1 elric 2276 1.1 elric * cms.c: Drop partial pkcs12 string2key implementation. 2277 1.1 elric 2278 1.1 elric 2006-01-20 Love Hrnquist strand <lha (a] it.su.se> 2279 1.1 elric 2280 1.1 elric * data/nist-data: Add commited out DSA tests (they fail). 2281 1.1 elric 2282 1.1 elric * data/nist-data: Add 4.2 Validity Periods. 2283 1.1 elric 2284 1.1 elric * test_nist.in: Make less verbose to use. 2285 1.1 elric 2286 1.1 elric * Makefile.am: Add test_nist_cert. 2287 1.1 elric 2288 1.1 elric * data/nist-data: Add some more CRL-tests. 2289 1.1 elric 2290 1.1 elric * test_nist.in: Print $id instead of . when running the tests. 2291 1.1 elric 2292 1.1 elric * test_nist.in: Drop verifying certifiates, its done in another 2293 1.1 elric test now. 2294 1.1 elric 2295 1.1 elric * data/nist-data: fixup kill-rectangle leftovers 2296 1.1 elric 2297 1.1 elric * data/nist-data: Drop verifying certifiates, its done in another 2298 1.1 elric test now. Add more crl tests. comment out all unused tests. 2299 1.1 elric 2300 1.1 elric * test_nist_cert.in: test parse all nist certs 2301 1.1 elric 2302 1.1 elric 2006-01-19 Love Hrnquist strand <lha (a] it.su.se> 2303 1.1 elric 2304 1.1 elric * hx509_err.et: Add HX509_CRL_UNKNOWN_EXTENSION. 2305 1.1 elric 2306 1.1 elric * revoke.c: Check for unknown extentions in CRLs and CRLEntries. 2307 1.1 elric 2308 1.1 elric * test_nist.in: Parse new format to handle CRL info. 2309 1.1 elric 2310 1.1 elric * test_chain.in: Add --missing-crl. 2311 1.1 elric 2312 1.1 elric * name.c (hx509_unparse_der_name): Rename from hx509_parse_name. 2313 1.1 elric (_hx509_unparse_Name): Add. 2314 1.1 elric 2315 1.1 elric * hxtool-commands.in: Add --missing-crl to verify commands. 2316 1.1 elric 2317 1.1 elric * hx509_err.et: Add CRL errors. 2318 1.1 elric 2319 1.1 elric * cert.c (hx509_context_set_missing_crl): new function Add CRL 2320 1.1 elric handling. 2321 1.1 elric 2322 1.1 elric * hx_locl.h: Add HX509_CTX_CRL_MISSING_OK. 2323 1.1 elric 2324 1.1 elric * revoke.c: Parse and verify CRLs (simplistic). 2325 1.1 elric 2326 1.1 elric * hxtool.c: Parse CRL info. 2327 1.1 elric 2328 1.1 elric * data/nist-data: Change format so we can deal with CRLs, also 2329 1.1 elric note the test-id from PKITS. 2330 1.1 elric 2331 1.1 elric * data: regenerate test 2332 1.1 elric 2333 1.1 elric * data/gen-req.sh: use static-file to generate tests 2334 1.1 elric 2335 1.1 elric * data/static-file: new file to use for commited tests 2336 1.1 elric 2337 1.1 elric * test_cms.in: Use static file, add --missing-crl. 2338 1.1 elric 2339 1.1 elric 2006-01-18 Love Hrnquist strand <lha (a] it.su.se> 2340 1.1 elric 2341 1.1 elric * print.c: Its cRLReason, not cRLReasons. 2342 1.1 elric 2343 1.1 elric * hxtool.c: Attach revoke context to verify context. 2344 1.1 elric 2345 1.1 elric * data/nist-data: change syntax to make match better with crl 2346 1.1 elric checks 2347 1.1 elric 2348 1.1 elric * cert.c: Verify no certificates has been revoked with the new 2349 1.1 elric revoke interface. 2350 1.1 elric 2351 1.1 elric * Makefile.am: libhx509_la_SOURCES += revoke.c 2352 1.1 elric 2353 1.1 elric * revoke.c: Add framework for handling CRLs. 2354 1.1 elric 2355 1.1 elric * hx509.h: Add hx509_revoke_ctx. 2356 1.1 elric 2357 1.1 elric 2006-01-13 Love Hrnquist strand <lha (a] it.su.se> 2358 1.1 elric 2359 1.1 elric * delete crypto_headers.h, use global file instead. 2360 1.1 elric 2361 1.1 elric * crypto.c (PBE_string2key): libdes now supports PKCS12_key_gen 2362 1.1 elric 2363 1.1 elric 2006-01-12 Love Hrnquist strand <lha (a] it.su.se> 2364 1.1 elric 2365 1.1 elric * crypto_headers.h: Need BN_is_negative too. 2366 1.1 elric 2367 1.1 elric 2006-01-11 Love Hrnquist strand <lha (a] it.su.se> 2368 1.1 elric 2369 1.1 elric * ks_p11.c (p11_rsa_public_decrypt): since is wrong, don't provide 2370 1.1 elric it. PKCS11 can't do public_decrypt, it support verify though. All 2371 1.1 elric this doesn't matter, since the code never go though this path. 2372 1.1 elric 2373 1.1 elric * crypto_headers.h: Provide glue to compile with less warnings 2374 1.1 elric with OpenSSL 2375 1.1 elric 2376 1.1 elric 2006-01-08 Love Hrnquist strand <lha (a] it.su.se> 2377 1.1 elric 2378 1.1 elric * Makefile.am: Depend on LIB_des 2379 1.1 elric 2380 1.1 elric * lock.c: Use "crypto_headers.h". 2381 1.1 elric 2382 1.1 elric * crypto_headers.h: Include the two diffrent implementation of 2383 1.1 elric crypto headers. 2384 1.1 elric 2385 1.1 elric * cert.c: Use "crypto-headers.h". Load ENGINE configuration. 2386 1.1 elric 2387 1.1 elric * crypto.c: Make compile with both OpenSSL and heimdal libdes. 2388 1.1 elric 2389 1.1 elric * ks_p11.c: Add code for public key decryption (not supported yet) 2390 1.1 elric and use "crypto-headers.h". 2391 1.1 elric 2392 1.1 elric 2393 1.1 elric 2006-01-04 Love Hrnquist strand <lha (a] it.su.se> 2394 1.1 elric 2395 1.1 elric * add a hx509_context where we can store configuration 2396 1.1 elric 2397 1.1 elric * p11.c,Makefile.am: pkcs11 is now supported by library, remove 2398 1.1 elric old files. 2399 1.1 elric 2400 1.1 elric * ks_p11.c: more paranoid on refcount, set refcounter ealier, 2401 1.1 elric reset pointers after free 2402 1.1 elric 2403 1.1 elric * collector.c (struct private_key): remove temporary key data 2404 1.1 elric storage, convert directly to a key 2405 1.1 elric (match_localkeyid): match certificate and key using localkeyid 2406 1.1 elric (match_keys): match certificate and key using _hx509_match_keys 2407 1.1 elric (_hx509_collector_collect): rewrite to use match_keys and 2408 1.1 elric match_localkeyid 2409 1.1 elric 2410 1.1 elric * crypto.c (_hx509_match_keys): function that determins if a 2411 1.1 elric private key matches a certificate, used when there is no 2412 1.1 elric localkeyid. 2413 1.1 elric (*) reset free pointer 2414 1.1 elric 2415 1.1 elric * ks_file.c: Rewrite to use collector and mapping support 2416 1.1 elric function. 2417 1.1 elric 2418 1.1 elric * ks_p11.c (rsa_pkcs1_method): constify 2419 1.1 elric 2420 1.1 elric * ks_p11.c: drop extra wrapping of p11_init 2421 1.1 elric 2422 1.1 elric * crypto.c (_hx509_private_key_assign_key_file): use function to 2423 1.1 elric extact rsa key 2424 1.1 elric 2425 1.1 elric * cert.c: Revert previous, refcounter is unsigned, so it can never 2426 1.1 elric be negative. 2427 1.1 elric 2428 1.1 elric * cert.c (hx509_cert_ref): more refcount paranoia 2429 1.1 elric 2430 1.1 elric * ks_p11.c: Implement rsa_private_decrypt and add stubs for public 2431 1.1 elric ditto. 2432 1.1 elric 2433 1.2 christos * ks_p11.c: Less __printf__, less memory leaks. 2434 1.1 elric 2435 1.1 elric * ks_p11.c: Implement signing using pkcs11. 2436 1.1 elric 2437 1.1 elric * ks_p11.c: Partly assign private key, enough to complete 2438 1.1 elric collection, but not any crypto functionallity. 2439 1.1 elric 2440 1.1 elric * collector.c: Use hx509_private_key to assign private keys. 2441 1.1 elric 2442 1.1 elric * crypto.c: Remove most of the EVP_PKEY code, and use RSA 2443 1.1 elric directly, this temporary removes DSA support. 2444 1.1 elric 2445 1.1 elric * hxtool.c (print_f): print if there is a friendly name and if 2446 1.1 elric there is a private key 2447 1.1 elric 2448 1.1 elric 2006-01-03 Love Hrnquist strand <lha (a] it.su.se> 2449 1.1 elric 2450 1.1 elric * name.c: Avoid warning from missing __attribute__((noreturn)) 2451 1.1 elric 2452 1.1 elric * lock.c (_hx509_lock_unlock_certs): return unlock certificates 2453 1.1 elric 2454 1.1 elric * crypto.c (_hx509_private_key_assign_ptr): new function, exposes 2455 1.1 elric EVP_PKEY 2456 1.1 elric (_hx509_private_key_assign_key_file): remember to free private key 2457 1.1 elric if there is one. 2458 1.1 elric 2459 1.1 elric * cert.c (_hx509_abort): add newline to output and flush stdout 2460 1.1 elric 2461 1.1 elric * Makefile.am: libhx509_la_SOURCES += collector.c 2462 1.1 elric 2463 1.1 elric * hx_locl.h: forward type declaration of struct hx509_collector. 2464 1.1 elric 2465 1.1 elric * collector.c: Support functions to collect certificates and 2466 1.1 elric private keys and then match them. 2467 1.1 elric 2468 1.1 elric * ks_p12.c: Use the new hx509_collector support functions. 2469 1.1 elric 2470 1.1 elric * ks_p11.c: Add enough glue to support certificate iteration. 2471 1.1 elric 2472 1.1 elric * test_nist_pkcs12.in: Less verbose. 2473 1.1 elric 2474 1.1 elric * cert.c (hx509_cert_free): if there is a private key assosited 2475 1.1 elric with this cert, free it 2476 1.1 elric 2477 1.1 elric * print.c: Use _hx509_abort. 2478 1.1 elric 2479 1.1 elric * ks_p12.c: Use _hx509_abort. 2480 1.1 elric 2481 1.1 elric * hxtool.c: Use _hx509_abort. 2482 1.1 elric 2483 1.1 elric * crypto.c: Use _hx509_abort. 2484 1.1 elric 2485 1.1 elric * cms.c: Use _hx509_abort. 2486 1.1 elric 2487 1.1 elric * cert.c: Use _hx509_abort. 2488 1.1 elric 2489 1.1 elric * name.c: use _hx509_abort 2490 1.1 elric 2491 1.1 elric 2006-01-02 Love Hrnquist strand <lha (a] it.su.se> 2492 1.1 elric 2493 1.1 elric * name.c (hx509_name_to_string): don't cut bmpString in half. 2494 1.1 elric 2495 1.1 elric * name.c (hx509_name_to_string): don't overwrite with 1 byte with 2496 1.1 elric bmpString. 2497 1.1 elric 2498 1.1 elric * ks_file.c (parse_certificate): avoid stomping before array 2499 1.1 elric 2500 1.1 elric * name.c (oidtostring): avoid leaking memory 2501 1.1 elric 2502 1.1 elric * keyset.c: Add _hx509_ks_dir_register. 2503 1.1 elric 2504 1.1 elric * Makefile.am (libhx509_la_SOURCES): += ks_dir.c 2505 1.1 elric 2506 1.1 elric * hxtool-commands.in: Remove pkcs11. 2507 1.1 elric 2508 1.1 elric * hxtool.c: Remove pcert_pkcs11. 2509 1.1 elric 2510 1.1 elric * ks_file.c: Factor out certificate parsing code. 2511 1.1 elric 2512 1.1 elric * ks_dir.c: Add new keystore that treats all files in a directory 2513 1.1 elric a keystore, useful for regression tests. 2514 1.1 elric 2515 1.1 elric 2005-12-12 Love Hrnquist strand <lha (a] it.su.se> 2516 1.1 elric 2517 1.1 elric * test_nist_pkcs12.in: Test parse PKCS12 files from NIST. 2518 1.1 elric 2519 1.1 elric * data/nist-data: Can handle DSA certificate. 2520 1.1 elric 2521 1.1 elric * hxtool.c: Print error code on failure. 2522 1.1 elric 2523 1.1 elric 2005-10-29 Love Hrnquist strand <lha (a] it.su.se> 2524 1.1 elric 2525 1.1 elric * crypto.c: Support DSA signature operations. 2526 1.1 elric 2527 1.1 elric 2005-10-04 Love Hrnquist strand <lha (a] it.su.se> 2528 1.1 elric 2529 1.1 elric * print.c: Validate that issuerAltName and subjectAltName isn't 2530 1.1 elric empty. 2531 1.1 elric 2532 1.1 elric 2005-09-14 Love Hrnquist strand <lha (a] it.su.se> 2533 1.1 elric 2534 1.1 elric * p11.c: Cast to unsigned char to avoid warning. 2535 1.1 elric 2536 1.1 elric * keyset.c: Register pkcs11 module. 2537 1.1 elric 2538 1.1 elric * Makefile.am: Add ks_p11.c, install hxtool. 2539 1.1 elric 2540 1.1 elric * ks_p11.c: Starting point of a pkcs11 module. 2541 1.1 elric 2542 1.1 elric 2005-09-04 Love Hrnquist strand <lha (a] it.su.se> 2543 1.1 elric 2544 1.1 elric * lock.c: Implement prompter. 2545 1.1 elric 2546 1.1 elric * hxtool-commands.in: add --content to print 2547 1.1 elric 2548 1.1 elric * hxtool.c: Split verify and print. 2549 1.1 elric 2550 1.1 elric * cms.c: _hx509_pbe_decrypt now takes a hx509_lock. 2551 1.1 elric 2552 1.1 elric * crypto.c: Make _hx509_pbe_decrypt take a hx509_lock, workaround 2553 1.1 elric for empty password. 2554 1.1 elric 2555 1.1 elric * name.c: Add DC, handle all Directory strings, fix signless 2556 1.1 elric problems. 2557 1.1 elric 2558 1.1 elric 2005-09-03 Love Hrnquist strand <lha (a] it.su.se> 2559 1.1 elric 2560 1.1 elric * test_query.in: Pass in --pass to all commands. 2561 1.1 elric 2562 1.1 elric * hxtool.c: Use option --pass. 2563 1.1 elric 2564 1.1 elric * hxtool-commands.in: Add --pass to all commands. 2565 1.1 elric 2566 1.1 elric * hx509_err.et: add UNKNOWN_LOCK_COMMAND and CRYPTO_NO_PROMPTER 2567 1.1 elric 2568 1.1 elric * test_cms.in: pass in password to cms-create-sd 2569 1.1 elric 2570 1.1 elric * crypto.c: Abstract out PBE_string2key so I can add PBE2 s2k 2571 1.1 elric later. Avoid signess warnings with OpenSSL. 2572 1.1 elric 2573 1.1 elric * cms.c: Use void * instead of char * for to avoid signedness 2574 1.1 elric issues 2575 1.1 elric 2576 1.1 elric * cert.c (hx509_cert_get_attribute): remove const, its not 2577 1.1 elric 2578 1.1 elric * ks_p12.c: Cast size_t to unsigned long when print. 2579 1.1 elric 2580 1.1 elric * name.c: Fix signedness warning. 2581 1.1 elric 2582 1.1 elric * test_query.in: Use echo, the function check isn't defined here. 2583 1.1 elric 2584 1.1 elric 2005-08-11 Love Hrnquist strand <lha (a] it.su.se> 2585 1.1 elric 2586 1.1 elric * hxtool-commands.in: Add more options that was missing. 2587 1.1 elric 2588 1.1 elric 2005-07-28 Love Hrnquist strand <lha (a] it.su.se> 2589 1.1 elric 2590 1.1 elric * test_cms.in: Use --certificate= for enveloped/unenvelope. 2591 1.1 elric 2592 1.1 elric * hxtool.c: Use --certificate= for enveloped/unenvelope. Clean 2593 1.1 elric up. 2594 1.1 elric 2595 1.1 elric * test_cms.in: add EnvelopeData tests 2596 1.1 elric 2597 1.1 elric * hxtool.c: use id-envelopedData for ContentInfo 2598 1.1 elric 2599 1.1 elric * hxtool-commands.in: add contentinfo wrapping for create/unwrap 2600 1.1 elric enveloped data 2601 1.1 elric 2602 1.1 elric * hxtool.c: add contentinfo wrapping for create/unwrap enveloped 2603 1.1 elric data 2604 1.1 elric 2605 1.1 elric * data/gen-req.sh: add enveloped data (aes128) 2606 1.1 elric 2607 1.1 elric * crypto.c: add "new" RC2 oid 2608 1.1 elric 2609 1.1 elric 2005-07-27 Love Hrnquist strand <lha (a] it.su.se> 2610 1.1 elric 2611 1.1 elric * hx_locl.h, cert.c: Add HX509_QUERY_MATCH_FUNCTION that allows 2612 1.1 elric caller to match by function, note that this doesn't not work 2613 1.1 elric directly for backends that implements ->query, they must do their 2614 1.1 elric own processing. (I'm running out of flags, only 12 left now) 2615 1.1 elric 2616 1.1 elric * test_cms.in: verify ContentInfo wrapping code in hxtool 2617 1.1 elric 2618 1.1 elric * hxtool-commands.in (cms_create_sd): support wrapping in content 2619 1.1 elric info spelling 2620 1.1 elric 2621 1.1 elric * hxtool.c (cms_create_sd): support wrapping in content info 2622 1.1 elric 2623 1.1 elric * test_cms.in: test more cms signeddata messages 2624 1.1 elric 2625 1.1 elric * data/gen-req.sh: generate SignedData 2626 1.1 elric 2627 1.1 elric * hxtool.c (cms_create_sd): support certificate store, add support 2628 1.1 elric to unwrap a ContentInfo the SignedData inside. 2629 1.1 elric 2630 1.1 elric * crypto.c: sprinkel rk_UNCONST 2631 1.1 elric 2632 1.1 elric * crypto.c: add DER NULL to the digest oid's 2633 1.1 elric 2634 1.1 elric * hxtool-commands.in: add --content-info to cms-verify-sd 2635 1.1 elric 2636 1.1 elric * cms.c (hx509_cms_create_signed_1): pass in a full 2637 1.1 elric AlgorithmIdentifier instead of heim_oid for digest_alg 2638 1.1 elric 2639 1.1 elric * crypto.c: make digest_alg a digest_oid, it's not needed right 2640 1.1 elric now 2641 1.1 elric 2642 1.1 elric * hx509_err.et: add CERT_NOT_FOUND 2643 1.1 elric 2644 1.1 elric * keyset.c (_hx509_certs_find): add error code for cert not 2645 1.1 elric found 2646 1.1 elric 2647 1.1 elric * cms.c (hx509_cms_verify_signed): add external store of 2648 1.1 elric certificates, use the right digest algorithm identifier. 2649 1.1 elric 2650 1.1 elric * cert.c: fix const warning 2651 1.1 elric 2652 1.1 elric * ks_p12.c: slightly less verbose 2653 1.1 elric 2654 1.1 elric * cert.c: add hx509_cert_find_subjectAltName_otherName, add 2655 1.1 elric HX509_QUERY_MATCH_FRIENDLY_NAME 2656 1.1 elric 2657 1.1 elric * hx509.h: add hx509_octet_string_list, remove bad comment 2658 1.1 elric 2659 1.1 elric * hx_locl.h: add HX509_QUERY_MATCH_FRIENDLY_NAME 2660 1.1 elric 2661 1.1 elric * keyset.c (hx509_certs_append): needs a hx509_lock, add one 2662 1.1 elric 2663 1.1 elric * Makefile.am: add test cases tempfiles to CLEANFILES 2664 1.1 elric 2665 1.1 elric * Makefile.am: add test_query to TESTS, fix dependency on hxtool 2666 1.1 elric sources on hxtool-commands.h 2667 1.1 elric 2668 1.1 elric * hxtool-commands.in: explain what signer is for create-sd 2669 1.1 elric 2670 1.1 elric * hxtool.c: add query, add more options to verify-sd and create-sd 2671 1.1 elric 2672 1.1 elric * test_cms.in: add more cms tests 2673 1.1 elric 2674 1.1 elric * hxtool-commands.in: add query, add more options to verify-sd 2675 1.1 elric 2676 1.1 elric * test_query.in: test query interface 2677 1.1 elric 2678 1.1 elric * data: fix filenames for ds/ke files, add pkcs12 files, regen 2679 1.1 elric 2680 1.1 elric * hxtool.c,Makefile.am,hxtool-commands.in: switch to slc 2681 1.1 elric 2682 1.1 elric 2005-07-26 Love Hrnquist strand <lha (a] it.su.se> 2683 1.1 elric 2684 1.1 elric * cert.c (hx509_verify_destroy_ctx): add 2685 1.1 elric 2686 1.1 elric * hxtool.c: free hx509_verify_ctx 2687 1.1 elric 2688 1.1 elric * name.c (_hx509_name_ds_cmp): make sure all strings are not equal 2689 1.1 elric 2690 1.1 elric 2005-07-25 Love Hrnquist strand <lha (a] it.su.se> 2691 1.1 elric 2692 1.1 elric * hxtool.c: return error 2693 1.1 elric 2694 1.1 elric * keyset.c: return errors from iterations 2695 1.1 elric 2696 1.1 elric * test_chain.in: clean up checks 2697 1.1 elric 2698 1.1 elric * ks_file.c (parse_certificate): return errno's not 1 in case of 2699 1.1 elric error 2700 1.1 elric 2701 1.1 elric * ks_file.c (file_iter): make sure endpointer is NULL 2702 1.1 elric 2703 1.1 elric * ks_mem.c (mem_iter): follow conversion and return NULL when we 2704 1.1 elric get to the end, not ENOENT. 2705 1.1 elric 2706 1.1 elric * Makefile.am: test_chain depends on hxtool 2707 1.1 elric 2708 1.1 elric * data: test certs that lasts 10 years 2709 1.1 elric 2710 1.1 elric * data/gen-req.sh: script to generate test certs 2711 1.1 elric 2712 1.1 elric * Makefile.am: Add regression tests. 2713 1.1 elric 2714 1.1 elric * data: test certificate and keys 2715 1.1 elric 2716 1.1 elric * test_chain.in: test chain 2717 1.1 elric 2718 1.1 elric * hxtool.c (cms_create_sd): add KU digitalSigature as a 2719 1.1 elric requirement to the query 2720 1.1 elric 2721 1.1 elric * hx_locl.h: add KeyUsage query bits 2722 1.1 elric 2723 1.1 elric * hx509_err.et: add KeyUsage error 2724 1.1 elric 2725 1.1 elric * cms.c: add checks for KeyUsage 2726 1.1 elric 2727 1.1 elric * cert.c: more checks on KeyUsage, allow to query on them too 2728 1.1 elric 2729 1.1 elric 2005-07-24 Love Hrnquist strand <lha (a] it.su.se> 2730 1.1 elric 2731 1.1 elric * cms.c: Add missing break. 2732 1.1 elric 2733 1.1 elric * hx_locl.h,cms.c,cert.c: allow matching on SubjectKeyId 2734 1.1 elric 2735 1.1 elric * hxtool.c: Use _hx509_map_file, _hx509_unmap_file and 2736 1.1 elric _hx509_write_file. 2737 1.1 elric 2738 1.1 elric * file.c (_hx509_write_file): in case of write error, return errno 2739 1.1 elric 2740 1.1 elric * file.c (_hx509_write_file): add a function that write a data 2741 1.1 elric blob to disk too 2742 1.1 elric 2743 1.1 elric * Fix id-tags 2744 1.1 elric 2745 1.1 elric * Import mostly complete X.509 and CMS library. Handles, PEM, DER, 2746 1.1 elric PKCS12 encoded certicates. Verificate RSA chains and handled 2747 1.1 elric CMS's SignedData, and EnvelopedData. 2748 1.1 elric 2749 1.1 elric 2750