The following is an Assembler exit supplied by a vendor to call Top Secret to verify login credentials. The exit works fine with passwords, but not with passphrase.
VEROPW01 DS 0H
MODESET MODE=SUP SWITCH TO SUPERVISOR STATE
LA R3,USERIDLN POINT TO USERID LENGTH/USERI
LA R4,PASSWDLN POINT TO PASSWORD LENGTH/PAS
LA R5,RR1AREA LOAD ADDRESS OF RACROUTE PLI
LA R7,PwdPhrLen Point R7 to Pswd Phrase in
LA R8,NewPhrLen Point R8 to new Pswd Phras
*****************************************************************
* CALL TOP SECRET TO VERIFY USERID AND PASSWORD
*****************************************************************
RACROUTE REQUEST=VERIFY,USERID=(3),PASSWRD=(4),
PHRASE=(7),RELEASE=7730,
ENVIR=CREATE,ACEE=ACEEADDR,SUBPOOL=0,WORKA=SAFWORK
MF=(E,(5))
Release : 16.0
Component : CA Top Secret for z/OS
VEROPW01 DS 0H
MODESET MODE=SUP SWITCH TO SUPERVISOR STATE
LA R3,USERIDLN POINT TO USERID LENGTH/USERI
LA R4,PASSWDLN POINT TO PASSWORD LENGTH/PAS <<< - if phrase - remove this line
LA R5,RR1AREA LOAD ADDRESS OF RACROUTE PLI
LA R7,PwdPhrLen Point R7 to Pswd Phrase in
LA R8,NewPhrLen Point R8 to new Pswd Phras
******************************
* CALL TOP SECRET TO VERIFY USERID AND PASSWORD
******************************
RACROUTE REQUEST=VERIFY,USERID=(3),PASS
PHRASE=(7),RELEASE=7730,NEWPH
ENVIR=CREATE,ACEE=ACEEADDR,
MF=(E,(5))