aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public_key/src/public_key.erl
AgeCommit message (Collapse)Author
2018-10-23public_key: Add DSA with SHA2 supportIngela Anderton Andin
2018-09-13public_key: Rework -type and -specHans Nilsson
Check existing specs with code and documentation and adjust. Prepare for doc generation
2018-09-07public_key: Remove strange and unused(?) DSAPrivateKey from verify/5Hans Nilsson
2018-06-18Update copyright yearHenrik Nord
2018-06-08public_key: Make dialyzer happyHans Nilsson
2018-06-04public_key: Matchfun for HTTPSHans Nilsson
2018-05-21PKCS8 encoder must be symmetrical to PKCS8 decoder, thus it has to be in ↵Maxim Fedorov
der_encode, and not pem_encode as it was in original implementation
2018-05-21Use DER_NULL macro instead or <<5,0>>Maxim Fedorov
2018-05-21PKCS8 handling improvements:Maxim Fedorov
* added PKCS8 encoder for DSA, RSA and EC private keys * added tests (full loop, PKCS8 decode/encode operations) * rewritten private key decoder to be more Erlang-y
2018-05-21public_key: PKCS8 (Private-Key Information Syntax Standard) encoded private ↵Maxim Fedorov
key support This patch adds support for RSA, DSA and EC private keys encoded using PKCS8 format. Test *.pem files are made with converting existing *.pem files using openssl: openssl pkcs8 -in ... -out ... -topk8 -nocrypt
2018-02-13public_key: Use uri_stringPéter Dimitrov
- Remove dependency to inets Change-Id: I5f59d21079a068d9ec5e13da26007150d8bc6b04
2017-12-01Facilitate test certs with common rootRaimo Niskanen
2017-10-21public_key: Handle formatting of ECC params from DER to crypto APIIngela Anderton Andin
Solves ERL-482
2017-10-17Merge branch 'ingela/ssl/extend-hostname-check/OTP-14632/OTP-14655' into maintIngela Anderton Andin
* ingela/ssl/extend-hostname-check/OTP-14632/OTP-14655: ssl: Fix test cases to work on all test platforms public_key: Fix dialyzer spec ssl: Sessions must be registered with SNI if exists ssl: Extend hostname check to fallback to checking IP-address public_key, ssl: Handles keys so that APIs are preserved correctly
2017-10-13public_key: Fix dialyzer specIngela Anderton Andin
2017-10-12public_key: Remove extra unused element in internal pubkey_ssh:encode/2Hans Nilsson
2017-10-12public_key: Fix bug in pkix_verify_hostname with IP addressesHans Nilsson
An IP address could in some circomstances be converted to a list and then to_lower was applied to it. So {$A,1,1,1} was changed to {$a,1,1,1} which of course didn't match....
2017-10-02public_key: verify ip (both v4 and v6)Hans Nilsson
2017-09-20public_key, ssl: Provide certitifate test data generation function in public_keyIngela Anderton Andin
The ssl application uses the new function in many of its test cases.
2017-09-11fix ERL-481 ecpkParameters representationDaniel Goertzen
- type spec ecpk_parameters() added to represent DER-encodable ecpkParameters - type spec ecpk_parameters_api() added to represent ecpkParameters provided by the user through public_key API functions - API is now more generous in its input, and more strict in its output. - update to public key records documentation - add tests, including tests against EC key with explicit curve parameters - also fixes ERL-480
2017-07-25RSAPrivateKey version is set to 'two-prime', as stated in documentation, and ↵Konstantinos Kallas
not 0
2017-07-10Merge branch 'ingela/public_key/ssl/CRL-error-propagation/OTP-14236' into maintIngela Anderton Andin
* ingela/public_key/ssl/CRL-error-propagation/OTP-14236: ssl: Try to make asn1 decode errors of certificates as specific as possible ssl,public_key: Provide details for CRL check failiures when revokation state can not be determined ssl: Enhance error logging
2017-07-07ssl,public_key: Provide details for CRL check failiures when revokation ↵Ingela Anderton Andin
state can not be determined
2017-07-07public_key: Update for new crypto:sign and crypto:verify from PR838Hans Nilsson
2017-06-12Fix type on line 872willemdj
I assume that it is a typo?
2017-05-04Update copyright yearRaimo Niskanen
2017-04-26ssh: Implement signature algorithms rsa-sha2-*. draft-ietf-curdle-rsa-sha2Hans Nilsson
2017-04-12public_key: Public RSA key is present in private keyIngela Anderton Andin
Change the return value from {#'RSAPublicKey'{}, #'RSAPrivateKey'{}} to #'RSAPrivateKey'{} This conforms to the #'ECPrivateKey'{} return value. Note that DH key will be returned as {Public::integer(), Private::integer()} as there is no key structure (record) only two integers. Maybe we would like to add extraction functions for the public key from the private ones later.
2017-03-23ssl, public_key: Add functionality for generating X509 cert test dataIngela Anderton Andin
For now this functionality is located in ssl. And existing public_key function is extended. However some of the functionality may be moved to public_key in a later stage.
2017-03-13Merge branch 'wiml/crypto/rsa-generate-key/ERL-165/PR-1299/OTP-14140'Hans Nilsson
2017-03-09public_key: Bugfix public_key:generate_key({namedCurve,OID})Hans Nilsson
2017-03-09public_key: New -spec for public_key:generate_key/1Hans Nilsson
2017-03-09public_key: Add RSA to public_key:generate_key/1Hans Nilsson
2017-02-16Merge branch 'maint'Hans Nilsson
2017-02-14public_key: generate a list of ssh fingerprints on requestHans Nilsson
2017-01-26Merge branch 'maint'Hans Nilsson
2017-01-25public_key: pkix_verify_hostname (RFC 6125)Hans Nilsson
2016-12-16public_key: Use maps instead of dictBjörn-Egil Dahlberg
2016-12-07Update copyright-yearErlang/OTP
2016-11-22public_key: ssh host key fingerprint generator addedHans Nilsson
2016-04-05Function for generating OpenSSL-style name hashesMagnus Henoch
OpenSSL has functions to generate short (eight hex digits) hashes of issuers of certificates and CRLs. These hashes are used by the "c_rehash" script to populate directories of CA certificates and CRLs, e.g. in the Apache web server. Adding this function lets an Erlang program find the right CRL for a given certificate in such a directory.
2016-04-01Add public_key:pkix_match_dist_pointMagnus Henoch
2016-03-10public_key: Handle PEM encoded EC public keysIngela Anderton Andin
Also add missing test for PEM encoded private EC keys.
2015-11-04ssh, public_key: random selection of diffie-hellman moduliHans Nilsson
Also tool (public_key:gen_moduli_hrl) to convert an openssh moduli file to erlang format.
2015-10-16public_key: add/update -spec for ssh functionsHans Nilsson
2015-10-16ssh, public_key: use pubkey encode/decode in app public_keyHans Nilsson
2015-10-16ssh, public_key: Change EC Public Key representation to what was intendedHans Nilsson
2015-06-18Change license text to APLv2Bruce Yinhe
2015-04-20public_key: Reject bad signatures as early as possibleIngela Anderton Andin
Erlang bitstring type only uses as many bits as required, and does not use padding to create complete bytes as ASN1 compact_bitstring did. crypto:verify/5 will now fail, for some incorrect signatures as it expects complete bytes which an incorrect signature may not have. Instead of catching the failing crypto function and then returning false we check the input and reject it right away.
2015-04-20public_key: Remove legacy switch compact_bit_stringIngela Anderton Andin
* E.I bitstrings will not be decode as {Unused, Binary}, they are now Erlang bitstrings. * Also the compact_bit_string implies the legacy_erlang_types switch - So removing the switch will also make OCTET STRING values be represented as binaries. - Undecoded open type will now be wrapped in a asn1_OPENTYPE tuple. We need to handle this in pubkey_pbe.erl, maybe this can be eliminated later by updating/refreshing ASN1-specs. This will change some values in records returned by the public_key API making this change a potentiall incompatibility.