Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
Convert PuTTY Private Key (ppk) to OpenSSH (pem)Convert a PuTTY format private key file (.ppk) to OpenSSH (.pem).
CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @sTmp0 nvarchar(4000) DECLARE @key int EXEC @hr = sp_OACreate 'Chilkat.SshKey', @key OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int -- Load an unencrypted or encrypted PuTTY private key. -- If your PuTTY private key is encrypted, set the Password -- property before calling FromPuttyPrivateKey. -- If your PuTTY private key is not encrypted, it makes no diffference -- if Password is set or not set. EXEC sp_OASetProperty @key, 'Password', 'secret' -- First load the .ppk file into a string: DECLARE @keyStr nvarchar(4000) EXEC sp_OAMethod @key, 'LoadText', @keyStr OUT, 'putty_private_key.ppk' -- Import into the SSH key object: EXEC sp_OAMethod @key, 'FromPuttyPrivateKey', @success OUT, @keyStr IF @success <> 1 BEGIN EXEC sp_OAGetProperty @key, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- Convert to an encrypted or unencrypted OpenSSH key. -- First demonstrate converting to an unencrypted OpenSSH key DECLARE @unencryptedKeyStr nvarchar(4000) DECLARE @bEncrypt int SELECT @bEncrypt = 0 EXEC sp_OAMethod @key, 'ToOpenSshPrivateKey', @unencryptedKeyStr OUT, @bEncrypt EXEC sp_OAMethod @key, 'SaveText', @success OUT, @unencryptedKeyStr, 'unencrypted_openssh.pem' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @key, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- Save to an encrypted OpenSSH PEM file: DECLARE @encryptedKeyStr nvarchar(4000) SELECT @bEncrypt = 1 EXEC sp_OASetProperty @key, 'Password', 'myPassword' EXEC sp_OAMethod @key, 'ToOpenSshPrivateKey', @encryptedKeyStr OUT, @bEncrypt EXEC sp_OAMethod @key, 'SaveText', @success OUT, @encryptedKeyStr, 'encrypted_openssh.pem' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @key, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END PRINT 'Done!' END GO |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.