aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/asn1
Commit message (Collapse)AuthorAgeFilesLines
* Add OIDs for SIV and OCB mode ciphersJack Lloyd2018-08-231-0/+26
|
* Add PBES2 as alias for PBE-PKCS5v20Jack Lloyd2018-08-231-1/+2
| | | | Easier to remember and type.
* Cleanup of BigInt encoding/decoding functionsJack Lloyd2018-08-141-1/+1
| | | | | | | | | | | | | Instigated by finding a bug where BigInt::encode with decimal output would often have a leading '0' char. Which is papered over in the IO operator, but was exposed by botan_mp_to_str which called BigInt::encode directly. Split BigInt::encode/decode into two versions, one taking the Base argument and the other using the (previously default) binary base. With a view of eventually deprecating the versions taking a base. Add BigInt::to_dec_string() and BigInt::to_hex_string()
* Add path validation to FFIJack Lloyd2018-08-132-0/+9
|
* Add some final annotationsJack Lloyd2018-08-131-1/+1
|
* Combine SM2 key types for signatures and encryptionJack Lloyd2018-08-011-1/+2
| | | | | | It seems in practice the same key may be end up used for both operations, so maintaining a distinction at the type level just complicates things.
* Add OID for HMAC with SHA-512/256Jack Lloyd2018-08-011-1/+3
|
* Add OID for SM2 with SM3 signaturesJack Lloyd2018-07-241-1/+3
|
* Remove RC2 related OIDsJack Lloyd2018-07-131-5/+1
| | | | Since RC2 has been removed since 1c0bc3cc6b no reason to have these around.
* Add a couple of OIDs commonly seen in certificatesJack Lloyd2018-07-041-1/+5
|
* Add OID for ChaCha20Poly1305Jack Lloyd2018-07-011-1/+3
| | | | From RFC 8103
* Add missing statementJack Lloyd2018-06-081-0/+1
|
* Attempt at MSVC 2013 workaroundJack Lloyd2018-06-081-2/+4
|
* Expose BER_Decoder constructor taking BER_Object&&Jack Lloyd2018-06-081-2/+8
|
* Reduce copying/allocations when BER decodingJack Lloyd2018-06-082-81/+194
| | | | | | | We are constrained in how far we can go because BER_Object must mandatorily copy its value (due to the public member variable exposting the bytes). But this reduces the number of allocations when parsing a sample X.509 certificate by about 15%
* Allow passing a writer function callback to DER_EncoderJack Lloyd2018-06-082-10/+18
|
* Declare copy and move constructors on BER_ObjectJack Lloyd2018-06-081-0/+8
|
* Improve error reporting on unexpected EOF when decoding ASNJack Lloyd2018-06-081-4/+17
|
* Improve error message on BER decoding errorJack Lloyd2018-05-242-6/+50
|
* Add OIDS for Camellia and SM4 in GCM and CBC modesJack Lloyd2018-05-221-1/+17
| | | | Making them usable for private key encryption
* DER improvementsJack Lloyd2018-05-225-36/+103
| | | | | | | | | | | Let DER_Encoder write to a user specified vector instead of only to an internal vector. This allows encoding to a std::vector without having to first write to a locked vector and then copying out the result. Add ASN1_Object::BER_encode convenience method. Replaces X509_Object::BER_encode which had the same logic but was restricted to a subtype. This replaces many cases where DER_Encoder was just used to encode a single object (X509_DN, AlgorithmIdentifier, etc).
* Merge GH #1571 DER_Encoder optimizationsJack Lloyd2018-05-212-83/+123
|\
| * Make MSVC happyJack Lloyd2018-05-211-0/+13
| |
| * Cleanups and optimizations in DER_EncoderJack Lloyd2018-05-212-83/+110
| |
* | Use BER_Decoder::get_next to cleanup X.509 cert decoding codeJack Lloyd2018-05-212-1/+11
|/
* Add Scrypt key dervation functionJack Lloyd2018-05-161-1/+3
|
* Add message to BOTAN_ARG_CHECK and use it more widelyJack Lloyd2018-05-131-10/+6
|
* Add OpenPGP-specific curve OIDsMarcus Brinkmann2018-05-021-1/+5
|
* Allow year up to 2200 in ASN1 time objectsJack Lloyd2018-04-122-4/+19
| | | | | | Also tighten up checking of days Fixes GH #1536
* Avoid creating a map from a DN when not requiredJack Lloyd2018-03-211-0/+2
|
* Support Ed25519 certificate formatJack Lloyd2018-03-201-1/+1
| | | | Able to create certificate chain and verify it with OpenSSL 1.1.1
* Remove use of ;; to end linesJack Lloyd2018-03-191-1/+1
|
* Support custom DN entriesJack Lloyd2018-03-141-0/+5
| | | | GH #1490
* Allow decoding ASN.1 OID 0.0Jack Lloyd2018-03-051-1/+3
| | | | | | | | I had no idea this was a valid OID but apparently it is. And for some who-knows-why reason FreeTSA certificate includes it in their certificate policy extension. GH #355
* Use API annotationsJack Lloyd2018-03-021-2/+2
|
* Use BOTAN_DEFAULT_BUFFER_SIZE instead of DEFAULT_BUFFERSIZEJack Lloyd2018-03-011-1/+1
|
* Merge GH #1448 Support custom curves in TLS handshakeJack Lloyd2018-02-191-10/+0
|\
| * Remove house curve supportJack Lloyd2018-02-131-10/+0
| |
* | Of course they are public member variables, not functions ...Jack Lloyd2018-02-133-3/+3
| |
* | Add BOTAN_DEPRECATED_PUBLIC_MEMBER_FUNCTIONSJack Lloyd2018-02-133-1/+3
|/ | | | | | Makes such things easier to find in the future. Also adds BOTAN_NO_DEPRECATED which causes them to be private instead.
* Use new literal syntax for OIDsJack Lloyd2018-02-072-204/+210
| | | | Reduces size of oid_maps object file by a ~16K
* Merge GH #1444 Add (back) modifyable OID mapsJack Lloyd2018-02-073-413/+560
|\
| * Reintroduce ability to register OIDs at runtimeNever2018-02-053-413/+560
| | | | | | | | | | | | This was removed in 62e55f484a7a03e2532875696eb2479a577878e9 in favor of a faster and smaller lookup. The ability is however required if we want to use custom curves at runtime.
* | Create a persistent registry for ECC group dataJack Lloyd2018-02-042-3/+17
|/ | | | Now a single copy is maintained of each EC group info
* Prepare for making BER_Object members privateJack Lloyd2018-01-188-92/+154
| | | | | Now there are usable accessors that allow the library to avoid using BER_Object members directly.
* Enforce an overall max depth on recursion in ASN1 printerJack Lloyd2018-01-152-14/+41
| | | | | Otherwise a sufficiently nested value can cause us to recurse endlessly, causing stack exhaustion. OSS-Fuzz 5333
* Fix a bug in asn1print - zero integers were not printedJack Lloyd2018-01-091-8/+4
|
* Improve output of the ASN1 printerJack Lloyd2018-01-032-48/+83
| | | | | | | | | | The output was pretty much wrong for application-tagged types. Instead the type was printed as if it was a universal tag. Add a hack in the ASN1 printer for GeneralNames. These are a commonly used implicitly tagged type. Basically if it is a context specific field, and it looks like it might be a printable URI or DNS GeneralName, treat it as a string.
* use range-based for loop instead of std::for_eachPatrik Fiedler2018-01-031-2/+2
|
* add the detection for the ca issuers field(1.3.6.1.5.5.7.48.2) in x509 ↵Patrik Fiedler2018-01-031-0/+2
| | | | certificates