2019-08-22 14:49:30 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 10:08:05 +02:00
<class name= "CryptoKey" inherits= "Resource" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2019-08-22 14:49:30 +02:00
<brief_description >
2024-04-30 08:53:24 +02:00
A cryptographic key (RSA or elliptic-curve).
2019-08-22 14:49:30 +02:00
</brief_description>
<description >
2019-09-23 18:16:41 +02:00
The CryptoKey class represents a cryptographic key. Keys can be loaded and saved like any other [Resource].
2022-09-07 00:46:12 +02:00
They can be used to generate a self-signed [X509Certificate] via [method Crypto.generate_self_signed_certificate] and as private key in [method StreamPeerTLS.accept_stream] along with the appropriate certificate.
2019-08-22 14:49:30 +02:00
</description>
<tutorials >
2023-08-15 12:14:01 +02:00
<link title= "SSL certificates" > $DOCS_URL/tutorials/networking/ssl_certificates.html</link>
2019-08-22 14:49:30 +02:00
</tutorials>
<methods >
2020-06-18 12:39:56 +02:00
<method name= "is_public_only" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2020-06-18 12:39:56 +02:00
<description >
2022-01-02 18:32:49 +01:00
Returns [code]true[/code] if this CryptoKey only has the public part, and not the private one.
2020-06-18 12:39:56 +02:00
</description>
</method>
2019-08-22 14:49:30 +02:00
<method name= "load" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "Error" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "path" type= "String" />
<param index= "1" name= "public_only" type= "bool" default= "false" />
2020-06-18 12:39:56 +02:00
<description >
2022-08-12 19:13:27 +02:00
Loads a key from [param path]. If [param public_only] is [code]true[/code], only the public key will be loaded.
[b]Note:[/b] [param path] should be a "*.pub" file if [param public_only] is [code]true[/code], a "*.key" file otherwise.
2020-06-18 12:39:56 +02:00
</description>
</method>
<method name= "load_from_string" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "Error" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "string_key" type= "String" />
<param index= "1" name= "public_only" type= "bool" default= "false" />
2019-08-22 14:49:30 +02:00
<description >
2022-08-12 19:13:27 +02:00
Loads a key from the given [param string_key]. If [param public_only] is [code]true[/code], only the public key will be loaded.
2019-08-22 14:49:30 +02:00
</description>
</method>
<method name= "save" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "Error" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "path" type= "String" />
<param index= "1" name= "public_only" type= "bool" default= "false" />
2020-06-18 12:39:56 +02:00
<description >
2022-08-12 19:13:27 +02:00
Saves a key to the given [param path]. If [param public_only] is [code]true[/code], only the public key will be saved.
[b]Note:[/b] [param path] should be a "*.pub" file if [param public_only] is [code]true[/code], a "*.key" file otherwise.
2020-06-18 12:39:56 +02:00
</description>
</method>
<method name= "save_to_string" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "public_only" type= "bool" default= "false" />
2019-08-22 14:49:30 +02:00
<description >
2022-08-12 19:13:27 +02:00
Returns a string containing the key in PEM format. If [param public_only] is [code]true[/code], only the public key will be included.
2019-08-22 14:49:30 +02:00
</description>
</method>
</methods>
</class>