# The XML Security Project uses a third party cryptographic provider
# because the JCE does not supply all the relevant algorithms.
#
# Use this file to specify the provider information. The XML Security
# implementation uses The Legion of the Bouncy Castle's provider.

# Specify your preferred provider, together with the download location
# of the provider file in this section.
jce.provider.source     = http://www.bouncycastle.org/download
jce.provider.prefix     = bc
jce.provider.jar        = jce-jdk13-124.jar

# Specify a checksum algoritm and a checksum value for JCE provider
# in this section. The checksum is used to ensure that no data
# corruption occured during the download of the provider.
checksum.algorithm      = md5
checksum.value          = e24cb5cfbfeed7a521676d55dfe4b0d5


# Other usefull values
#
# MD5
# 8a90f10826c0b8a4460231dcef0e0e45          jce-jdk13-114.jar
# 38c40aa5c386e3ba5fac70916bcc5b0d          jce-jdk13-115.jar
# 85c64cd754719a4bc8da7e9aa0e113fd          jce-jdk13-116.jar
# 6f201e74b8d455c1960d2aadc6eba7dd          jce-jdk13-117.jar
# e4a56ae49cf6d523d94c2682c5475144          jce-jdk13-118.jar
# 521d0d68bd1bad5ad86262b96f05d8f1          jce-jdk13-119.jar
# e24cb5cfbfeed7a521676d55dfe4b0d5			jce-jdk13-122.jar
# 2d93ce3dd5e7e3f598f324146d1e25d0			jce-jdk13-124.jar
# 6b7c9352d1f6014a8e0da51d57e4964b          bcprov-jdk14-115.jar
# ad8526ea2d2c83b86d14b9b3a68df6d0          bcprov-jdk14-116.jar
# 077b6d7bd82640a61eda1bcbb55994d1          bcprov-jdk14-117.jar
# 150fb1132003b824c26939ad2cb247af          bcprov-jdk14-118.jar
# 86add778fbbd2ef13a2e52c7587f5234          bcprov-jdk14-119.jar
# 111fbfeb83d922cb6e092fe71765ab82			bcprov-jdk14-122.jar
#
# SHA1
# f3cf2677ad8fa7a038ab3a62e05afef9615ea579  jce-jdk13-114.jar
# 15f5af7fc73e4ff5c059f83f47509b9720e129e7  jce-jdk13-115.jar
# c1f0e975e8c8e0a0105787b249a50615b485d109  jce-jdk13-116.jar
# a6c4b425db845f4d00c84d8ffed437fe0cca0548  jce-jdk13-117.jar
# 23f992d3d746fe6756ec6121089bd535e65c4e5e  jce-jdk13-118.jar
# e8d38f066fe51d7f86cb48d9bb124fe49584a2c9  jce-jdk13-119.jar
# 92536c37d1ae241d5fb1a03375ec6fec6ccb0ce8  jce-jdk13-122.jar
# df189e1f018332468055dc2698f433349e449439  jce-jdk13-124.jar
# 31c03c553044a1c0fe884c7e9a5a09de58850a4f  bcprov-jdk14-115.jar
# d635405c78101cedbc710da12ed0cf57c0e0f895  bcprov-jdk14-116.jar
# d56bb87abb942b481ffdcb03dfde5c4a8c5e1365  bcprov-jdk14-117.jar
# 3be88c4b4b60371731950973e1868325a1cbf27d  bcprov-jdk14-118.jar
# ba539139beedba1c4b675a4623a242e38c73b540  bcprov-jdk14-119.jar
# 415a9fa6399c5cc0b1c5c1608682dfc8fda5f15b  bcprov-jdk14-122.jar
