📄 exampsam.frm
字号:
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0004050f000619")
If Not mbRet Then MsgBox MW.Errshow
'建结束DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "0100000f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "0100480f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.sam_INIT_FOR_DESCRYPT_Psam("48", "01", "12345678901234561234567890123456")
If Not mbRet Then MsgBox MW.Errshow
Dim psRet As String
mbRet = MW.Sam_DES_CRYPT_Psam("00", "1234567890123456", psRet)
'mbRet = mw.Sam_DES_CRYPT_Psam("05", "12345678901234561234567890123456", psRet)
If Not mbRet Then MsgBox MW.Errshow
End Sub
Private Sub Internal_authentication_Click()
'上卡座
mbRet = MW.Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Delete
If Not mbRet Then MsgBox MW.Errshow
'建MF
mbRet = MW.Create_File_Psam(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建DF
mbRet = MW.Create_File_Psam(geU_CreateDF, "00020f001234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Create_File_Psam(geU_CreateEF, "0003000f0f0020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Create_File_Psam(geU_CreateEF, "0004050f000619")
If Not mbRet Then MsgBox MW.Errshow
'建结束DF
mbRet = MW.Create_File_Psam(geU_CreateEndDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Create_File_Psam(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Select_File_Psam(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Select_File_Psam(geU_SelectDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Write_Key_Psam(geU_WordInstall, "", "", "0100090f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
'下卡座
mbRet = MW.Sam_Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Delete
If Not mbRet Then MsgBox MW.Errshow
'建MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateDF, "00020f001234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0003000f0f0020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0004050f000619")
If Not mbRet Then MsgBox MW.Errshow
'建结束DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "0100000f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
'**********************************
Dim pbRandom(8) As Byte
Dim pbOut(8) As Byte
mbRet = MW.Sam_Get_Challenge_Psam(geU_Random8, pbRandom())
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Internal_Authentication_Psam("01", pbRandom(), pbOut())
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_External_Authentication_Psam("01", pbOut())
If Not mbRet Then MsgBox MW.Errshow
End Sub
Private Sub OUT_KEY_Click()
'此例子程序从PSAM母卡中导出密钥到用户卡中,上卡座为用户卡,下卡座为PSAM母卡.
'上卡座
mbRet = MW.Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Delete
If Not mbRet Then MsgBox MW.Errshow
'**********************************
'建MF
mbRet = MW.Create_File(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建DF
mbRet = MW.Create_File(geU_CreateDF, "00020f001234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Create_File(geU_CreateEF, "0003000f000020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Create_File(geU_CreateEF, "0004050f000619")
If Not mbRet Then MsgBox MW.Errshow
'建结束DF
mbRet = MW.Create_File(geU_CreateEndDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Create_File(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Select_File(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Select_File(geU_SelectDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'下卡座
mbRet = MW.Sam_Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Delete
If Not mbRet Then MsgBox MW.Errshow
'建MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateDF, "00020f001234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0003000f0f0020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0004050f000619")
If Not mbRet Then MsgBox MW.Errshow
'建结束DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "0100000f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "01008D0f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "01000E0f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
Dim psRet As String
mbRet = MW.Sam_OUT_KEY_Psam("80", "01", "1234567890123456", psRet)
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Write_Key(geU_WordInstall, "", "", "010100010f000fff" + psRet)
If Not mbRet Then MsgBox MW.Errshow
End Sub
Private Sub OUT_KEY1_Click()
'此例子程序从PSAM母卡中导出密钥到用户卡中,上卡座为用户卡,下卡座为PSAM母卡.
'上卡座
mbRet = MW.Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Delete
If Not mbRet Then MsgBox MW.Errshow
'**********************************
'建MF
mbRet = MW.Create_File(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Create_File(geU_CreateEF, "0003000f000020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Create_File(geU_CreateEF, "0004050f800619")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Create_File(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Select_File(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Write_Key(geU_EncryptInstall, "", "ffffffffffffffff", "010100080f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
'下卡座
mbRet = MW.Sam_Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Delete
If Not mbRet Then MsgBox MW.Errshow
'建MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateDF, "00020f001234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0003000f0f0020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0004050f000619")
If Not mbRet Then MsgBox MW.Errshow
'建结束DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "0100000f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "01002D0f000f3312345678901234567890123456789012")
'密钥用途也可以为8D
'mbRet = mw.Sam_Write_Key_Psam(geU_WordInstall, "", "", "01008D0f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "01000E0f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
Dim psRet As String
Dim pbRandom(8) As Byte
Dim psMac As String
mbRet = MW.Get_Challenge(geU_Random4, pbRandom())
If Not mbRet Then MsgBox MW.Errshow
pbRandom(4) = 0
pbRandom(5) = 0
pbRandom(6) = 0
pbRandom(7) = 0
mwret = MW.Hex_To_Asc(pbRandom(0), psMac, 8)
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_OUT_KEY_Psam("21", "01", "84d4000008010100010f000fff" + psMac + "1234567890123456", psRet)
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Write_Key(geU_OUTKEY_EncryptInstall, "", "12345678901234567890123456789012", psRet)
If Not mbRet Then MsgBox MW.Errshow
End Sub
Private Sub OUT_KEY2_Click()
'此例子程序从PSAM母卡中导出密钥到用户卡中,上卡座为用户卡,下卡座为PSAM母卡.
'上卡座
mbRet = MW.Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Delete
If Not mbRet Then MsgBox MW.Errshow
'**********************************
'建MF
mbRet = MW.Create_File(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Create_File(geU_CreateEF, "0003000f000020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Create_File(geU_CreateEF, "0004050f800619")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Create_File(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Select_File(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Write_Key(geU_EncryptInstall, "", "ffffffffffffffff", "010100080f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
'下卡座
mbRet = MW.Sam_Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Delete
If Not mbRet Then MsgBox MW.Errshow
'建MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateDF, "00020f001234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0003000f0f0020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Sam_Create_File_Psam(geU_CreateEF, "0004050f000619")
If Not mbRet Then MsgBox MW.Errshow
'建结束DF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Sam_Create_File_Psam(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Select_File_Psam(geU_SelectDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "0100000f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "01000D0f000f3312345678901234567890123456789012")
'密钥用途也可以为8D
'mbRet = mw.Sam_Write_Key_Psam(geU_WordInstall, "", "", "01008D0f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_Write_Key_Psam(geU_WordInstall, "", "", "01000E0f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
Dim psRet As String
Dim pbRandom(8) As Byte
Dim psMac As String
mbRet = MW.Get_Challenge(geU_Random4, pbRandom())
If Not mbRet Then MsgBox MW.Errshow
pbRandom(4) = 0
pbRandom(5) = 0
pbRandom(6) = 0
pbRandom(7) = 0
mwret = MW.Hex_To_Asc(pbRandom(0), psMac, 8)
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Sam_OUT_KEY_Psam("61", "01", "84d4000008010100010f000fff" + psMac, psRet)
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Write_Key(geU_OUTKEY_EncryptInstall, "", "12345678901234567890123456789012", psRet)
If Not mbRet Then MsgBox MW.Errshow
End Sub
Private Sub PIN_Unblock_Click()
'上卡座
mbRet = MW.Reset
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Delete
If Not mbRet Then MsgBox MW.Errshow
'建MF
mbRet = MW.Create_File_Psam(geU_CreateMF, "FFFFFFFFFFFFFFFF0f011234567890")
If Not mbRet Then MsgBox MW.Errshow
'建DF
mbRet = MW.Create_File_Psam(geU_CreateDF, "00020f001234567890")
If Not mbRet Then MsgBox MW.Errshow
'建EF(二进制文件)
mbRet = MW.Create_File_Psam(geU_CreateEF, "0003000f0f0020")
If Not mbRet Then MsgBox MW.Errshow
'建EF(key文件)
mbRet = MW.Create_File_Psam(geU_CreateEF, "0004050f000619")
If Not mbRet Then MsgBox MW.Errshow
'建结束DF
mbRet = MW.Create_File_Psam(geU_CreateEndDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
'建结束MF
mbRet = MW.Create_File_Psam(geU_CreateEndMF, "")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Select_File_Psam(geU_SelectMF, "3f00")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Select_File_Psam(geU_SelectDF, "0002")
If Not mbRet Then MsgBox MW.Errshow
mbRet = MW.Write_Key_Psam(geU_WordInstall, "", "", "0100030f000f3312345678901234567890123456789012")
If Not mbRet Then MsgBox MW.Errshow
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -