Java in Windows

https://docs.oracle.com/javase/7/docs/technotes/guides/jweb/jcp/properties.html

Java hat immer unterschiedliche Programmpfade.
Deshalb kann man so über die Registry herausfinden, wo die aktuelle Javaversion installiert ist:

getjavapath.ps1
$javahome = gci HKLM:\Software\JavaSoft -rec -ea SilentlyContinue | `
        % { if((get-itemproperty -Path $_.PsPath) -match "JavaHome") { $_.PsPath} } | `
        Get-ItemProperty| select-Object -last 1 | ft -HideTableHeader JavaHome | out-String 
echo $javahome

Standardmäßig sind bei einer neuen Javaversion die allgemeinen Konfigurationen hier hinterlegt:
C:\Windows\Sun\Java\Deployment\deployment.properties
Darüber werden auch die Registryinformationen gesteuert und immer wieder zurückgesetzt, wenn geändert.
HKCU\Software\JavaSoft\DeploymentProperties

Siteausnahmen für Benutzer konfigurieren

manuelle Einträge in Datei: C:\Users\benutzer\AppData\LocalLow\Sun\Java\Deployment\deployment.properties
bzw.
manuelle Einträge in Datei: C:\windows\Sun\Java\Deployment\deployment.properties

deployment.user.security.exception.sites=C\:\\Users\\benutzer\\AppData\\LocalLow\\Sun\\Java\\Deployment\\security\\exception.sites
deployment.user.security.trusted.certs=C\:\\Users\\benutzer\\AppData\\LocalLow\\Sun\\Java\\Deployment\\security\\trusted.certs
deployment.user.security.trusted.cacerts=C\:\\Users\\benutzer\\AppData\\LocalLow\\Sun\\Java\\Deployment\\security\\trusted.cacerts

Wenn in der o.g. Datei nichts spezielles für Benutzer eingetragen ist, wird hier nach Seiten-Ausnahmen gesucht:
%userprofile%\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites

writeJavaExceptionlist.ps1
################################################################################
# writejavaexceptionlist.ps1 -excpt http://mytomcatsrv:8080
# java-exceptiondatei auslesen und eintrag für tomcatserver einfügen /rb 2019
################################################################################
#$ErrorActionPreference= 'silentlycontinue'
param(
[string]$excpt
)
$esites = "$Env:USERPROFILE\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites"
$content = Get-Content $esites
 
If (!(Test-Path $esites))
{echo "file not exist"
New-Item -path $esites
echo $excpt |Out-file -append $esites #-NoNewline
}
If (($content).Contains($excpt))
{
    #write-host "$excpt found in $esites"
    break;
}
else {
    #write-host "$excpt not found in $esites"
    Add-Content -path $esites -Value $nl$excpt #-NoNewline
    ##CRLF aus Datei löschen wenn vorhanden
    (gc $esites) | ? {$_.trim() -ne "" } | set-content $esites
    }
################################################################################

Siteausnahmen für das ganze System konfigurieren

Datei c:\windows\sun\Java\Deployment\exception.sites erstellen und editieren

Zertifikate in lokalen Client-Javastore importieren

setJavaCerts.ps1
################################################################################
#setJacaCerts.ps1 -certfile \\mydom\netlogon\certs\mycert.crt -alias mytomcat 
#installiere ein Zertifikat in den Javastore des Benutzers / rb /2019
################################################################################
param(
[string]$certfile,
[string]$alias
)
$keystore = $env:USERPROFILE + "\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs"
$javahome = gci HKLM:\Software\JavaSoft -rec -ea SilentlyContinue | `
        % { if((get-itemproperty -Path $_.PsPath) -match "JavaHome") { $_.PsPath} } | `
        Get-ItemProperty| select-Object -last 1 | ft -HideTableHeader JavaHome | out-String 
$keytoolpath = $javahome.Trim()+"\bin\keytool.exe"
Start-Process -FilePath "$keytoolpath" -ArgumentList '-importcert',"-alias $alias","-file $certfile",`
'-storepass mypassw0rd','-noprompt',"-keystore $keystore" -NoNewWindow
################################################################################

Zertifikate in cmd auflisten:

"c:\Program Files (x86)\Java\jre1.8.0_202\bin\keytool.exe" -list -storepass mypassw0rd -keystore c:\users\username\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs

Zertifikat manuell wieder löschen:

"c:\Program Files (x86)\Java\jre1.8.0_202\bin\keytool.exe" -delete -alias mytomcat -storepass mypassw0rd -keystore c:\users\username\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs


Das Konfigurieren in der Systemsteurung ändert nur Einstellungen der 64-Bit-Version.
Die 32-Bit-Version muss manuell konfiguriert werden.