2019-08-22 20:49:30 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 16:08:05 +08:00
<class name= "CryptoKey" inherits= "Resource" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2019-08-22 20:49:30 +08:00
<brief_description >
2019-09-24 00:16:41 +08:00
A cryptographic key (RSA).
2019-08-22 20:49:30 +08:00
</brief_description>
<description >
2019-09-24 00:16:41 +08:00
The CryptoKey class represents a cryptographic key. Keys can be loaded and saved like any other [Resource].
2022-09-07 06:46:12 +08: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 20:49:30 +08:00
</description>
<tutorials >
2023-08-15 18:14:01 +08:00
<link title= "SSL certificates" > $DOCS_URL/tutorials/networking/ssl_certificates.html</link>
2019-08-22 20:49:30 +08:00
</tutorials>
<methods >
2020-06-18 18:39:56 +08:00
<method name= "is_public_only" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "bool" />
2020-06-18 18:39:56 +08:00
<description >
2022-01-03 01:32:49 +08:00
Returns [code]true[/code] if this CryptoKey only has the public part, and not the private one.
2020-06-18 18:39:56 +08:00
</description>
</method>
2019-08-22 20:49:30 +08:00
<method name= "load" >
2021-07-30 21:28:05 +08:00
<return type= "int" enum= "Error" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "path" type= "String" />
<param index= "1" name= "public_only" type= "bool" default= "false" />
2020-06-18 18:39:56 +08:00
<description >
2022-08-13 01:13:27 +08: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 18:39:56 +08:00
</description>
</method>
<method name= "load_from_string" >
2021-07-30 21:28:05 +08:00
<return type= "int" enum= "Error" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "string_key" type= "String" />
<param index= "1" name= "public_only" type= "bool" default= "false" />
2019-08-22 20:49:30 +08:00
<description >
2022-08-13 01:13:27 +08: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 20:49:30 +08:00
</description>
</method>
<method name= "save" >
2021-07-30 21:28:05 +08:00
<return type= "int" enum= "Error" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "path" type= "String" />
<param index= "1" name= "public_only" type= "bool" default= "false" />
2020-06-18 18:39:56 +08:00
<description >
2022-08-13 01:13:27 +08: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 18:39:56 +08:00
</description>
</method>
<method name= "save_to_string" >
2021-07-30 21:28:05 +08:00
<return type= "String" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "public_only" type= "bool" default= "false" />
2019-08-22 20:49:30 +08:00
<description >
2022-08-13 01:13:27 +08: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 20:49:30 +08:00
</description>
</method>
</methods>
</class>