Class PrivateKeyFile
- Namespace
- Renci.SshNet
- Assembly
- Renci.SshNet.dll
Represents private key information.
public class PrivateKeyFile : IPrivateKeySource, IDisposable
Inheritance
Implements
Inherited Members
Remarks
The following private keys are supported:
- RSA in OpenSSL PEM, ssh.com and OpenSSH key format
- DSA in OpenSSL PEM and ssh.com format
- ECDSA 256/384/521 in OpenSSL PEM and OpenSSH key format
- ED25519 in OpenSSL PEM and OpenSSH key format
The following encryption algorithms are supported for OpenSSL traditional PEM:
- DES-EDE3-CBC
- DES-EDE3-CFB
- DES-CBC
- AES-128-CBC
- AES-192-CBC
- AES-256-CBC
Private keys in OpenSSL PKCS#8 PEM format can be encrypted using any cipher method BouncyCastle supports.
The following encryption algorithms are supported for ssh.com format:
- 3des-cbc
The following encryption algorithms are supported for OpenSSH format:
- 3des-cbc
- aes128-cbc
- aes192-cbc
- aes256-cbc
- aes128-ctr
- aes192-ctr
- aes256-ctr
- aes128-gcm@openssh.com
- aes256-gcm@openssh.com
- chacha20-poly1305@openssh.com
Constructors
PrivateKeyFile(Key)
Initializes a new instance of the Renci.SshNet.PrivateKeyFile class.
public PrivateKeyFile(Key key)
Parameters
key
Key-
The key.
PrivateKeyFile(Stream)
Initializes a new instance of the Renci.SshNet.PrivateKeyFile class.
public PrivateKeyFile(Stream privateKey)
Parameters
privateKey
Stream-
The private key.
PrivateKeyFile(string)
Initializes a new instance of the Renci.SshNet.PrivateKeyFile class.
public PrivateKeyFile(string fileName)
Parameters
fileName
string-
The path of the private key file.
Remarks
This method calls System.IO.File.Open(System.String,System.IO.FileMode) internally, this method does not catch exceptions from System.IO.File.Open(System.String,System.IO.FileMode).
Exceptions
- ArgumentNullException
-
fileName
is null.
PrivateKeyFile(string, string?)
Initializes a new instance of the Renci.SshNet.PrivateKeyFile class.
public PrivateKeyFile(string fileName, string? passPhrase)
Parameters
fileName
string-
The path of the private key file.
passPhrase
string?-
The pass phrase for the private key.
Remarks
This method calls System.IO.File.Open(System.String,System.IO.FileMode) internally, this method does not catch exceptions from System.IO.File.Open(System.String,System.IO.FileMode).
Exceptions
- ArgumentNullException
-
fileName
is null.
PrivateKeyFile(string, string?, string?)
Initializes a new instance of the Renci.SshNet.PrivateKeyFile class.
public PrivateKeyFile(string fileName, string? passPhrase, string? certificateFileName)
Parameters
fileName
string-
The path of the private key file.
passPhrase
string?-
The pass phrase for the private key.
certificateFileName
string?-
The path of a certificate file which certifies the private key.
Exceptions
- ArgumentNullException
-
fileName
is null.
PrivateKeyFile(Stream, string?)
Initializes a new instance of the Renci.SshNet.PrivateKeyFile class.
public PrivateKeyFile(Stream privateKey, string? passPhrase)
Parameters
Exceptions
- ArgumentNullException
-
privateKey
is null.
PrivateKeyFile(Stream, string?, Stream?)
Initializes a new instance of the Renci.SshNet.PrivateKeyFile class.
public PrivateKeyFile(Stream privateKey, string? passPhrase, Stream? certificate)
Parameters
privateKey
Stream-
The private key.
passPhrase
string?-
The pass phrase for the private key.
certificate
Stream?-
A certificate which certifies the private key.
Properties
Certificate
Gets the public key certificate associated with this key, or null if no certificate data has been passed to the constructor.
public Certificate? Certificate { get; }
Property Value
HostKeyAlgorithms
Gets the supported host algorithms for this key file.
public IReadOnlyCollection<HostAlgorithm> HostKeyAlgorithms { get; }
Property Value
Key
Gets the key.
public Key Key { get; }
Property Value
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Dispose(bool)
Releases unmanaged and - optionally - managed resources.
protected virtual void Dispose(bool disposing)