Getting expiry date of SSL certificate

malkishtini at gmail.com malkishtini at gmail.com
Fri Jan 19 16:24:01 UTC 2024


Hi Mike,

 

Thank you very much for sharing your example.

 

I just learned something new today.

We can run powershell scripts from studio 11 using oProcess worker object.

 

You add the code below to a method in your object and call it from another method.

 

Say the method is called: $runpowershell

 

Calculate certname as "C:\mycert.crt"

Calculate lArgument as con('powershell.exe dir ',certname,' | %{ $cert = New-Object Security.Cryptography.X509Certificates.X509Certificate2 $_.FullName; echo $cert.NotAfter }')

Do $cinst.$init(lArgument)

Do $cinst.$start()

 

 

Overwrite the $complete method and you can do this:

Do $cinst.$readlines(kOProcessStdout) Returns vReturnList

Calculate vExpiryDate as vReturnList.2.stdout

 

You can read more about in the following tech notes, thank you to Omnis support for providing me with the links.

 

 

https://www.technotes.omnis.net/Technical%20Notes/Extending%20Omnis/Using%20the%20oProcess%20Worker/index.html - oProcess explanation

 

https://www.technotes.omnis.net/Technical%20Notes/Extending%20Omnis/Using%20the%20oProcess%20Worker/4.Complex%20example%3A%20unzipping.html - example of using powershell

 

Hope that helps 😊.

 

Regards,

Mayada

 

 

From: Mike Matthews - Omnis <omnis at lineal.co.uk> 
Sent: Friday, January 19, 2024 10:38 AM
To: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
Cc: malkishtini at gmail.com
Subject: Re: Getting expiry date of SSL certificate

 

Hello Mayada, 

 

I know that part, we use PowerShell for Zipping and unZipping.  We write a BAT file and then use Launch program

 

1 Make text for command:

 

Begin text block

Text:@echo off(Carriage return,Linefeed)

Text:powershell -command "Expand-Archive -Path '[Drive][FoldersPath][Name][Ext]' -DestinationPath '[Drive][FoldersPath]' -Force"

End text block

Get text block lvScript

 

2 Write text to a file:

 

Do lvFileOps.$createfile(lvBatFilePath) Returns lvErrorMessage

 

If lvErrorMessage<=1

# Must convert text into utf8 when writing or will put null characters into the file and stop it from working

Do lvFileOps.$writefile(chartoutf8(lvScript))

Do lvFileOps.$closefile()

 

Close working message ## Force a working mesage for pgdump

For lvLine from 1 to 1000 step 1

Working message Unzip File {[pSourcePath]}

Redraw working message

End For

 

# Returns an error message rather than code. If successful, returns no message ## RW 2023-02-06

Launch program [lvBatFilePath] Returns lvErrorMessage

 

# Clean up after ourselves ## RW 2023-02-06

Do FileOps.$deletefile(lvBatFilePath)

Else

Calculate lvFlagOK as kFalse

End If

 

So what do you write into the PowerShell is my question?

 

Thanks

 

Mike

 

 


 

 

 





On 19 Jan 2024, at 14:23, malkishtini at gmail.com <mailto:malkishtini at gmail.com>  wrote:

 

Caution: This is a message which has originated from outside the organisation. Ensure the sender is trusted and the content is safe before opening links or attachments.



Hi Mike,
Very good question, we have a way to do it in PowerShell.
https://www.technotes.omnis.net/Technical%20Notes/Extending%20Omnis/Using%20
the%20oProcess%20Worker/2.Implementation.html

So, the question now how to invoke the PowerShell scripts from Omnis studio
on Windows?.

Thank you,
Mayada


-----Original Message-----
From: omnisdev-en <omnisdev-en-bounces at lists.omnis-dev.com <mailto:omnisdev-en-bounces at lists.omnis-dev.com> > On Behalf Of
Mike Matthews - Omnis via omnisdev-en
Sent: Friday, January 19, 2024 8:45 AM
To: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com <mailto:omnisdev-en at lists.omnis-dev.com> >
Cc: Mike Matthews - Omnis <omnis at lineal.co.uk <mailto:omnis at lineal.co.uk> >
Subject: Re: Getting expiry date of SSL certificate

Hello Kelly,

Very lovely thank you.

Who knows how to do this on a Windows machine please?

Mike Matthews

Lineal Software Solutions
Commercial House, The Strand<x-apple-data-detectors://1/1> Barnstaple,
Devon, EX31 1EU<x-apple-data-detectors://1/1>

omnis at lineal.co.uk <mailto:omnis at lineal.co.uk%3cmailto:mike.matthews at lineal.co.uk> <mailto:mike.matthews at lineal.co.uk>

www.lineal.co.uk <http://www.lineal.co.uk%3chttp:/www.lineal.co.uk/> <http://www.lineal.co.uk/>

www.sqlworks.co.uk <http://www.sqlworks.co.uk%3chttp:/www.sqlworks.co/> <http://www.sqlworks.co/>



On 19 Jan 2024, at 03:42, Kelly Burgess
<kellyb at montana.com <mailto:kellyb at montana.com%3cmailto:kellyb at montana.com> <mailto:kellyb at montana.com>> wrote:

Caution: This is a message which has originated from outside the
organisation. Ensure the sender is trusted and the content is safe before
opening links or attachments.



On the Mac, I can do the following to get the expiration date of a named
certificate in my keychain -

      Calculate certname as "Developer ID Application: Kelly Burgess
(76LPV4WMTA)"
      Calculate script as con('security find-certificate -p -c
',kSq,certname,kSq,' | openssl x509 -enddate -noout')
      Calculate script as con('Do shell script ',kDq,script,kDq)
      Do $root.$runapplescript(script,result,error)

That pipes the security find-certificate output to the openssl x509 tool,
and in result I get something I could parse and convert to a date -

      'notAfter=Aug 16 11:11:48 2026 GMT'

Kelly
_____________________________________________________________
Manage your list subscriptions at
https://linkprotect.cudasvc.com/url?a=https%3a%2f%2flists.omnis-dev.com <https://linkprotect.cudasvc.com/url?a=https%3a%2f%2flists.omnis-dev.com&c=E> &c=E,
1,axgmdEMWPIHUuBcrmrERwCrATH3jSfTM2Tn_o_x5y07nssN5FUhV6ihmr-Xp5jrc62SExy5qX2
45eKG4hpwMWT8Cp6gXcVAkMXWBWuluPNwKhnMZ&typo=1
Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com

_____________________________________________________________
Manage your list subscriptions at https://lists.omnis-dev.com Start a new
message -> mailto:omnisdev-en at lists.omnis-dev.com

 



More information about the omnisdev-en mailing list