Skip to content

Commit 22faf1a

Browse files
committed
Merge pull request #48 from boorad/jce
Optionally install Java Cryptography Extension (JCE)
2 parents 893b9d1 + 5e867fc commit 22faf1a

File tree

2 files changed

+89
-7
lines changed

2 files changed

+89
-7
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@ site.pp:
105105
* Optionally host the installer file locally instead of fetching it each time, for faster dev & test
106106
* platform
107107
* The platform to use
108+
* jce
109+
* Boolean to optionally install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files (Java 8 only)
108110
* default_java
109111
* Boolean to indicate if the installed java version is linked as the default java, javac etc...
110112
* ensure
111113
* Boolean to disable anything from happening (absent/removal not supported yet)
112-
113-

manifests/init.pp

Lines changed: 87 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@
3030
# String. The platform to use
3131
# Defaults to <tt>x64</tt>.
3232
#
33+
# [* jce *]
34+
# Boolean. Optionally install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files
35+
# Defaults to <tt>false</tt>.
36+
#
3337
# [* default_java *]
3438
# Boolean. If the installed java version is linked as the default java, javac etc...
3539
# Defaults to <tt>true</tt>.
@@ -46,6 +50,7 @@
4650
$use_cache = hiera('jdk_oracle::use_cache', false ),
4751
$cache_source = 'puppet:///modules/jdk_oracle/',
4852
$platform = hiera('jdk_oracle::platform', 'x64' ),
53+
$jce = hiera('jdk_oracle::jce', false ),
4954
$default_java = hiera('jdk_oracle::default_java', true ),
5055
$ensure = 'installed'
5156
) {
@@ -81,6 +86,7 @@
8186
}
8287
$javaDownloadURI = "http://download.oracle.com/otn-pub/java/jdk/${version}u${version_u}-b${version_b}/jdk-${version}u${version_u}-linux-${plat_filename}.tar.gz"
8388
$java_home = "${install_dir}/jdk1.${version}.0_${version_u}"
89+
$jceDownloadURI = 'http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip'
8490
}
8591
'7': {
8692
if ($version_update != 'default'){
@@ -147,11 +153,6 @@
147153
require => Exec['get_jdk_installer'],
148154
}
149155

150-
if ! defined(Package['wget']) {
151-
package { 'wget':
152-
ensure => present,
153-
}
154-
}
155156
}
156157

157158
# Java 7/8 comes in a tarball so just extract it.
@@ -263,5 +264,86 @@
263264

264265
default: { fail("Unsupported OS: ${::osfamily}. Implement me?") }
265266
}
267+
268+
if ( $jce and $version == '8' ) {
269+
270+
$jceFilename = inline_template('<%= File.basename(@jceDownloadURI) %>')
271+
$jce_dir = 'UnlimitedJCEPolicyJDK8'
272+
273+
if ( $use_cache ) {
274+
file { "${install_dir}/${jceFilename}":
275+
source => "${cache_source}${jceFilename}",
276+
require => File[$install_dir],
277+
} ->
278+
exec { 'get_jce_package':
279+
cwd => $install_dir,
280+
creates => "${install_dir}/jce_from_cache",
281+
command => 'touch jce_from_cache',
282+
}
283+
} else {
284+
exec { 'get_jce_package':
285+
cwd => $install_dir,
286+
creates => "${install_dir}/${jceFilename}",
287+
command => "wget -c --no-cookies --no-check-certificate --header \"Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com\" --header \"Cookie: oraclelicense=accept-securebackup-cookie\" \"${jceDownloadURI}\" -O ${jceFilename}",
288+
timeout => 600,
289+
require => Package['wget'],
290+
}
291+
292+
file { "${install_dir}/${jceFilename}":
293+
mode => '0755',
294+
require => Exec['get_jce_package'],
295+
}
296+
297+
}
298+
299+
exec { 'extract_jce':
300+
cwd => "${install_dir}/",
301+
command => "unzip ${jceFilename}",
302+
creates => "${install_dir}/${jce_dir}",
303+
require => [ Exec['get_jce_package'], Package['unzip'] ],
304+
}
305+
306+
file { "${java_home}/jre/lib/security/README.txt":
307+
ensure => 'present',
308+
source => "${install_dir}/${jce_dir}/README.txt",
309+
mode => '0644',
310+
owner => 'root',
311+
group => 'root',
312+
require => Exec['extract_jce'],
313+
}
314+
315+
file { "${java_home}/jre/lib/security/local_policy.jar":
316+
ensure => 'present',
317+
source => "${install_dir}/${jce_dir}/local_policy.jar",
318+
mode => '0644',
319+
owner => 'root',
320+
group => 'root',
321+
require => Exec['extract_jce'],
322+
}
323+
324+
file { "${java_home}/jre/lib/security/US_export_policy.jar":
325+
ensure => 'present',
326+
source => "${install_dir}/${jce_dir}/US_export_policy.jar",
327+
mode => '0644',
328+
owner => 'root',
329+
group => 'root',
330+
require => Exec['extract_jce'],
331+
}
332+
333+
}
334+
335+
}
336+
337+
if ! defined(Package['wget']) {
338+
package { 'wget':
339+
ensure => present,
340+
}
266341
}
342+
343+
if ! defined(Package['unzip']) {
344+
package { 'unzip':
345+
ensure => present,
346+
}
347+
}
348+
267349
}

0 commit comments

Comments
 (0)