From bd496c144e47c10c900c58cd2d9f38a01e9303cf Mon Sep 17 00:00:00 2001 From: Ingela Anderton Andin Date: Fri, 8 Aug 2014 14:27:26 +0200 Subject: public_key: Updated User Guide with ECC records --- lib/public_key/doc/src/cert_records.xml | 5 +- lib/public_key/doc/src/public_key.xml | 2 +- lib/public_key/doc/src/public_key_records.xml | 68 ++++++++++++++++++++++++--- 3 files changed, 65 insertions(+), 10 deletions(-) (limited to 'lib/public_key/doc') diff --git a/lib/public_key/doc/src/cert_records.xml b/lib/public_key/doc/src/cert_records.xml index 397c13b463..d1293d12b8 100644 --- a/lib/public_key/doc/src/cert_records.xml +++ b/lib/public_key/doc/src/cert_records.xml @@ -36,8 +36,9 @@

This chapter briefly describes erlang records derived from ASN1 specifications used to handle X509 certificates and CertificationRequest. - The intent is to describe the data types and not to specify the meaning of each - component for this we refer you to RFC 5280 and PKCS-10.

diff --git a/lib/public_key/doc/src/public_key.xml b/lib/public_key/doc/src/public_key.xml index 8e93f562d4..f8011cd5c0 100644 --- a/lib/public_key/doc/src/public_key.xml +++ b/lib/public_key/doc/src/public_key.xml @@ -75,7 +75,7 @@

Data Types

-

oid() - a tuple of integers as generated by the ASN1 compiler.

+

oid() - Object Identifier, a tuple of integers as generated by the ASN1 compiler.

boolean() = true | false

diff --git a/lib/public_key/doc/src/public_key_records.xml b/lib/public_key/doc/src/public_key_records.xml index 13bb996f7f..d3534846fa 100644 --- a/lib/public_key/doc/src/public_key_records.xml +++ b/lib/public_key/doc/src/public_key_records.xml @@ -5,7 +5,7 @@
2008 - 2013 + 2014 Ericsson AB, All Rights Reserved @@ -35,17 +35,27 @@

This chapter briefly describes Erlang records derived from ASN1 - specifications used to handle public and private keys. The intent - is to describe the data types and not to specify the meaning of - each component for this we refer you to the relevant standards and RFCs.

+ specifications used to handle public and private keys. + The intent is to describe the data types + and not to specify the semantics of each component. For information on the + semantics, please see the relevant standards and RFCs.

Use the following include directive to get access to the - records and constant macros used in the following sections.

+ records and constant macros described in the following sections.

-include_lib("public_key/include/public_key.hrl"). +
+ Common Data Types + +

Common non-standard Erlang + data types used to described the record fields in the + below sections are defined in public key reference manual

+
+
- RSA as defined by the PKCS-1 standard and RFC 3447. + RSA as defined by the PKCS-1 standard and <url href="http://www.ietf.org/rfc/rfc3447.txt"> RFC 3447 </url> #'RSAPublicKey'{ @@ -76,7 +86,8 @@
- DSA as defined by Digital Signature Standard (NIST FIPS PUB 186-2) + <title>DSA as defined by + <url href="http://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdf"> Digital Signature Standard (NIST FIPS PUB 186-2) </url> @@ -96,4 +107,47 @@ }.
+ +
+ ECC (Elliptic Curve) <url href="http://www.ietf.org/rfc/rfc3447.txt"> RFC 5480 </url> + + + +#'ECPrivateKey'{ + version, % integer() + privateKey, % octet_string() + parameters, % der_encoded() - {'EcpkParameters', #'ECParameters'{}} | + {'EcpkParameters', {namedCurve, oid()}} | + {'EcpkParameters', 'NULL'} % Inherited by CA + publicKey % bitstring() + }. + +#'ECParameters'{ + version, % integer() + fieldID, % #'FieldID'{} + curve, % #'Curve'{} + base, % octet_string() + order, % integer() + cofactor % integer() + }. + +#'Curve'{ + a, % octet_string() + b, % octet_string() + seed % bitstring() - optional + + }. + +#'FieldID'{ + fieldType, % oid() + parameters % Depending on fieldType + }. + +#'ECPoint'{ + point % octet_string() - the public key + }. + + +
+ -- cgit v1.2.3