Does Firefox PCKS#11 modules support headless mode? - security

Is it possible to use the PCKS#11 module of Firefox in headless mode?
I.e., for this scenario:
- use system console
- start Firefox in headless mode
- point it to a secured url
- PCKS#11 issues a console prompt for token instead of UI

Related

Why is it not possible to load extension in Cypress using headless mode

I've developed a chrome extension and I would like to e2e test it in a pipeline. So I install Cypress. But then I saw the following code example
// NOTE: extensions cannot be loaded in headless Chrome
It states that it is not possible to load an extension in headless mode. Why is this the case, I assume that there is a good reason for this.
SOURCE

Is there a way to locate Google Chrome automatically - NodeJS

Problem
I have an electron + puppeteer application which uses the chrome on users computer (Windows and MacOS).
However the problems arises some users have chrome on different locations than set in my program, this leads to program not working completely.
Objective
Is there any NodeJs module to detect chrome location on a PC automatically like registry or something? Or is there a way for puppeteer to detect chrome?

Selenium tests with kinit + chromedriver

I am using a java selenium program while running on a Linux VM to test a web site through Google Chrome.
This site requires Kerberos authentication.
I need ChromeDriver to create instances of chrome that have my valid keytab + etc.
KEYTAB_FILE_PATH="/home/me/my.keytab"
KERBEROS_PRINCIPAL_NAME="HTTP/myuser#MY.DOMAIN.COM"
kinit -kt "${KEYTAB_FILE_PATH}" "${KERBEROS_PRINCIPAL_NAME}"
echo "Kerberos kinit login was successful!"
java -jar myapp.jar
The chrome web driver creates a chrome that does not seem to have a valid kerberos ticket.
Is there some way to make sure that my kerberos ksession is passed to the chrome process forked by the chromedriver exe? What am I missing here?
The information I provided above is the correct way to handle Selenium tests that honor Negotiate authentication.
Run a kinit
Start your selenium java program after kinit had been run.
In your selenium program, make sure the --auth-server-whitelist and --auto-negotiate-delegate-whitelist are properly set to allow your kerberos ticket provider to participate in the auth handshake. (For example, your active directory server).
This should cause all Chromium processes to also have the same kinit and will be able to do negotiate authentication.
However, there is a bug affecting many versions of chromium when running in Headless mode. https://bugs.chromium.org/p/chromium/issues/detail?id=924746
So if you revert to chromium 70.x, it will work. And though I have not verified, looks like this was fixed on a future version of chromium. So if you move to the latest version of Chromium, this should also fix the problem.

How to get access to browser GUI on linux using something like VNC (docker standalone ff and regular ff))

Let say I have a bunch of Selenium tests which I run on Linux and Firefox.
Now, I have some problem with them and I would like to see the FF GUI to investigate the issue. Is there a possibility to connect to the server i.e using VNC Viewer to have vision on my tests?
You can use docker-selenium for your browser (Firefox, Chrome). It supports VNC to get the recording. More info here.

Native messaging of Chrome extension

I am running an example application that uses native messaging on OS X.
After downloading an example of chrome, I registered an extension and located a native messaging host file at /Library/Google/Chrome/NativeMessagingHosts/com.google.chrome.example.echo.json.
According to the guide, Chrome starts a native messaging host in a separate process.
But I cannot look for that process.
Is there a way for chrome to run host process?
What do I miss?
The sample app provided by Chrome is a packaged app. Once you install it you have to launch it from your browser. And then do ps ax and look for the sample python-script process.
To run the app, start chrome and go to the following URL:
chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/main.html
If you've done everything right, it should start the python script and you should see a window.
if its not working, have a look at chrome's console. you could also enable additional chrome logs - see here: http://www.chromium.org/for-testers/enable-logging

Resources