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-29 23:53:24 -07: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 21:11:48 +03: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 13:13:27 -04: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 21:11:48 +03: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 13:13:27 -04: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 21:11:48 +03: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 13:13:27 -04: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 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "public_only"  type= "bool"  default= "false"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-22 14:49:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:13:27 -04: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>