Sub VerifyLicenseFile As Boolean
Try
Dim bVerified As Boolean
Dim isLicense As InputStream
Dim isLicenseSignature As InputStream
Dim isPublicKeyContent As InputStream
Dim sig As Signature
Dim kpg As KeyPairGenerator
Dim base64 As Base64
bVerified = False
isLicense = File.OpenInput(DBFilePath, "license.txt")
isLicenseSignature = File.OpenInput(DBFilePath, "license.sig")
isPublicKeyContent = File.OpenInput(File.DirAssets, "[email protected]")
Dim abLicense(isLicense.BytesAvailable) As Byte
Dim abLicenseSignature(isLicenseSignature.BytesAvailable) As Byte
Dim abPublicKeyContent(isPublicKeyContent.BytesAvailable) As Byte
isLicense.ReadBytes(abLicense, 0, isLicense.BytesAvailable)
isLicenseSignature.ReadBytes(abLicenseSignature, 0, isLicenseSignature.BytesAvailable)
isPublicKeyContent.ReadBytes(abPublicKeyContent, 0, isPublicKeyContent.BytesAvailable)
isLicense.Close
isLicenseSignature.Close
isPublicKeyContent.Close
kpg.Initialize("RSA", 2048)
kpg.PublicKeyFromBytes(base64.DecodeBtoB(abPublicKeyContent, 0, abPublicKeyContent.Length))
sig.Initialise("SHA256WithRSAEncryption", sig.SIGNATURE_VERIFY, kpg.PublicKey)
sig.Update(abLicense)
bVerified = sig.Verify(base64.DecodeBtoB(abLicenseSignature, 0, abLicenseSignature.Length))
Log("caniOn license file is " & bVerified)
Return bVerified
Catch
MainLog(LastException.Message)
End Try
Log("caniOn license file is " & bVerified)
Return False
End Sub