blob: 6cc6773bc959394a36d0c90009c046c35070df1b [file] [log] [blame]
SafeBag Format for Exported Credentials
=======================================
Sometimes, one may need to export credentials (e.g., certificate and private key) from
one machine, and import them into another machine. This requires a secured container for
sensitive information. We define **SafeBag**, which contains both an NDN certificate
(:doc:`version 2.0 <certificate>`) and the corresponding private key, which is encrypted
in `PKCS #8 format <https://tools.ietf.org/html/rfc5208>`_.
The format of **SafeBag** is defined as:
.. code-block:: abnf
SafeBag = SAFE-BAG-TYPE TLV-LENGTH
CertificateV2
EncryptedKeyBag
EncryptedKeyBag = ENCRYPTED-KEY-BAG-TYPE TLV-LENGTH
*OCTET ; private key encrypted in PKCS #8 format
All TLV-TYPE numbers are application specific:
+---------------------------------------------+------------------+-----------------+
| Type | Assigned number | Assigned number |
| | (decimal) | (hexadecimal) |
+=============================================+==================+=================+
| SafeBag | 128 | 0x80 |
+---------------------------------------------+------------------+-----------------+
| EncryptedKeyBag | 129 | 0x81 |
+---------------------------------------------+------------------+-----------------+