⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 viewkey.cpp

📁 伯克利做的SFTP安全文件传输协议
💻 CPP
字号:
//  $Archive:: /STP/viewkey/viewkey.cpp                               $//     $Date: 1999/10/08 07:00:51 $// $Revision: 1.9 $// Description: Viewkey main// copyright SafeTP Development Group, Inc., 2000  Terms of use are as specified in license.txt #include <stdio.h>#include <stdlib.h>#include <string.h>#include "keyutils.h"#include "sdsa.h"#include "base64.h"#include "str.h"#include "datablok.h"#include "security.h"#include "sftpver.h"      // SFTP_versionvoid Usage(char* argvzero) {  fprintf(stderr, "viewkey version %s\n", SFTP_version);  fprintf(stderr, "Usage:\n");  fprintf(stderr, "  %s <keyname>\n\n", argvzero);  fprintf(stderr, "Example:\n");  fprintf(stderr, "  %s DSA/public.key\n", argvzero);  exit(1);  }// make argument relative to cwdstring userConfigDir(){  return string(".");}int main(int argc, char** argv) {  if (argc != 2) Usage(argv[0]);    string pathname(argv[1]);  DataBlock key(4096);  bool isDSAkey = !!strstr(pathname, "DSA");  bool ispublickey = !!strstr(pathname, "public");  if (!LoadKey(pathname, key, isDSAkey)) {    fprintf(stderr, "Key %s not found.\n", pathname.pchar());    return 1;    }  //unsigned long checksum = GetKeyChecksum(key.getData(), key.getDataLen());  string branding;  string shaString = GetKeyShaString(key);  if (isDSAkey && ispublickey) {    try {      DSABrandedPublicKey branded(key);      branding = branded.getName();      }    catch (xSecurity&) {      branding = "WARNING: This key is corrupted or has been tampered with.";      }    }  if (key.getAllocated() < key.getDataLen() * 2)    key.setAllocated(key.getDataLen() * 2);  key.setDataLen(base64enc(key.getData(),key.getData(),key.getDataLen()));  key.setDataLen(ReformatKey((char*)key.getData()));  char line[255];  for (int i=0; i < KEY_LINE_LENGTH; i++) line[i] = '-';  line[KEY_LINE_LENGTH] = '\0';  printf("Key: %s\n", pathname.pchar());  printf("%s\n",line);  printf("%s",key.getData());  printf("%s\n",line);  if (isDSAkey && ispublickey) {    printf("Branding: %s\n",branding.pchar());    printf("Sha:      %s\n", shaString.pcharc());    printf("%s\n",line);    }  // printf("Checksum: 0x%08lX\n",checksum);  printf("%s\n",line);  return 0;  } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -