Commit Graph

869 Commits

Author SHA1 Message Date
Juan Lang fd982c8597 crypt32: Return bytes decoded when decoding a sequence. 2007-09-18 11:53:11 +02:00
Juan Lang 1dd1c6c2c8 crypt32: Make a decode OID function that returns the number of bytes decoded. 2007-09-18 11:53:05 +02:00
Juan Lang f3490f3ed8 crypt32: Add a decoded parameter to AsnDecodeSequence. 2007-09-18 11:52:57 +02:00
Juan Lang 731d37b049 crypt32: Use a simpler prototype for array decoding functions. 2007-09-18 11:52:50 +02:00
Juan Lang cc2059b67c crypt32: Fix alignment on 64-bit systems. 2007-09-18 11:52:32 +02:00
Juan Lang 09447fb605 crypt32: Correct an optimization. 2007-09-18 11:52:25 +02:00
Juan Lang e747f706b1 crypt32: Correct GET_LEN_BYTES for the indefinite-length form. 2007-09-18 11:52:18 +02:00
Juan Lang 15b19f1d16 crypt32: Add a test of an indefinite-length sequence. 2007-09-18 11:52:09 +02:00
Juan Lang 716a7405e4 crypt32: Update comments. 2007-09-18 11:52:00 +02:00
Andrew Talbot f19086e9d3 crypt32: Fix some memory leaks. 2007-09-17 13:48:32 +02:00
Francois Gouget 5ac6e1f5c5 crypt32: We don't consider sys/types.h to be a conditional include. 2007-09-13 11:01:00 +02:00
Juan Lang f0add11007 crypt32: Make chain tests more strict. 2007-09-12 11:33:11 +02:00
Juan Lang a5833ac9f4 crypt32: Set subject's info status from method used to find issuer. 2007-09-12 11:33:11 +02:00
Juan Lang 54428bfb99 crypt32: Pass subject's info status when adding an issuer to a chain. 2007-09-12 11:33:11 +02:00
Juan Lang 5c8254886f crypt32: Only decode authority key ID in subject cert once when looking for issuer. 2007-09-12 11:33:11 +02:00
Juan Lang 05492ae907 crypt32: (Re)introduce helper function to get issuer certificate. 2007-09-12 11:33:11 +02:00
Rob Shearman 9ddc872a1a crypt32: Fix a compile failure on *BSD systems.
Include limits.h for the definition of PATH_MAX.
2007-09-12 11:33:10 +02:00
Francois Gouget b7bf91f5e8 crypt32: Fix the I_Crypt*Asn1*() prototypes. Add the i_cryptasn1tls.h header and use it. 2007-09-12 11:33:10 +02:00
Juan Lang 039beff441 crypt32: Implement CertVerifyCertificateChainPolicy for the basic constraints policy. 2007-09-11 12:36:41 +02:00
Juan Lang 5f06293eb1 crypt32: Implement CertVerifyCertificateChainPolicy for the authenticode policy. 2007-09-11 12:36:34 +02:00
Juan Lang b56f0c5b68 crypt32: Implement CertVerifyCertificateChainPolicy for the base policy. 2007-09-11 12:36:27 +02:00
Juan Lang f23ec30534 crypt32: Add initial tests for CertVerifyCertificateChainPolicy. 2007-09-11 12:36:15 +02:00
Juan Lang 91c76955e7 crypt32: Add a stub for CertVerifyCertificateChainPolicy. 2007-09-11 12:36:10 +02:00
Juan Lang d7115ce33c crypt32: Support CRYPT_DECODE_TO_BE_SIGNED_FLAG. 2007-09-11 12:35:57 +02:00
Juan Lang 9663f9427b crypt32: Add a root store implementation that reads trusted certificates from well-known locations on the local system. 2007-09-11 11:57:06 +02:00
Juan Lang 391f826d49 crypt32: Add a function to create a certificate chain engine potentially before the root store is created. 2007-09-11 11:50:23 +02:00
Juan Lang 5e674f3580 crypt32: Consider alternate issuers when building chains. 2007-09-10 15:50:01 +02:00
Juan Lang 1fc8c60788 crypt32: Flags weren't set, so don't bother passing them. 2007-09-10 15:49:55 +02:00
Juan Lang a040dd22e7 crypt32: Defer checking signatures until chain is complete. 2007-09-10 15:49:50 +02:00
Juan Lang 56d4a3c392 crypt32: Don't ask CertGetIssuerCertificateFromStore to verify revocation status, it almost certainly doesn't do what we want. 2007-09-10 15:49:44 +02:00
Juan Lang dfd2d3d9bc crypt32: Don't abort chain creation if the root signature isn't valid. 2007-09-10 15:49:38 +02:00
Juan Lang 5b02947937 crypt32: Add special case for certificates with no signature algorithm. 2007-09-10 15:49:31 +02:00
Juan Lang d82f3f37a2 crypt32: Remove a misplaced todo_wine. 2007-09-10 15:49:24 +02:00
Juan Lang 69834b16ac crypt32: Set *ppChainContext even on error. 2007-09-10 15:49:13 +02:00
Juan Lang 31618f91dd crypt32: Test whether chain creation should fail when a root signature is invalid. 2007-09-10 15:49:07 +02:00
Juan Lang c4e07a5bfc crypt32: Separate allocating a simple chain and checking it from building it. 2007-09-10 15:49:01 +02:00
Juan Lang a82b36ac98 crypt32: Store world store in chain. 2007-09-10 15:48:55 +02:00
Juan Lang 818634d69a crypt32: Not finding an issuer shouldn't cause chain creation to fail. 2007-09-10 15:48:49 +02:00
Juan Lang 8698a598fc crypt32: Don't add end cert's store to world. 2007-09-10 15:48:43 +02:00
Juan Lang e9ee8c8717 crypt32: Open world store when creating chain, not when building a simple chain. 2007-09-10 15:48:35 +02:00
Juan Lang 1a059879bf crypt32: Make a helper function to create initial candidate chain. 2007-09-10 15:48:27 +02:00
Juan Lang 192ed7353d crypt32: Test that the end cert in a chain's store isn't implicitly searched for issuers. 2007-09-10 15:48:15 +02:00
Juan Lang 6aa03fc4c3 crypt32: Add more tests for getting issuer cert from store.
Show that certificates are added to memory stores at the head rather
than the tail.
2007-09-10 15:48:10 +02:00
Juan Lang 6c9b788fb8 crypt32: Check path length constraint on a chain. 2007-08-31 19:12:38 +02:00
Juan Lang 14b0df1fef crypt32: Set error status on issued certificate, not on issuer. 2007-08-31 19:12:33 +02:00
Juan Lang 1ce46d5e4a crypt32: Check whether each signing certificate can be a CA. 2007-08-31 19:12:28 +02:00
Juan Lang 51948b0c98 crypt32: Check time of each element in chain against requested time. 2007-08-31 19:12:23 +02:00
Juan Lang d06a24517f crypt32: Time validity nesting doesn't appear to be checked, so don't check it. 2007-08-31 19:12:18 +02:00
Juan Lang 03d76d97ec crypt32: Correct combining trust status of a chain's elements into the chain's trust status. 2007-08-31 19:12:12 +02:00
Juan Lang c39696eb14 crypt32: Don't fail chain creation if signature doesn't match. 2007-08-31 19:12:04 +02:00
Juan Lang 1540f24e92 crypt32: Don't fail chain creation if root isn't self-signed. 2007-08-31 19:11:53 +02:00
Juan Lang b8b787a810 crypt32: Halt chain creation when a cycle is detected. 2007-08-31 19:11:46 +02:00
Juan Lang 51a9d208ee crypt32: Implement CertDuplicateCertificateChain. 2007-08-31 19:11:41 +02:00
Juan Lang 3ef4c7e1cc crypt32: Remove unneeded WINAPI from internal function. 2007-08-31 19:11:35 +02:00
Juan Lang 0dc82780ca crypt32: Free lower quality chain contexts. 2007-08-31 19:11:30 +02:00
Juan Lang a4e88cb644 crypt32: Check chain root's trusted status regardless of whether its signature is valid. 2007-08-31 19:11:25 +02:00
Juan Lang 8cd7abf1be crypt32: Properly reference count certificate contexts referenced by a chain. 2007-08-31 19:11:19 +02:00
Juan Lang 45eef63a35 crypt32: Add a default cycle detection modulus. 2007-08-31 19:11:11 +02:00
Juan Lang cf2047fd72 crypt32: The preferred issuer flag appears to be a bug in XP, so don't set it. 2007-08-31 19:11:06 +02:00
Juan Lang 6a8a7362cc crypt32: Greatly expand certificate chain tests. 2007-08-31 18:01:56 +02:00
Juan Lang eda48d8868 crypt32: Set trust status on root element in chain. 2007-08-29 11:59:34 +02:00
Juan Lang ff26d428e3 crypt32: Partially implement CMSG_CTRL_VERIFY_SIGNATURE_EX. 2007-08-27 11:59:19 +02:00
Juan Lang f5b4806159 crypt32: Implement CryptVerifyMessageSignature. 2007-08-23 12:38:05 +02:00
Juan Lang 3a9e1d6648 crypt32: Test and correct verifying the signature of a valid signed message. 2007-08-23 12:37:59 +02:00
Juan Lang 4fb26709cd crypt32: Test encoding a signed message with a valid public key. 2007-08-22 12:59:37 +02:00
Juan Lang 6acd761646 crypt32: Explicitly terminate loop when a matching signer cert is found. 2007-08-22 12:59:32 +02:00
Juan Lang d4c318f295 crypt32: Only free allocated handles. 2007-08-22 12:34:04 +02:00
Juan Lang e52c80e53b crypt32: Test and implement CryptGetMessageSignerCount. 2007-08-22 12:33:59 +02:00
Juan Lang b9038be1ff crypt32: Implement CryptGetMessageCertificates. 2007-08-22 12:33:55 +02:00
Juan Lang b6032a41b3 crypt32: Trace encoding and decoding public keys on crypt channel. 2007-08-22 12:33:50 +02:00
Juan Lang b7e420429d crypt32: Implement verifying a decoded signed message's signature. 2007-08-21 22:09:35 +02:00
Juan Lang d3431271fa crypt32: Test and implement getting the computed hash from a decoded signed message. 2007-08-21 22:09:31 +02:00
Juan Lang ed6fbb2712 crypt32: Update a hash message's hash handles when decoding it. 2007-08-21 22:09:27 +02:00
Juan Lang d2dc7d78a9 crypt32: Move signed message data functions together. 2007-08-21 22:09:19 +02:00
Juan Lang f1f8e87b33 crypt32: Make constructing handles a member of signed msg data. 2007-08-21 22:09:15 +02:00
Juan Lang 07ba16c291 crypt32: Use a helper function to allocate signer handles. 2007-08-21 22:09:12 +02:00
Juan Lang 1f9d9be762 crypt32: Don't keep an unneeded copy of the crypto provider for each signer. 2007-08-21 22:09:08 +02:00
Juan Lang bfbc159d1e crypt32: Separate construction of signer handles from signer info. 2007-08-21 22:09:03 +02:00
Juan Lang c4dd74d84c crypt32: Add a helper function to construct a signer handles structure. 2007-08-21 22:08:59 +02:00
Juan Lang de88fedcce crypt32: Add helper function to update signed message data. 2007-08-21 22:08:54 +02:00
Juan Lang 1522282673 crypt32: Make more functions members of signed message data, rather than message. 2007-08-21 22:08:49 +02:00
Juan Lang bfde05d8b6 crypt32: Make updating a hash a member of signed message data, not signed message. 2007-08-21 22:08:45 +02:00
Juan Lang 0080d3d691 crypt32: Make a helper function to a free a signed message's handles. 2007-08-21 22:08:41 +02:00
Juan Lang 5e9299d980 crypt32: Use signed message data type for decoded signed messages. 2007-08-21 22:08:37 +02:00
Juan Lang 7748905743 crypt32: Make a signed message data type. 2007-08-21 22:08:24 +02:00
Juan Lang 3e88838b60 crypt32: Implement verifying the hash of a decoded hash message. 2007-08-21 22:08:20 +02:00
Juan Lang e7ce5ae2bc crypt32: Add a couple tests that show you can't get the hash from an encoded hash message, and fix encoded hash messages to match. 2007-08-21 22:08:15 +02:00
Juan Lang 163e8d6256 crypt32: Add a mostly stub control function for decode messages. 2007-08-21 22:08:11 +02:00
Juan Lang 31c414f4b4 crypt32: Add a default message control function pointer. 2007-08-21 22:08:06 +02:00
Juan Lang cc8948fefa crypt32: Add tests for CryptMsgControl. 2007-08-21 22:08:01 +02:00
Juan Lang 8c4330e732 crypt32: Test an encoded signed message with a cert with a public key. 2007-08-21 22:07:56 +02:00
Juan Lang 1d53424470 crypt32: Don't store the crypto provider when it isn't needed. 2007-08-20 11:52:21 +02:00
Juan Lang 9be5007669 crypt32: Don't store redundant copy of crypto provider in file store. 2007-08-20 11:52:12 +02:00
Juan Lang 065ed54f69 crypt32: Don't store redundant copy of crypto provider in reg store. 2007-08-20 11:52:05 +02:00
Juan Lang 4e1108533b crypt32: Pass crypto provider and appropriate flags when opening PKCS messages, and don't store a redundant copy of the crypto provider in message stores. 2007-08-20 11:51:57 +02:00
Juan Lang 71dffcee84 crypt32: Move file store to a separate file. 2007-08-17 12:01:38 +02:00
Juan Lang 0070d8226f crypt32: Move registry stores to a separate file. 2007-08-17 12:01:38 +02:00
Juan Lang 131f1d20e7 crypt32: Move provider stores to a separate file. 2007-08-17 12:01:38 +02:00
Juan Lang 9f85156e23 crypt32: Move collection stores to a separate file. 2007-08-17 12:01:38 +02:00
Juan Lang adaaab923d crypt32: Move cert store definitions to header. 2007-08-17 12:01:38 +02:00
Juan Lang f3128c9244 crypt32: Where possible, pass a pointer rather than an offset, it's less confusing. 2007-08-17 12:01:38 +02:00
Juan Lang 2a8aa87878 crypt32: Use externed vars for context variables. 2007-08-17 12:01:38 +02:00
Juan Lang 6aa10439a9 crypt32: Use public APIs to empty a store. 2007-08-17 12:01:37 +02:00
Juan Lang bc37988dff crypt32: Use public type and APIs for memory stores wherever possible. 2007-08-17 12:01:37 +02:00
Juan Lang afc50ce3fe crypt32: Remove some unnecessary casts. 2007-08-17 12:01:37 +02:00
Juan Lang f68036cebd crypt32: Rename a confusing type. 2007-08-17 12:01:37 +02:00
Juan Lang 1626da2bba crypt32: Free default chain engine. 2007-08-16 11:46:40 +02:00
Paul Vriens 16d9123377 crypt32/tests: Use GetModuleHandle and skip. 2007-08-15 10:48:55 +02:00
Juan Lang 714a3731eb crypt32: Set return value on exception.
Spotted by Paul Vriens.
2007-08-15 10:48:51 +02:00
Juan Lang 9a58b30819 crypt32: Initial implementation of CertGetCertificateChain and CertFreeCertificateChain. 2007-08-15 10:43:32 +02:00
Juan Lang 51651c7c5c crypt32: Add a chain test with real certificates. 2007-08-15 10:43:09 +02:00
Juan Lang abd6feaf93 crypt32: Add initial tests for certificate chains. 2007-08-15 10:43:01 +02:00
Juan Lang 0b2b1f8881 crypt32: Set output chain to NULL. 2007-08-15 10:42:53 +02:00
Juan Lang 466d8a01a5 crypt32: Add stub for CertFreeCertificateChain. 2007-08-15 10:42:48 +02:00
Juan Lang 1547f39800 crypt32: Move CertGetCertificateChain to chain.c. 2007-08-15 10:42:42 +02:00
Juan Lang 7316156d35 crypt32: Fix typo. 2007-08-15 10:42:35 +02:00
Juan Lang f1cb8057e7 crypt32: Fix typo. 2007-08-15 10:42:29 +02:00
Paul Vriens c0b88f880f crypt32/tests: Make tests run again on win95. 2007-08-14 12:46:38 +02:00
Juan Lang aa0f823429 crypt32: Test finding the issuer of a certificate. 2007-08-14 12:30:18 +02:00
Juan Lang f7bcc26cc5 crypt32: Avoid a memory allocation when decoding the subject key identifier extension. 2007-08-14 12:30:05 +02:00
Juan Lang d49c9d59d1 crypt32: Add missing break. 2007-08-14 12:29:56 +02:00
Juan Lang b82bfa3455 crypt32: Test authority key identifier with a multi-byte id to show that its byte-order is swapped and fix encoding and decoding it. 2007-08-14 12:29:51 +02:00
Juan Lang 3a50b1fea6 crypt32: Improve tracing when builtin function isn't available. 2007-08-13 11:32:51 +02:00
Juan Lang f848055151 crypt32: Use helper functions to simplify CryptEncodeObject and CryptEncodeObjectEx. 2007-08-13 11:32:42 +02:00
Juan Lang 5d8d9e7d08 crypt32: Validate parameters better in CryptDecodeObject. 2007-08-13 11:32:33 +02:00
Juan Lang 4c58c4bc2f crypt32: Use helper functions to simplify CryptDecodeObject and CryptDecodeObjectEx. 2007-08-13 11:32:23 +02:00
Juan Lang 038b53c301 crypt32: Ex encode/decode functions should call non-Ex versions if no Ex version is available. 2007-08-13 11:32:13 +02:00
Juan Lang 0c4c1985b0 crypt32: Add stub for I_CryptGetAsn1Decoder. 2007-08-10 12:58:17 +02:00
Juan Lang 84a54b5a1f crypt32: Trace more return values. 2007-08-10 12:58:17 +02:00
Juan Lang 9da1baa130 crypt32: Use real certificates to test finding subject certificates, and correct finding them. 2007-08-10 12:58:17 +02:00
Juan Lang 8778b9f506 crypt32: Correct loading OID functions from the registry. 2007-08-10 12:58:17 +02:00
Francois Gouget f045243542 crypt32/tests: Fix compilation on systems that don't support nameless unions. 2007-08-08 15:32:03 +02:00
Juan Lang c9a5410288 crypt32: According to MSDN, inner content is only decoded when the content type is data. 2007-08-08 15:32:01 +02:00
Juan Lang c5a213a816 crypt32: Add a couple traces. 2007-08-08 15:32:01 +02:00
Juan Lang bcbf5dcee3 crypt32: Test and correct finding a subject certificate. 2007-08-08 15:32:01 +02:00
Juan Lang d89528b016 crypt32: Use the authority key identifier to search for a certificate's issuer. 2007-08-08 15:32:00 +02:00
Juan Lang c91e591a95 crypt32: Fix typo. 2007-08-08 15:32:00 +02:00
Juan Lang 53087dbe12 crypt32: Introduce cryptasn debug channel to quiet down crypt traces. 2007-08-08 15:32:00 +02:00
Juan Lang 05d2ab176a crypt32: Implement CertRDNValueToStr for UTF-8 strings. 2007-08-08 15:32:00 +02:00
Francois Gouget f67fd2cfa4 crypt32: Better match the PSDK types and fix the winapi_check warnings. 2007-08-06 12:30:48 +02:00
Francois Gouget 74bf9f1f4e crypt32: Add and use HCRYPTPROV_LEGACY and HCRYPTPROV_OR_NCRYPT_KEY_HANDLE. 2007-08-03 12:44:41 +02:00
Juan Lang 0cc08cccb9 crypt32: Support finding certificates by cert id. 2007-08-03 12:36:49 +02:00
Juan Lang ac28066b48 crypt32: Test and fix getting a certificate context's key identifier property. 2007-08-03 12:36:43 +02:00
Juan Lang c98f605b0e crypt32: Test encoding a cert with a subject key identifier extension. 2007-08-03 12:36:36 +02:00
Juan Lang 0c5772dc0a crypt32: Test encoding a cert with a public key. 2007-08-03 12:36:16 +02:00
Juan Lang 5885eb3cc3 crypt32: Fix typo in key context property test, and the problems it hid. 2007-08-03 12:36:04 +02:00
Juan Lang 90824039ac crypt32: Add and use a helper function for getting cert properties. 2007-08-03 12:35:56 +02:00
Juan Lang 44948c3b38 crypt32: Implement decoding OID and directory name alt name entries. 2007-08-03 12:29:47 +02:00
Juan Lang 005b50e913 crypt32: Introduce a OID decoding function that ignores the tag and use it where the caller already checks the tag. 2007-08-03 12:29:39 +02:00
Juan Lang 676c6e5a36 crypt32: Implement encoding OID and directory name alt name entries. 2007-08-03 12:29:03 +02:00
Juan Lang 9194d60061 crypt32: Test encoding/decoding a couple more alt name entry types. 2007-08-03 12:28:40 +02:00
Juan Lang 0cb6148422 crypt32: Get rid of bogus check and improve traces for unexpected alt name entry types. 2007-08-03 12:28:32 +02:00
Juan Lang db513c0cb5 crypt32: Remove bad special case, it isn't necessary since the outer content specifies the hash algorithm. 2007-08-01 11:29:31 +02:00
Juan Lang e25b81fd9c crypt32: Use the outer content's signature algorithm rather than the public key's embedded algorithm. 2007-08-01 11:29:18 +02:00
Juan Lang 4e0f33dada crypt32: Support getting the inner content OID from a decoded signed message. 2007-07-31 11:16:04 +02:00
Juan Lang 014467031e crypt32: Get rid of attribute certs from signed info, they're not supported anyway. 2007-07-31 11:15:57 +02:00
Juan Lang a50d8dc1dd crypt32: Add a few traces. 2007-07-31 11:15:50 +02:00
Juan Lang f0509c49d1 crypt32: Simplify alignment calculation. 2007-07-31 11:15:41 +02:00
Juan Lang 04ef3c05f1 crypt32: Add CryptMsgControl stub. 2007-07-31 11:15:16 +02:00
Juan Lang 7e10d48c60 crypt32: Implement getting the signer cert info from a decoded signed message. 2007-07-31 11:15:08 +02:00
Juan Lang 555e85a2b2 crypt32: Implement getting signer info from a decoded signed message. 2007-07-31 11:14:46 +02:00
Juan Lang 5900ab1437 crypt32: Separate decoding PKCS signer info into internal and external versions. 2007-07-31 11:14:35 +02:00
Juan Lang d6150a7974 crypt32: Implement getting inner content of a decoded signed message. 2007-07-31 11:14:26 +02:00
Juan Lang 2acb8a2dd2 crypt32: Test getting more parameters from a decoded signed message. 2007-07-31 11:14:18 +02:00
Juan Lang c7f44c8ec7 crypt32: Implement message stores. 2007-07-30 12:53:42 +02:00
Juan Lang 6f2ae25441 crypt32: Only destroy a decoded message's hash if it's been created. 2007-07-30 12:53:34 +02:00
Juan Lang d76e1899ad crypt32: Add tests for message stores. 2007-07-30 12:53:27 +02:00
Juan Lang 115edc67e6 crypt32: Implement getting some parameters from a decoded signed message. 2007-07-30 12:53:20 +02:00
Juan Lang 9c7c9e545e crypt32: Change type to avoid unnecessary casting. 2007-07-30 12:53:09 +02:00
Juan Lang d187fcd172 crypt32: Test getting parameters from decoded signed messages. 2007-07-30 12:52:59 +02:00
Juan Lang 299612378a crypt32: Store decoded signed content in message. 2007-07-30 12:52:51 +02:00
Juan Lang 211a8d324f crypt32: Correct type of a decoded signed message. 2007-07-30 12:52:39 +02:00
Juan Lang fd1e88ae61 crypt32: A decoded message's parameters are dependent on its type. 2007-07-30 12:52:31 +02:00
Juan Lang d5a478edfa crypt32: Test and implement encoding signed messages with authenticated attributes. 2007-07-26 12:35:21 +02:00
Juan Lang b8ab462100 crypt32: Trace a few more items when decoding. 2007-07-26 12:35:12 +02:00
Juan Lang c58cb379eb crypt32: Test and fix encoding and decoding of attributes in PKCS signers. 2007-07-26 12:35:05 +02:00
Juan Lang 3a85fa6b15 crypt32: Partially implement decoding of signed messages. 2007-07-26 12:34:56 +02:00
Juan Lang 5674ca2e4e crypt32: Don't check tag in CRYPT_DecodeDERArray, caller already does. 2007-07-26 12:34:47 +02:00
Juan Lang 30346ee296 crypt32: Actually skip content when skipping an item in a sequence. 2007-07-26 12:34:39 +02:00
Juan Lang 429e5b300f crypt32: Remove redundant assignment. 2007-07-26 12:34:32 +02:00
Juan Lang e0b13a20b5 crypt32: Add initial tests for decoding signed messages. 2007-07-26 12:34:26 +02:00
Juan Lang 5572902046 crypt32: Test getting the hash from a hash message with an invalid index. 2007-07-26 12:34:19 +02:00
Alexandre Julliard fd51447966 crypt32: Don't use off_t for memory offsets. 2007-07-26 11:57:14 +02:00
Juan Lang f987ca01d0 crypt32: Test and implement getting the encoded signers from an encoded signed message. 2007-07-25 13:02:23 +02:00
Marcus Meissner 60ef860f17 crypt32: Fixed wrong allocation size. 2007-07-25 13:02:02 +02:00
Juan Lang 0584964518 crypt32: Test and implement encoding signed data messages with CRLs. 2007-07-24 11:49:23 +02:00
Juan Lang 01ab14e174 crypt32: Test and implement encoding signed messages with certificates. 2007-07-24 11:49:14 +02:00
Juan Lang 8a3f4483a9 crypt32: Use set encoding function for encoding PKCS signed info. 2007-07-24 11:49:07 +02:00
Juan Lang 4f30f90c39 crypt32: Implement getting version from an encoded signed message. 2007-07-24 11:48:59 +02:00
Juan Lang 8c81a38698 crypt32: Add tests for getting an encoded signed message's parameters. 2007-07-24 11:48:52 +02:00
Juan Lang 99c475417a crypt32: Use consistent types for storing and encoding signed encode data. 2007-07-24 11:48:44 +02:00
Juan Lang 2d359268e6 crypt32: Separate signer handles from signer info to avoid unnecessary memory allocation. 2007-07-24 11:48:36 +02:00
Juan Lang 937b27f3a3 crypt32: Implement getting outer content of a signed message. 2007-07-24 11:48:27 +02:00
Juan Lang b80101eb65 crypt32: Partially implement encoding signed messages. 2007-07-24 11:48:19 +02:00
Juan Lang 71a5859ded crypt32: Implement getting the hash for each signer of a signed encoded message. 2007-07-24 11:48:06 +02:00
Juan Lang 4e2b3ab9e1 crypt32: Hash and sign data when updating signed messages. 2007-07-24 11:32:19 +02:00
Juan Lang 0b0df876b2 crypt32: More parameter checking for opening signed encoded messages. 2007-07-24 11:32:10 +02:00
Juan Lang 19e63d9004 crypt32: Add tests for opening non-detached signed messages, and clarify detached open. 2007-07-24 11:32:03 +02:00
Juan Lang d11ddebc76 crypt32: Add a partial stub for updating a signed encoded message. 2007-07-24 11:31:56 +02:00
Juan Lang 014f282b72 crypt32: Add tests for signed message encoding. 2007-07-24 11:31:46 +02:00
Juan Lang cc4005829d crypt32: Add tests for updating signed encoded messages. 2007-07-24 11:30:50 +02:00
Juan Lang 45652e0802 crypt32: Check for and fail on indefinite-length encoding. 2007-07-24 11:30:41 +02:00
Juan Lang dc28f99d22 crypt32: Introduce function to encode an array of items as a set. 2007-07-24 11:30:34 +02:00
Juan Lang 223bad2312 crypt32: Add stub encoded signed message. 2007-07-24 11:30:21 +02:00
Juan Lang 725d440d3c crypt32: Add tests for opening signed message to encode. 2007-07-24 11:30:12 +02:00
Juan Lang 52cc727348 crypt32: Move decoding hash messages to a helper function. 2007-07-23 11:53:59 +02:00
Juan Lang 74bd61203d crypt32: Implement querying computed hash of a decoded hash message. 2007-07-20 11:41:19 +02:00
Juan Lang 22e7c2f38e crypt32: Store hash algorithm ID along with other parameters when decoding a hash message. 2007-07-20 11:41:09 +02:00
Juan Lang 0e90cb9629 crypt32: Store (most) parameters of a decoded hash message. 2007-07-20 11:40:56 +02:00
Juan Lang 056b4f10dd crypt32: Add a couple more parameter tests for hash messages. 2007-07-18 12:57:41 +02:00
Juan Lang 8df323f84a crypt32: Use property list for decoded message parameters. 2007-07-18 12:57:28 +02:00
Juan Lang 4e28944934 crypt32: Implement getting content of a data message. 2007-07-18 12:57:21 +02:00
Juan Lang 95bb1be2b7 crypt32: Add a few tests for decoded message parameters. 2007-07-18 12:57:14 +02:00
Juan Lang 8099ff4bce crypt32: Fix a bad comment. 2007-07-18 12:56:55 +02:00
Juan Lang 35abf3adf3 crypt32: Implement decoding hash messages. 2007-07-18 12:56:48 +02:00
Juan Lang 8cf82d8a0e crypt32: Remove a redundant line. 2007-07-18 12:56:39 +02:00
Juan Lang 60c6a9e381 crypt32: Add tests for decoding a hash message. 2007-07-18 12:56:33 +02:00
Juan Lang 703a0f6fce crypt32: Move digested data encoding to encode.c. 2007-07-18 12:56:25 +02:00
Juan Lang 76061f403b crypt32: Implement decoding data messages (when opened in non-streaming mode). 2007-07-16 13:51:51 +02:00
Juan Lang 2cca297ba6 crypt32: Partially implement updating decode messages. 2007-07-16 13:40:11 +02:00
Juan Lang 6a07ca4442 crypt32: Store crypt provider in decode message. 2007-07-16 13:39:57 +02:00
Juan Lang 8dcd9e4279 crypt32: Fix decoding sequences with extra trailing data. 2007-07-16 13:39:35 +02:00
Juan Lang 01685bca0e crypt32: Add test showing extra trailing bytes should be tolerated in encoded data. 2007-07-16 13:39:24 +02:00
Paul Vriens 0653b95017 crypt32/tests: Skip test if we don't have enough rights. 2007-07-13 14:43:33 +02:00
Juan Lang d1bd2ea907 crypt32: Update comments about hash message version numbers. 2007-07-13 14:40:46 +02:00
Juan Lang a8e135f4c6 crypt32: Introduce an updated state, and use it to remove boolean "begun". 2007-07-13 14:40:39 +02:00
Juan Lang 09c4faf159 crypt32: Change finalized from a boolean to a state and use it to simplify message updating. 2007-07-13 14:40:25 +02:00
Juan Lang 9bdb084eb6 crypt32: Relax a test, the specific error isn't so important. 2007-07-13 14:40:15 +02:00
Juan Lang 8599fd7748 crypt32: Implement retrieving a hashed message's content. 2007-07-13 14:40:04 +02:00
Juan Lang 678fb8ac14 crypt32: Introduce an algorithm id encoding function that encodes missing parameters as NULL
and use it to match native encoding (and simplify PKCS signer tests).
2007-07-13 14:39:40 +02:00
Juan Lang 880507d906 crypt32: Add tests for retrieving the content of a non-finalized (detached) message. 2007-07-13 14:39:09 +02:00
Juan Lang 3ffb4b1c48 crypt32: Detached hash messages don't contain the content, so don't make a copy of it. 2007-07-13 14:39:02 +02:00
Juan Lang f83da5cc07 crypt32: Don't check if msg is NULL, tests show native doesn't either. 2007-07-13 14:38:55 +02:00
Juan Lang a468e6f6c3 crypt32: Add a helper function to copy params. 2007-07-13 14:38:48 +02:00
Juan Lang fef57dad46 crypt32: Copy data in hash message update. 2007-07-13 14:38:40 +02:00
Juan Lang 72b8f8325f crypt32: Add tests for hash message encoding. 2007-07-13 14:38:32 +02:00
Juan Lang 804b9d7165 crypt32: Implement getting hash message version. 2007-07-13 14:38:24 +02:00
Juan Lang 739cc08b3b crypt32: Partially implement updating hash messages. 2007-07-13 14:37:51 +02:00
Juan Lang 5cb26d8e58 crypt32: Test updating hash messages with NULL stream output function. 2007-07-13 14:37:42 +02:00
Juan Lang c2f8191a64 crypt32: Simplify hash value tests. 2007-07-13 14:37:24 +02:00
Juan Lang bb1246a51c crypt32: Implement getting a hash message's hash value. 2007-07-13 14:37:16 +02:00
Juan Lang 1745d8a728 crypt32: Add tests for getting hash message params. 2007-07-13 14:37:09 +02:00
Juan Lang 3c15f98b77 crypt32: Add a stub hash message implementation. 2007-07-13 14:37:00 +02:00
Juan Lang e6c339d076 crypt32: Test opening hash messages to encode with streaming. 2007-07-13 14:36:48 +02:00
Juan Lang ad975f672b crypt32: Add tests for updating hash messages opened to encode. 2007-07-13 14:36:40 +02:00
Juan Lang b12072b72d crypt32: Add open tests for hash messages. 2007-07-13 14:36:32 +02:00
Juan Lang afaba37ed7 crypt32: Implement streamed encoding of definite-length data messages. 2007-07-13 14:36:16 +02:00
Juan Lang 48afa16386 crypt32: Make some encoding functions available outside encode.c. 2007-07-13 14:35:47 +02:00
Juan Lang 1d5a8b2f78 crypt32: Implement CryptSIPGetSignedDataMsg, CryptSIPPutSignedDataMsg,
CryptSIPCreateIndirectData, CryptSIPVerifyIndirectData, and
CryptSIPRemoveSignedDataMsg.
2007-07-10 14:41:24 +02:00
Juan Lang 19c3a09ba8 crypt32: Implement CryptSIPLoad. 2007-07-10 14:41:05 +02:00