Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables  | All
Print Page as PDF
Routine: PSNOSKEY

Package: National Drug File

Routine: PSNOSKEY


Information

PSNOSKEY ;BIR/SJA-PPS-N SSH Key Management ;09/16/2016

Source Information

Source file <PSNOSKEY.m>

Call Graph

Call Graph

Call Graph Total: 12

Package Total Call Graph
Kernel 8 ($$FTG,CLOSE,DEL,OPEN)^%ZISH  USE^%ZISUTL  $$OS^%ZOSV  ^%ZTLOAD  ($$FMTHL7,$$HTFM,$$NOW)^XLFDT  $$LOW^XLFSTR  SIG^XUSESIG  ($$DECRYP,$$ENCRYP)^XUSRB1  
VA FileMan 3 (,UPDATE)^DIE  $$GET1^DIQ  ^DIR  
National Drug File 1 ($$DIREXIST,MAKEDIR)^PSNFTP2  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 2

Package Total Caller Graph
Kernel 1 ^DIC(19  
National Drug File 1 PSN PPS SSH KEY MANAGEMENT  

Entry Points

Name Comments DBIA/ICR reference
EN ; -- Entry point
ACTION ; -- SSH Key Action
END ;
NEWKEY(ENCRTYPE) ; Generate and store a pair of SSH keys
; Input: (o) ENCRTYPE - SSH Encryption Type (DSA/RSA) (Default: DSA)
RETRIEVE(KTYPE) ; Retrieve the SSH Key into the ^TMP global
; (o) KTYPE - SSH Key Type (PUB - Public/PRV - PRivate) (Default: Public)
VIEW ; Displays the SSH Public Key
; ^TMP("PSNPUBKY",$J,0)="SSH Key Format (SSH2/OpenSSH)^Encryption Type (DSA/RSA)"
; ^TMP("PSNPUBKY",$J,1-N)=[SSH Key Content]
DELETE ; Delete Both SSH Keys associated
OPENSSH() ; Returns the SSH Public Key in OpenSSH Format (Converts if necessary)
ENDOS() ; Returns the Backend Server Operating System (OS)
SETOS(JOB) ; Sets the Operating Systems in ^XTMP("PSNKEY",$J,"OS") (Called via Taskman)
HELP ; Encryption Type Help
HELP1 ; Encryption Type Help
PAUSE ; Pauses screen until user hits Return
ASK() ; confirm creating new pair

External References

Name Field # of Occurrence
$$FTG^%ZISH NEWKEY+31, NEWKEY+34
CLOSE^%ZISH NEWKEY+19
DEL^%ZISH NEWKEY+38
OPEN^%ZISH NEWKEY+15
USE^%ZISUTL NEWKEY+16
$$OS^%ZOSV NEWKEY+4, ENDOS+10, SETOS+2
^%ZTLOAD ACTION+37, ENDOS+7
^DIE NEWKEY+56, DELETE+2
UPDATE^DIE NEWKEY+51
$$GET1^DIQ ACTION+19, NEWKEY+5, RETRIEVE+7, RETRIEVE+12
^DIR ACTION+3, ACTION+25, ACTION+30, ACTION+53, PAUSE+1, ASK+4
$$DIREXIST^PSNFTP2 NEWKEY+25
MAKEDIR^PSNFTP2 NEWKEY+25
$$FMTHL7^XLFDT NEWKEY+8
$$HTFM^XLFDT NEWKEY+8
$$NOW^XLFDT ACTION+36, ENDOS+7
$$LOW^XLFSTR NEWKEY+18, NEWKEY+26
SIG^XUSESIG ACTION+10
$$DECRYP^XUSRB1 RETRIEVE+10
$$ENCRYP^XUSRB1 NEWKEY+48, NEWKEY+49

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !
  • Line Location: ACTION+13
Function Call: WRITE
  • Prompt: !!,"No action taken!",$C(7)
  • Line Location: ACTION+17
Function Call: WRITE
  • Prompt: "Done",$C(7)
  • Line Location: ACTION+45
Function Call: WRITE
  • Prompt: !!,"[No SSH Key Pair found]",$C(7)
  • Line Location: ACTION+50
Function Call: WRITE
  • Prompt: "Done",$C(7)
  • Line Location: ACTION+54
Function Call: WRITE
  • Prompt: !,"Public SSH Key (",$P($G(^TMP("PSNPUBKY",$J,0)),"^",2),") content (does not include dash lines):"
  • Line Location: VIEW+5
Function Call: WRITE
  • Prompt: !,DASHLN
  • Line Location: VIEW+6
Function Call: WRITE
  • Prompt: !,$E(SSHKEY,1,80)
  • Line Location: VIEW+7
Function Call: WRITE
  • Prompt: !,DASHLN
  • Line Location: VIEW+8
Function Call: WRITE
  • Prompt: !!,"Secure SHell (SSH) Encryption Keys are used to allow data file download."
  • Line Location: HELP+1
Function Call: WRITE
  • Prompt: !,"Follow the steps below to successfully setup data file download from Austin "
  • Line Location: HELP+2
Function Call: WRITE
  • Prompt: !,"server to VistA sites:",!
  • Line Location: HELP+3
Function Call: WRITE
  • Prompt: !,"Step 1: Select the 'C' (Create New SSH Key Pair) Action and follow the prompts"
  • Line Location: HELP+4
Function Call: WRITE
  • Prompt: !," to create a new pair of SSH keys. If you already have an existing SSH"
  • Line Location: HELP+5
Function Call: WRITE
  • Prompt: !," Key Pair you can skip this step."
  • Line Location: HELP+6
Function Call: WRITE
  • Prompt: !," You can check whether you already have an existing SSH Key Pair"
  • Line Location: HELP+7
Function Call: WRITE
  • Prompt: !," through the 'V' (View Public SSH Key) Action."
  • Line Location: HELP+8
Function Call: WRITE
  • Prompt: !,""
  • Line Location: HELP+9
Function Call: WRITE
  • Prompt: !!,"Step 2: Share the Public SSH Key content with the PPS-N SFTP server (Austin)."
  • Line Location: HELP+11
Function Call: WRITE
  • Prompt: !," Inorder to successfully establish the data download files, the SFTP "
  • Line Location: HELP+12
Function Call: WRITE
  • Prompt: !," server at Austin needs to install/configure the new SSH Key created in"
  • Line Location: HELP+13
Function Call: WRITE
  • Prompt: !," step 1 for the user id they assigned to your site. Use the 'V' (View "
  • Line Location: HELP+14
Function Call: WRITE
  • Prompt: !," Public SSH Key) Action to retrieve the content of the Public SSH key."
  • Line Location: HELP+15
Function Call: WRITE
  • Prompt: !," The Public SSH Key should not contain line-feed characters, therefore "
  • Line Location: HELP+16
Function Call: WRITE
  • Prompt: !," after you copy & paste it from the terminal emulator into an email or "
  • Line Location: HELP+17
Function Call: WRITE
  • Prompt: !," text editor make sure it contains only one line of text (no wrapping)."
  • Line Location: HELP+18
Function Call: WRITE
  • Prompt: !," Encryption Type: RSA or DSA?"
  • Line Location: HELP1+1
Function Call: WRITE
  • Prompt: !," ----------------------------"
  • Line Location: HELP1+2
Function Call: WRITE
  • Prompt: !," The Rivest, Shamir & Adleman (RSA) and Digital Signature Algorithm"
  • Line Location: HELP1+3
Function Call: WRITE
  • Prompt: !," (DSA) are two of the most common encryption algorithms used in IT "
  • Line Location: HELP1+4
Function Call: WRITE
  • Prompt: !," industry for securely sharing data."
  • Line Location: HELP1+5
Function Call: WRITE
  • Prompt: !
  • Line Location: PAUSE+1
Function Call: WRITE
  • Prompt: !!
  • Line Location: ASK+3
Routine Call
  • DIE
  • Line Location:
    • NEWKEY+56
    • DELETE+2
Routine Call
  • DIE
  • Line Location:
    • NEWKEY+51
Routine Call
  • DIR
  • Line Location:
    • ACTION+3
    • ACTION+25
    • ACTION+30
    • ACTION+53
    • PAUSE+1
    • ASK+4

FileMan Files Accessed Via FileMan Db Call

FileNo Call Tags
^PS(57.23 - [#57.23] Classic Fileman Calls,  GET1^DIQ

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^TMP( NEWKEY+43, NEWKEY+46, NEWKEY+47, NEWKEY+48, NEWKEY+52!, RETRIEVE+9!, RETRIEVE+10*, RETRIEVE+11, RETRIEVE+12*
^TMP("PSNPRVKY" NEWKEY+29!, NEWKEY+31, NEWKEY+32, DELETE+3!
^TMP("PSNPUBKY" ACTION+7!, ACTION+8, ACTION+27, ACTION+33, ACTION+37!, ACTION+38, ACTION+40, ACTION+42, ACTION+50, NEWKEY+29!
, NEWKEY+34, NEWKEY+35, VIEW+5, DELETE+3!, OPENSSH+6, OPENSSH+7, OPENSSH+8, OPENSSH+9, OPENSSH+10, OPENSSH+13
, OPENSSH+14, ASK+1
^XTMP("PSNKEY" ENDOS+4!, ENDOS+8, ENDOS+9!, SETOS+2*
^XUSEC("PSN PPS COORD" ACTION+5

Label References

Name Line Occurrences
$$ASK ACTION+17
$$ENDOS ACTION+18
$$OPENSSH VIEW+4
ACTION ACTION+5, ACTION+8, ACTION+10, ACTION+13, ACTION+16, ACTION+48, ACTION+56, ACTION+57
DELETE ACTION+33, ACTION+54, NEWKEY+10
END ACTION+4
HELP ACTION+56
HELP1 HELP+10
NEWKEY ACTION+41
PAUSE ACTION+9, ACTION+13, ACTION+22, ACTION+44, HELP+10
RETRIEVE ACTION+7, ACTION+38, ACTION+41, ACTION+49
VIEW ACTION+13

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
COMFILE NEWKEY+14~*, NEWKEY+15, NEWKEY+20, NEWKEY+21
DA NEWKEY+3~, NEWKEY+55*, DELETE+1~, DELETE+2*
DASHLN VIEW+3~, VIEW+4*, VIEW+6, VIEW+8
DIE NEWKEY+3~, NEWKEY+55!*, DELETE+1~, DELETE+2*
DIR EN+1~, ACTION+1!, ACTION+23!, ACTION+29!, ACTION+52!, PAUSE+1!, ASK+2!
DIR("?" ACTION+23*, ASK+2*
DIR("A" ACTION+1*, ACTION+23*, ACTION+29*, ACTION+52*, PAUSE+1*, ASK+3*
DIR("B" ACTION+2*, ACTION+25*, ACTION+29*, ACTION+52*, ASK+4*
DIR(0 ACTION+2*, ACTION+24*, ACTION+29*, ACTION+52*, PAUSE+1*, ASK+2*
DIRUT ACTION+4, ACTION+25, ACTION+30, ACTION+53, ASK+2!
DR NEWKEY+3~, NEWKEY+56*, DELETE+1~, DELETE+2*
DTE NEWKEY+3~, NEWKEY+8*, NEWKEY+14
DUOUT ACTION+4, ACTION+25, ACTION+30, ACTION+53, ASK+2!
DUZ ACTION+5
ENCRTYPE ACTION+26*, ACTION+36, ACTION+41, NEWKEY~, NEWKEY+6*, NEWKEY+18, NEWKEY+26, NEWKEY+56, OPENSSH+4~, OPENSSH+7*
, OPENSSH+11
ENDOS ENDOS+3~, ENDOS+5*, ENDOS+8*, ENDOS+10
FILE2DEL NEWKEY+3~
FILE2DEL( NEWKEY+21*, NEWKEY+27*
I ACTION+38*, ENDOS+3~, ENDOS+8*
>> IOBOFF ACTION+28, ACTION+51
>> IOBON ACTION+28, ACTION+51
JOB SETOS~, SETOS+2
KEYFILE NEWKEY+3~, NEWKEY+8*, NEWKEY+18, NEWKEY+21, NEWKEY+26, NEWKEY+27, NEWKEY+31, NEWKEY+34, NEWKEY+57
KTYPE RETRIEVE~, RETRIEVE+6*, RETRIEVE+7, RETRIEVE+8
KYTXT NEWKEY+3~, NEWKEY+42!, RETRIEVE+5~
KYTXT( NEWKEY+48*, RETRIEVE+10
KYTXT(1 NEWKEY+46*, NEWKEY+47*, NEWKEY+49*
LN NEWKEY+3~, NEWKEY+43*, NEWKEY+46, NEWKEY+47, NEWKEY+48, RETRIEVE+5~, RETRIEVE+10*, OPENSSH+4~, OPENSSH+8*, OPENSSH+9
, OPENSSH+10, OPENSSH+13*, OPENSSH+14
LOCALDIR EN+1~, ACTION+19*, ACTION+20, NEWKEY+3~, NEWKEY+5*, NEWKEY+15, NEWKEY+18, NEWKEY+20, NEWKEY+25, NEWKEY+26
, NEWKEY+31, NEWKEY+34, NEWKEY+38
OPENSSH OPENSSH+4~, OPENSSH+5*, OPENSSH+7*, OPENSSH+10*, OPENSSH+11*, OPENSSH+14*, OPENSSH+15
OVFLN NEWKEY+3~, NEWKEY+46*, NEWKEY+47
PSNOS EN+1~, ACTION+18*, ACTION+19, ACTION+21, NEWKEY+3~, NEWKEY+4*, NEWKEY+5, NEWKEY+13, NEWKEY+24, NEWKEY+31
, NEWKEY+34, NEWKEY+45, NEWKEY+49, NEWKEY+56
PSNSPC NEWKEY+3~, NEWKEY+41*, NEWKEY+43, NEWKEY+45, NEWKEY+46, NEWKEY+47, NEWKEY+48, NEWKEY+49, NEWKEY+50, NEWKEY+52
, RETRIEVE+5~, RETRIEVE+8*, RETRIEVE+9, RETRIEVE+10, RETRIEVE+11, RETRIEVE+12
PV NEWKEY+3~
SAVEKEY NEWKEY+3~, NEWKEY+42!
SAVEKEY( NEWKEY+50*
SSHKEY VIEW+3~, VIEW+4*, VIEW+7*
X EN+1~, ACTION+10, NEWKEY+31*, NEWKEY+34*, RETRIEVE+5~, RETRIEVE+7*, ASK+2!
X1 EN+1~, ACTION+10
Y EN+1~, ACTION+5, ACTION+8, ACTION+10, ACTION+13, ACTION+16, ACTION+26, ACTION+30, ACTION+48, ACTION+53
ACTION+56, ASK+1~*, ASK+2!, ASK+5
ZTDESC ACTION+35~, ACTION+36*, ENDOS+3~, ENDOS+6*
ZTDTH ACTION+35~, ACTION+36*, ENDOS+3~, ENDOS+7*
ZTIO ACTION+35~, ACTION+36*, ENDOS+3~, ENDOS+5*
ZTRTN ACTION+35~, ACTION+36*, ENDOS+3~, ENDOS+5*
ZTSK ACTION+35~, ACTION+37!, ENDOS+3~
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables  | All