CINXE.COM
wolfCrypt JNI and JCE Provider | Products – wolfSSL
<!DOCTYPE html> <html lang="en-US" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"> <head> <meta charset="UTF-8"> <meta name="keywords" content="iot tls"> <link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="pingback" href="https://www.wolfssl.com/wordpress/xmlrpc.php"> <meta name="viewport" content="width=device-width, initial-scale=1"><title>wolfCrypt JNI and JCE Provider | Products – wolfSSL</title> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="wolfSSL » Feed" href="https://www.wolfssl.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="wolfSSL » Comments Feed" href="https://www.wolfssl.com/comments/feed/" /> <!-- This site uses the Google Analytics by ExactMetrics plugin v7.12.1 - Using Analytics tracking - https://www.exactmetrics.com/ --> <script src="//www.googletagmanager.com/gtag/js?id=UA-64826966-1" data-cfasync="false" data-wpfc-render="false" type="text/javascript" async></script> <script data-cfasync="false" data-wpfc-render="false" type="text/javascript"> var em_version = '7.12.1'; var em_track_user = true; var em_no_track_reason = ''; var disableStrs = [ 'ga-disable-G-19EKT1MGL2', 'ga-disable-UA-64826966-1', ]; /* Function to detect opted out users */ function __gtagTrackerIsOptedOut() { for (var index = 0; index < disableStrs.length; index++) { if (document.cookie.indexOf(disableStrs[index] + '=true') > -1) { return true; } } return false; } /* Disable tracking if the opt-out cookie exists. */ if (__gtagTrackerIsOptedOut()) { for (var index = 0; index < disableStrs.length; index++) { window[disableStrs[index]] = true; } } /* Opt-out function */ function __gtagTrackerOptout() { for (var index = 0; index < disableStrs.length; index++) { document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; window[disableStrs[index]] = true; } } if ('undefined' === typeof gaOptout) { function gaOptout() { __gtagTrackerOptout(); } } window.dataLayer = window.dataLayer || []; window.ExactMetricsDualTracker = { helpers: {}, trackers: {}, }; if (em_track_user) { function __gtagDataLayer() { dataLayer.push(arguments); } function __gtagTracker(type, name, parameters) { if (!parameters) { parameters = {}; } if (parameters.send_to) { __gtagDataLayer.apply(null, arguments); return; } if (type === 'event') { parameters.send_to = exactmetrics_frontend.v4_id; var hookName = name; if (typeof parameters['event_category'] !== 'undefined') { hookName = parameters['event_category'] + ':' + name; } if (typeof ExactMetricsDualTracker.trackers[hookName] !== 'undefined') { ExactMetricsDualTracker.trackers[hookName](parameters); } else { __gtagDataLayer('event', name, parameters); } parameters.send_to = exactmetrics_frontend.ua; __gtagDataLayer(type, name, parameters); } else { __gtagDataLayer.apply(null, arguments); } } __gtagTracker('js', new Date()); __gtagTracker('set', { 'developer_id.dNDMyYj': true, }); __gtagTracker('config', 'G-19EKT1MGL2', {"forceSSL":"true"} ); __gtagTracker('config', 'UA-64826966-1', {"forceSSL":"true"} ); window.gtag = __gtagTracker; (function () { /* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */ /* ga and __gaTracker compatibility shim. */ var noopfn = function () { return null; }; var newtracker = function () { return new Tracker(); }; var Tracker = function () { return null; }; var p = Tracker.prototype; p.get = noopfn; p.set = noopfn; p.send = function () { var args = Array.prototype.slice.call(arguments); args.unshift('send'); __gaTracker.apply(null, args); }; var __gaTracker = function () { var len = arguments.length; if (len === 0) { return; } var f = arguments[len - 1]; if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') { if ('send' === arguments[0]) { var hitConverted, hitObject = false, action; if ('event' === arguments[1]) { if ('undefined' !== typeof arguments[3]) { hitObject = { 'eventAction': arguments[3], 'eventCategory': arguments[2], 'eventLabel': arguments[4], 'value': arguments[5] ? arguments[5] : 1, } } } if ('pageview' === arguments[1]) { if ('undefined' !== typeof arguments[2]) { hitObject = { 'eventAction': 'page_view', 'page_path': arguments[2], } } } if (typeof arguments[2] === 'object') { hitObject = arguments[2]; } if (typeof arguments[5] === 'object') { Object.assign(hitObject, arguments[5]); } if ('undefined' !== typeof arguments[1].hitType) { hitObject = arguments[1]; if ('pageview' === hitObject.hitType) { hitObject.eventAction = 'page_view'; } } if (hitObject) { action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction; hitConverted = mapArgs(hitObject); __gtagTracker('event', action, hitConverted); } } return; } function mapArgs(args) { var arg, hit = {}; var gaMap = { 'eventCategory': 'event_category', 'eventAction': 'event_action', 'eventLabel': 'event_label', 'eventValue': 'event_value', 'nonInteraction': 'non_interaction', 'timingCategory': 'event_category', 'timingVar': 'name', 'timingValue': 'value', 'timingLabel': 'event_label', 'page': 'page_path', 'location': 'page_location', 'title': 'page_title', }; for (arg in args) { if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) { hit[gaMap[arg]] = args[arg]; } else { hit[arg] = args[arg]; } } return hit; } try { f.hitCallback(); } catch (ex) { } }; __gaTracker.create = newtracker; __gaTracker.getByName = newtracker; __gaTracker.getAll = function () { return []; }; __gaTracker.remove = noopfn; __gaTracker.loaded = true; window['__gaTracker'] = __gaTracker; })(); } else { console.log(""); (function () { function __gtagTracker() { return null; } window['__gtagTracker'] = __gtagTracker; window['gtag'] = __gtagTracker; })(); } </script> <!-- / Google Analytics by ExactMetrics --> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.wolfssl.com\/wordpress\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.1.1"}}; /*! This file is auto-generated */ !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode,e=(p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0),i.toDataURL());return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(p&&p.fillText)switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([129777,127995,8205,129778,127999],[129777,127995,8203,129778,127999])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(e=t.source||{}).concatemoji?c(e.concatemoji):e.wpemoji&&e.twemoji&&(c(e.twemoji),c(e.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.wolfssl.com/wordpress/wp-includes/css/dist/block-library/style.min.css?ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='classic-theme-styles-css' href='https://www.wolfssl.com/wordpress/wp-includes/css/classic-themes.min.css?ver=1' type='text/css' media='all' /> <style id='global-styles-inline-css' type='text/css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;}:where(.is-layout-flex){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-columns.is-layout-flex){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='tfba_socialfeed_style-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/arrow-twitter-feed/includes/../css/jquery.socialfeed.css?ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='siteorigin-panels-front-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/siteorigin-panels/css/front-flex.min.css?ver=2.20.4' type='text/css' media='all' /> <link rel='stylesheet' id='smls-fontawesome-style-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/smart-logo-showcase-lite/css/font-awesome.min.css?ver=1.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='smls-google-fonts-sans-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A400%2C300%2C600%2C700%2C800&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='smls-google-fonts-roboto-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C300italic%2C400italic%2C500%2C500italic%2C700%2C700italic%2C900italic%2C900&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='smls-google-fonts-lato-css' href='https://fonts.googleapis.com/css?family=Lato%3A400%2C300italic%2C400italic%2C700%2C700italic%2C900italic%2C900&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='smls-google-fonts-montserrat-css' href='https://fonts.googleapis.com/css?family=Montserrat%3A400%2C700&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='smls-google-fonts-merriweather-css' href='https://fonts.googleapis.com/css?family=Merriweather+Sans%3A300%2C400%2C700%2C800+Sans%3A300%2C400%2C700&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='smls-google-fonts-droid-css' href='https://fonts.googleapis.com/css?family=Droid+Sans%3A400%2C700&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='smls-google-fonts-oxygen-css' href='https://fonts.googleapis.com/css?family=Oxygen%3A300%2C400%2C700&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='smls-google-fonts-raleway-css' href='https://fonts.googleapis.com/css?family=Raleway%3A100%2C200%2C300%2C400%2C500%2C600%2C700%2C800%2C900&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='smls-owl-style-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/smart-logo-showcase-lite/css/owl.carousel.css?ver=1.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='smls-tooltip-style-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/smart-logo-showcase-lite/css/tooltipster.bundle.css?ver=1.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='smls-frontend-style-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/smart-logo-showcase-lite/css/smls-frontend-style.css?ver=1.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='smls-responsive-style-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/smart-logo-showcase-lite/css/smls-responsive.css?ver=1.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='siteorigin-north-style-css' href='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/style.min.css?ver=1.3.15' type='text/css' media='all' /> <link rel='stylesheet' id='siteorigin-north-icons-css' href='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/css/north-icons.min.css?ver=1.3.15' type='text/css' media='all' /> <link rel='stylesheet' id='siteorigin-north-flexslider-css' href='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/css/flexslider.min.css?ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='siteorigin-google-web-fonts-css' href='//fonts.googleapis.com/css?family=Droid+Sans%3A400%2C700%7CMontserrat%3A400%7CDroid+Serif%3A400&ver=6.1.1' type='text/css' media='all' /> <link rel='stylesheet' id='newsletter-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/newsletter/style.css?ver=7.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='tablepress-default-css' href='https://www.wolfssl.com/wordpress/wp-content/plugins/tablepress/css/build/default.css?ver=2.0.4' type='text/css' media='all' /> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/plugins/google-analytics-dashboard-for-wp/assets/js/frontend-gtag.min.js?ver=7.12.1' id='exactmetrics-frontend-script-js'></script> <script data-cfasync="false" data-wpfc-render="false" type="text/javascript" id='exactmetrics-frontend-script-js-extra'>/* <![CDATA[ */ var exactmetrics_frontend = {"js_events_tracking":"true","download_extensions":"zip,mp3,mpeg,pdf,docx,pptx,xlsx,rar","inbound_paths":"[{\"path\":\"\\\/go\\\/\",\"label\":\"affiliate\"},{\"path\":\"\\\/recommend\\\/\",\"label\":\"affiliate\"}]","home_url":"https:\/\/www.wolfssl.com","hash_tracking":"false","ua":"UA-64826966-1","v4_id":"G-19EKT1MGL2"};/* ]]> */ </script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-includes/js/jquery/jquery.min.js?ver=3.6.1' id='jquery-core-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/plugins/arrow-twitter-feed/includes/../bower_components/codebird-js/codebird.js?ver=6.1.1' id='tfba_codebird-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/plugins/arrow-twitter-feed/includes/../bower_components/doT/doT.min.js?ver=6.1.1' id='tfba_doT-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/plugins/arrow-twitter-feed/includes/../bower_components/moment/min/moment.min.js?ver=6.1.1' id='tfba_moment-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/plugins/arrow-twitter-feed/includes/../js/jquery.socialfeed.js?ver=6.1.1' id='tfba_socialfeed-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/plugins/smart-logo-showcase-lite/js/owl.carousel.js?ver=1.1.2' id='smls-owl-script-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/plugins/smart-logo-showcase-lite/js/tooltipster.bundle.js?ver=1.1.2' id='smls-tooltip-script-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/plugins/smart-logo-showcase-lite/js/smls-frontend-script.js?ver=1.1.2' id='smls-frontend-script-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/js/iframeResizer.min.js?ver=6.1.1' id='iFrameResize-js'></script> <link rel="https://api.w.org/" href="https://www.wolfssl.com/wp-json/" /><link rel="alternate" type="application/json" href="https://www.wolfssl.com/wp-json/wp/v2/pages/1324" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.wolfssl.com/wordpress/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://www.wolfssl.com/wordpress/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 6.1.1" /> <link rel="canonical" href="https://www.wolfssl.com/products/wolfcrypt-jni-jce/" /> <link rel='shortlink' href='https://www.wolfssl.com/?p=1324' /> <link rel="alternate" type="application/json+oembed" href="https://www.wolfssl.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.wolfssl.com%2Fproducts%2Fwolfcrypt-jni-jce%2F" /> <link rel="alternate" type="text/xml+oembed" href="https://www.wolfssl.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.wolfssl.com%2Fproducts%2Fwolfcrypt-jni-jce%2F&format=xml" /> <script> (function($){ "use strict"; var $searchArea = $('.top-search-menu'); $searchArea.click(function(){ $(this).addClass('input-expanded'); }); $(document).mouseup(function (e){ var container = $(".top-search-menu"); if (!$searchArea.is(e.target) && $searchArea.has(e.target).length === 0){ $searchArea.removeClass('input-expanded'); } }); })(jQuery); </script> <style type="text/css" id="siteorigin-north-settings-custom" data-siteorigin-settings="true"> .content-area { margin: 0 -0% 0 0; } .site-main { margin: 0 0% 0 0; } .site-content .widget-area { width: 0%; } .layout-sidebar-left .content-area { margin: 0 0 0 -0%; } .layout-sidebar-left .site-main { margin: 0 0 0 0%; } .layout-sidebar-left .site-content .widget-area { width: 0%; } @media screen and (max-width: 600px) { body.responsive .main-navigation #mobile-menu-button { display: inline-block; } body.responsive .main-navigation ul { display: none; } body.responsive .main-navigation .north-search-icon { display: none; } .main-navigation #mobile-menu-button { display: none; } .main-navigation ul { display: inline-block; } .main-navigation .north-search-icon { display: inline-block; } } @media screen and (min-width: 601px) { body.responsive #mobile-navigation { display: none !important; } } </style> <style type="text/css" media="all" id="siteorigin-panels-layouts-head">/* Layout 1324 */ #pgc-1324-0-0 , #pgc-1324-3-0 , #pgc-1324-5-0 { width:100%;width:calc(100% - ( 0 * 30px ) ) } #pg-1324-0 , #pg-1324-1 , #pg-1324-2 , #pg-1324-3 , #pg-1324-4 , #pg-1324-5 , #pg-1324-6 , #pl-1324 .so-panel { margin-bottom:30px } #pgc-1324-1-0 { width:72%;width:calc(72% - ( 0.28 * 30px ) ) } #pgc-1324-1-1 { width:28%;width:calc(28% - ( 0.72 * 30px ) ) } #pgc-1324-2-0 , #pgc-1324-2-1 , #pgc-1324-2-2 { width:33.3333%;width:calc(33.3333% - ( 0.666666666667 * 30px ) ) } #pgc-1324-4-0 , #pgc-1324-4-1 , #pgc-1324-6-0 , #pgc-1324-6-1 { width:50%;width:calc(50% - ( 0.5 * 30px ) ) } #pgc-1324-7-0 { width:30%;width:calc(30% - ( 0.7 * 30px ) ) } #pgc-1324-7-1 { width:70%;width:calc(70% - ( 0.3 * 30px ) ) } #pl-1324 .so-panel:last-of-type { margin-bottom:0px } #pg-1324-0.panel-has-style > .panel-row-style, #pg-1324-0.panel-no-style , #pg-1324-1.panel-has-style > .panel-row-style, #pg-1324-1.panel-no-style , #pg-1324-2.panel-has-style > .panel-row-style, #pg-1324-2.panel-no-style , #pg-1324-3.panel-has-style > .panel-row-style, #pg-1324-3.panel-no-style , #pg-1324-4.panel-has-style > .panel-row-style, #pg-1324-4.panel-no-style , #pg-1324-5.panel-has-style > .panel-row-style, #pg-1324-5.panel-no-style , #pg-1324-6.panel-has-style > .panel-row-style, #pg-1324-6.panel-no-style , #pg-1324-7.panel-has-style > .panel-row-style, #pg-1324-7.panel-no-style { -webkit-align-items:flex-start;align-items:flex-start } #panel-1324-1-1-0> .panel-widget-style { background-color:#f2f2f2;padding:15px 20px 10px 20px;text-align:center;border:solid 1px #c6c6c6 } #pgc-1324-6-1> .panel-cell-style { border-left:solid 1px #c6c6c6;padding-left:25px } #pgc-1324-6-1 { align-self:auto } #pg-1324-7> .panel-row-style { border:solid 1px #c6c6c6;background-color:#e6e6e6;width:80%;margin:0 auto;padding:15px 25px } @media (max-width:780px){ #pg-1324-0.panel-no-style, #pg-1324-0.panel-has-style > .panel-row-style, #pg-1324-0 , #pg-1324-1.panel-no-style, #pg-1324-1.panel-has-style > .panel-row-style, #pg-1324-1 , #pg-1324-2.panel-no-style, #pg-1324-2.panel-has-style > .panel-row-style, #pg-1324-2 , #pg-1324-3.panel-no-style, #pg-1324-3.panel-has-style > .panel-row-style, #pg-1324-3 , #pg-1324-4.panel-no-style, #pg-1324-4.panel-has-style > .panel-row-style, #pg-1324-4 , #pg-1324-5.panel-no-style, #pg-1324-5.panel-has-style > .panel-row-style, #pg-1324-5 , #pg-1324-6.panel-no-style, #pg-1324-6.panel-has-style > .panel-row-style, #pg-1324-6 , #pg-1324-7.panel-no-style, #pg-1324-7.panel-has-style > .panel-row-style, #pg-1324-7 { -webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column } #pg-1324-0 > .panel-grid-cell , #pg-1324-0 > .panel-row-style > .panel-grid-cell , #pg-1324-1 > .panel-grid-cell , #pg-1324-1 > .panel-row-style > .panel-grid-cell , #pg-1324-2 > .panel-grid-cell , #pg-1324-2 > .panel-row-style > .panel-grid-cell , #pg-1324-3 > .panel-grid-cell , #pg-1324-3 > .panel-row-style > .panel-grid-cell , #pg-1324-4 > .panel-grid-cell , #pg-1324-4 > .panel-row-style > .panel-grid-cell , #pg-1324-5 > .panel-grid-cell , #pg-1324-5 > .panel-row-style > .panel-grid-cell , #pg-1324-6 > .panel-grid-cell , #pg-1324-6 > .panel-row-style > .panel-grid-cell , #pg-1324-7 > .panel-grid-cell , #pg-1324-7 > .panel-row-style > .panel-grid-cell { width:100%;margin-right:0 } #pgc-1324-1-0 , #pgc-1324-2-0 , #pgc-1324-2-1 , #pgc-1324-4-0 , #pgc-1324-6-0 , #pgc-1324-7-0 { margin-bottom:30px } #pl-1324 .panel-grid-cell { padding:0 } #pl-1324 .panel-grid .panel-grid-cell-empty { display:none } #pl-1324 .panel-grid .panel-grid-cell-mobile-last { margin-bottom:0px } #pgc-1324-6-1> .panel-cell-style { border-left:none;padding-left:0 } #pg-1324-7> .panel-row-style { width:90% } } </style><link rel="icon" href="https://www.wolfssl.com/wordpress/wp-content/uploads/2017/07/cropped-wolf-square-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.wolfssl.com/wordpress/wp-content/uploads/2017/07/cropped-wolf-square-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.wolfssl.com/wordpress/wp-content/uploads/2017/07/cropped-wolf-square-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.wolfssl.com/wordpress/wp-content/uploads/2017/07/cropped-wolf-square-270x270.png" /> <!-- START - Open Graph and Twitter Card Tags 3.3.0 --> <!-- Facebook Open Graph --> <meta property="article:publisher" content="https://www.facebook.com/wolfssl/"/> <meta property="fb:app_id" content="308652656395809"/> <!-- Google+ / Schema.org --> <meta itemprop="name" content="wolfCrypt JNI and JCE Provider | Products"/> <meta itemprop="headline" content="wolfCrypt JNI and JCE Provider | Products"/> <meta itemprop="description" content="PRODUCTS wolfCrypt JNI and JCE Provider For Java developers that want to leverage the industry-leading wolfCrypt cryptography library implementation, wolfCrypt JNI provides a Java interface to the native C library. wolfCrypt JNI includes both a thin JNI wrapper around the wolfCrypt C library"/> <meta itemprop="author" content="wolfSSL"/> <!--<meta itemprop="publisher" content="wolfSSL"/>--> <!-- To solve: The attribute publisher.itemtype has an invalid value --> <!-- Twitter Cards --> <meta name="twitter:title" content="wolfCrypt JNI and JCE Provider | Products"/> <meta name="twitter:url" content="https://www.wolfssl.com/products/wolfcrypt-jni-jce/"/> <meta name="twitter:description" content="PRODUCTS wolfCrypt JNI and JCE Provider For Java developers that want to leverage the industry-leading wolfCrypt cryptography library implementation, wolfCrypt JNI provides a Java interface to the native C library. wolfCrypt JNI includes both a thin JNI wrapper around the wolfCrypt C library"/> <meta name="twitter:card" content="summary_large_image"/> <!-- SEO --> <!-- Misc. tags --> <!-- is_singular --> <!-- END - Open Graph and Twitter Card Tags 3.3.0 --> </head> <body class="page-template-default page page-id-1324 page-child parent-pageid-18 wp-custom-logo siteorigin-panels siteorigin-panels-before-js group-blog no-js css3-animations no-touch responsive page-layout-default page-layout-menu-default sticky-menu no-topbar wc-columns-3"> <div id="page" class="hfeed site"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a> <header id="masthead" class="site-header layout-defaultsticky-menu" role="banner" > <div class="container"> <div id="extraHeaderInfo"> <!--<a href="https://www.wolfssl.jp/wolfsite/" target="_blank"><img src="/wordpress/wp-content/uploads/2017/11/japan-site.png" alt="wolfSSL Japan"></a>--> <div class="push"></div> <ul id="supportNav"> <li><br/>Questions? <a href="https://www.wolfssl.com/contact/">Contact Us</a></li> <!--<li>Questions? <a href="tel:425-245-8247">+1 (425) 245-8247</a></li> <li><a href="tel:425-245-8247">+1(425)245-8247</a></li>--> <li><a href="https://www.wolfssl.com/products/support-and-maintenance/">Support Forums</a></li> <li><a href="https://www.wolfssl.jp" target="_blank"><img src="/wordpress/wp-content/uploads/2017/11/japan-site.png" alt="wolfSSL Japan"></a></li> </ul> </div> <div class="container-inner"> <div class="site-branding"> <a href="https://www.wolfssl.com/" rel="home"> <span class="screen-reader-text">Home</span><img width="300" height="233" src="https://www.wolfssl.com/wordpress/wp-content/uploads/2021/11/wolf-thanksgiving.png" class="attachment-full size-full" alt="" decoding="async" loading="lazy" srcset="https://www.wolfssl.com/wordpress/wp-content/uploads/2021/11/wolf-thanksgiving.png 1x,https://www.wolfssl.com/wordpress/wp-content/uploads/2021/11/wolf-thanksgiving.png 2x" /></a> </div><!-- .site-branding --> <nav id="site-navigation" class="main-navigation" role="navigation"> <a href="#menu" id="mobile-menu-button"> <svg version="1.1" class="svg-icon-menu" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> <path class="line-1" d="M3,5h18c0.3,0,0.5,0.1,0.7,0.3C21.9,5.5,22,5.7,22,6s-0.1,0.5-0.3,0.7C21.5,6.9,21.3,7,21,7H3 C2.7,7,2.5,6.9,2.3,6.7C2.1,6.5,2,6.3,2,6s0.1-0.5,0.3-0.7C2.5,5.1,2.7,5,3,5z"/> <path class="line-2" d="M3,11h18c0.3,0,0.5,0.1,0.7,0.3S22,11.7,22,12s-0.1,0.5-0.3,0.7S21.3,13,21,13H3c-0.3,0-0.5-0.1-0.7-0.3 C2.1,12.5,2,12.3,2,12s0.1-0.5,0.3-0.7C2.5,11.1,2.7,11,3,11z"/> <path class="line-3" d="M3,17h18c0.3,0,0.5,0.1,0.7,0.3S22,17.7,22,18s-0.1,0.5-0.3,0.7S21.3,19,21,19H3c-0.3,0-0.5-0.1-0.7-0.3 C2.1,18.5,2,18.3,2,18s0.1-0.5,0.3-0.7C2.5,17.1,2.7,17,3,17z"/> </svg> Menu <span class="screen-reader-text">Menu</span> </a> <div class="menu-navigation-container"><ul id="primary-menu" class="menu"><li id="menu-item-86" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-86"><a href="https://www.wolfssl.com/">Home</a></li> <li id="menu-item-66" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-66"><a href="https://www.wolfssl.com/about/">About</a> <ul class="sub-menu"> <li id="menu-item-68" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-68"><a href="https://www.wolfssl.com/contact/">Contact Us</a></li> <li id="menu-item-38072" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38072"><a href="https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance/">wolfSSL Software Development Process and Quality Assurance</a></li> </ul> </li> <li id="menu-item-65" class="menu-item menu-item-type-post_type menu-item-object-page current-page-ancestor current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor menu-item-has-children menu-item-65"><a href="https://www.wolfssl.com/products/">Products</a> <ul class="sub-menu"> <li id="menu-item-42283" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-42283"><a href="https://www.wolfssl.com/products/wolfhsm/">wolfHSM</a></li> <li id="menu-item-31384" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31384"><a href="https://www.wolfssl.com/products/wolfssl/">wolfSSL / wolfCrypt</a></li> <li id="menu-item-31386" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31386"><a href="https://www.wolfssl.com/license/fips/">wolfCrypt FIPS 140-2/3</a></li> <li id="menu-item-37202" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37202"><a href="https://www.wolfssl.com/wolfssl-support-178-dal/">DO-178</a></li> <li id="menu-item-31387" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31387"><a href="https://www.wolfssl.com/products/wolftpm/">wolfTPM</a></li> <li id="menu-item-31388" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31388"><a href="https://www.wolfssl.com/products/wolfmqtt/">wolfMQTT</a></li> <li id="menu-item-31389" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31389"><a href="https://www.wolfssl.com/products/wolfssh/">wolfSSH</a></li> <li id="menu-item-33537" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-33537"><a href="https://www.wolfssl.com/products/wolfboot/">wolfBoot</a></li> <li id="menu-item-37772" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37772"><a href="https://www.wolfssl.com/products/wolfsentry/">wolfSentry IDPS</a></li> <li id="menu-item-34705" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34705"><a href="https://www.wolfssl.com/products/curl/">curl / tinycurl</a></li> <li id="menu-item-31390" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31390"><a href="https://www.wolfssl.com/products/wolfssl-jni-jsse/">wolfSSL JNI and JSSE Provider</a></li> <li id="menu-item-31391" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item menu-item-31391"><a href="https://www.wolfssl.com/products/wolfcrypt-jni-jce/" aria-current="page">wolfCrypt JNI and JCE Provider</a></li> <li id="menu-item-38343" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38343"><a href="https://www.wolfssl.com/products/wolfclu/">wolfCLU</a></li> </ul> </li> <li id="menu-item-28820" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-28820"><a href="/download">Download</a></li> <li id="menu-item-63" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-63"><a href="https://www.wolfssl.com/license/">License</a> <ul class="sub-menu"> <li id="menu-item-36382" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36382"><a href="https://www.wolfssl.com/products/support-and-maintenance/">Support and Maintenance</a></li> <li id="menu-item-36383" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36383"><a href="https://www.wolfssl.com/docs/consulting/">Consulting Services</a></li> <li id="menu-item-37201" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37201"><a href="https://www.wolfssl.com/license/fips/">FIPS 140-2 and FIPS 140-3</a></li> <li id="menu-item-37200" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37200"><a href="https://www.wolfssl.com/wolfssl-support-178-dal/">DO-178</a></li> </ul> </li> <li id="menu-item-62" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-62"><a href="https://www.wolfssl.com/blog/">Blog</a></li> <li id="menu-item-60" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-60"><a href="https://www.wolfssl.com/docs/">Docs</a> <ul class="sub-menu"> <li id="menu-item-36384" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36384"><a href="https://www.wolfssl.com/docs/frequently-asked-questions-faq/">FAQ</a></li> <li id="menu-item-38697" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-38697"><a href="https://www.wolfssl.com/documentation/manuals/wolfssl/index.html">wolfSSL Manual</a></li> <li id="menu-item-40552" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40552"><a href="https://www.youtube.com/wolfssl">YouTube Videos</a></li> <li id="menu-item-38698" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-38698"><a href="https://www.wolfssl.com/docs/benchmarks/">Benchmarks</a></li> <li id="menu-item-35828" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35828"><a href="https://www.wolfssl.com/docs/case-studies/">Case Studies</a></li> <li id="menu-item-39479" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-39479"><a href="https://www.wolfssl.com/docs/wolfssl-white-papers/">White Papers</a></li> <li id="menu-item-40554" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40554"><a href="https://www.wolfssl.com/docs/security-vulnerabilities/">Vulnerability Info</a></li> </ul> </li> <li id="menu-item-59" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-59"><a href="https://www.wolfssl.com/community/">Community</a> <ul class="sub-menu"> <li id="menu-item-35479" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35479"><a href="https://www.wolfssl.com/events/">Events / Webinars</a></li> <li id="menu-item-35477" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-35477"><a href="https://www.wolfssl.com/forums/">Forums</a></li> </ul> </li> <li id="menu-item-35954" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35954"><a href="https://www.wolfssl.com/community/partner-network/">Partners</a></li> <li class="top-search-menu"><form method="get" action="https://www.wolfssl.com" role="search"> <label for='s' class='screen-reader-text'>Search for:</label> <input type="search" name="s" placeholder="Search" value="" /> <button type="submit"> <i class="north-icon-search"><label class="screen-reader-text">Search</label></i> </button> </form> </li></ul></div> </nav><!-- #site-navigation --> </div><!-- .container-inner --> </div><!-- .container --> </header><!-- #masthead --> <div id="content" class="site-content"> <div class="container"> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <article id="post-1324" class="post-1324 page type-page status-publish post"> <div class="entry-content"> <div id="pl-1324" class="panel-layout" ><div id="pg-1324-0" class="panel-grid panel-has-style" ><div class="separate panel-row-style panel-row-style-for-1324-0" ><div id="pgc-1324-0-0" class="panel-grid-cell" ><div id="panel-1324-0-0-0" class="so-panel widget widget_sow-editor panel-first-child" data-index="0" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <h1 class="pageTitle">PRODUCTS</h1> </div> </div></div><div id="panel-1324-0-0-1" class="so-panel widget widget_sow-editor panel-last-child" data-index="1" ><div class="products panel-widget-style panel-widget-style-for-1324-0-0-1" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <h3><strong>wolfCrypt JNI</strong> and <strong>JCE</strong> Provider</h3> </div> </div></div></div></div></div></div><div id="pg-1324-1" class="panel-grid panel-no-style" ><div id="pgc-1324-1-0" class="panel-grid-cell" ><div id="panel-1324-1-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="2" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <p class="paragraph_style_21">For Java developers that want to leverage the industry-leading <a href="https://www.wolfssl.com/products/wolfcrypt/">wolfCrypt</a> cryptography library implementation, wolfCrypt JNI provides a Java interface to the native C library.</p> <p class="paragraph_style_21">wolfCrypt JNI includes both a thin JNI wrapper around the wolfCrypt C library, as well as a higher-level wolfCrypt JCE provider.</p> </div> </div></div></div><div id="pgc-1324-1-1" class="panel-grid-cell" ><div id="panel-1324-1-1-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="3" ><div class="panel-widget-style panel-widget-style-for-1324-1-1-0" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <p><a href="https://www.wolfssl.com/download/"><strong>Download Now</strong></a></p> <p>Get the latest open source GPLv2 version now!</p> <p>Version: 1.7.0<br /> Release Date: 11/11/2024<br /> <a href="https://github.com/wolfSSL/wolfcrypt-jni/blob/master/README.md">View ChangeLog</a></p> </div> </div></div></div></div></div><div id="pg-1324-2" class="panel-grid panel-no-style" ><div id="pgc-1324-2-0" class="panel-grid-cell" ><div id="panel-1324-2-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="4" ><div class="so-widget-sow-editor so-widget-sow-editor-base" ><h3 class="widget-title">Highlights</h3> <div class="siteorigin-widget-tinymce textwidget"> <div class="siteorigin-widget-tinymce textwidget"> <div class="separate"></div> <div class="pushProduct"></div> <ul> <li>Industry-leading native crypto</li> <li>Java JNI wrapper</li> <li>Java JCE Provider</li> <li>Tested against multiple JDK implementations</li> </ul> </div> </div> </div></div></div><div id="pgc-1324-2-1" class="panel-grid-cell" ><div id="panel-1324-2-1-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="5" ><div class="so-widget-sow-editor so-widget-sow-editor-base" ><h3 class="widget-title">Flexibility</h3> <div class="siteorigin-widget-tinymce textwidget"> <div class="siteorigin-widget-tinymce textwidget"> <div class="separate"></div> <div class="pushProduct"></div> <ul> <li>Allows applications to have control over their crypto</li> <li>Gain portability of native wolfSSL and wolfCrypt libraries</li> </ul> </div> </div> </div></div></div><div id="pgc-1324-2-2" class="panel-grid-cell" ><div id="panel-1324-2-2-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="6" ><div class="so-widget-sow-editor so-widget-sow-editor-base" ><h3 class="widget-title">Time-Saving</h3> <div class="siteorigin-widget-tinymce textwidget"> <div class="siteorigin-widget-tinymce textwidget"> <div class="separate"></div> <div class="pushProduct"></div> <ul> <li>Eliminates need to write custom JNI</li> <li>Based on industry-leading wolfSSL</li> </ul> </div> </div> </div></div></div></div><div id="pg-1324-3" class="panel-grid panel-has-style" ><div class="separate panel-row-style panel-row-style-for-1324-3" ><div id="pgc-1324-3-0" class="panel-grid-cell panel-grid-cell-empty" ></div></div></div><div id="pg-1324-4" class="panel-grid panel-no-style" ><div id="pgc-1324-4-0" class="panel-grid-cell" ><div id="panel-1324-4-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="7" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <p> </p> <p class="paragraph_style_9"><strong>Platform and Language Support</strong></p> <p class="paragraph_style_6">The native wolfSSL library is built for maximum portability and is generally very easy to compile on new platforms.聽 If your desired platform is not listed under the supported operating environments, please <a class="class12" title="Contact.html" href="https://www.wolfssl.com/contact/">contact us</a>.</p> <p class="paragraph_style_9"><strong>Commercial Support</strong></p> <p class="paragraph_style_6">Support packages for wolfSSL and wolfCrypt JNI/JCE are available on an annual basis directly from wolfSSL.聽 With three different package options, you can compare them side-by-side and choose the package that best fits your specific needs.聽 Please see our <a title="https://www.wolfssl.com/download/support-packages/" href="https://www.wolfssl.com/download/support-packages/">Support Packages</a> page for more details or contact us with any questions.</p> <p class="paragraph_style_9"><strong>JDK Support</strong></p> <p class="paragraph_style_6">wolfCrypt JNI and JCE have been tested against multiple JDK implementations including Oracle JDK, OpenJDK, and Android鈥檚 JDK implementation.</p> <p class="paragraph_style_9"><strong>Ships with Signed JAR Files</strong></p> <p class="paragraph_style_6">Oracle JDK requires JCE providers to be signed.聽 This signed JAR is then authenticated at runtime.聽 wolfCrypt JNI includes JAR files that have been pre-signed by wolfSSL to get you up and running quickly!</p> <p class="paragraph_style_9"><strong>FIPS Support</strong></p> <p class="paragraph_style_6">Do you need FIPS 140-3? The wolfCrypt JNI and JCE Provider can sit on top of the FIPS 140-3 validated wolfCrypt library. Learn more about our <a title="fips.html" href="https://www.wolfssl.com/license/fips/">FIPS 140-3 validation</a>!</p> <p class="paragraph_style_9"><strong>Algorithm Expansion</strong></p> <p class="paragraph_style_6">wolfCrypt JNI currently includes a subset of algorithm functionality found in the native wolfCrypt C library.聽 If you are interested in an algorithm not currently supported in the JNI/JCE wrapper, let us know at <a title="mailto:facts@wolfssl.com" href="mailto:facts@wolfssl.com">facts@wolfssl.com</a>.</p> <p class="paragraph_style_10"><strong>wolfSSL Training Course</strong></p> <p class="paragraph_style_6">Interested in getting trained by security experts on subjects related to wolfSSL and SSL/TLS?聽 <a title="Blog/Entries/2012/12/10_CyaSSL_Training_Course.html" href="https://www.wolfssl.com/wolfssl-training-course/">Learn more</a>.</p> </div> </div></div></div><div id="pgc-1324-4-1" class="panel-grid-cell" ><div id="panel-1324-4-1-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="8" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <p class="paragraph_style_23"><strong>JNI Wrapper Features</strong></p> <ul> <li class="paragraph_style_23"><span class="style_5">Hash Functions: </span><span class="style_5">MD5, SHA-1, SHA-256, SHA-384, SHA-512<br /> </span></li> <li class="paragraph_style_23"><span class="style_5">Block Ciphers: </span><span class="style_5">AES (CBC/GCM), 3DES<br /> </span></li> <li class="paragraph_style_23"><span class="style_5">Public Key Options:聽 </span><span class="style_5">RSA, ECDSA<br /> </span></li> <li class="paragraph_style_23"><span class="style_5">HMAC </span><span class="style_5">MD5, SHA-1, SHA-256, SHA-384, SHA-512, </span><span class="style_5">Blake2b<br /> </span></li> <li class="paragraph_style_23"><span class="style_5">Key Agreement: </span><span class="style_5">DH, ECDH<br /> </span></li> <li class="paragraph_style_23"><span class="style_5">RSA and ECC Key Generation<br /> </span></li> <li>PBKDF2</li> <li class="paragraph_style_23"><span class="style_5"><a href="https://www.wolfssl.com/docs/hardware-crypto-support/">Hardware Cryptography Support</a></span><span class="style_5"><br /> </span></li> </ul> <p class="paragraph_style_23"><strong>JCE Provider Features</strong></p> <ul> <li class="paragraph_style_23"><span class="style_5">java.security.MessageDigest:</span><span class="style_5"> MD5, SHA-1, SHA-256, SHA-384, SHA-512</span></li> <li class="paragraph_style_23"><span class="style_5">java.security.SecureRandom: DEFAULT, </span><span class="style_5">HashDRBG</span></li> <li class="paragraph_style_23"><span class="style_5">javax.crypto.Cipher: </span><span class="style_5">AES/CBC/NoPadding, AES/CBC/PKCS5Padding, AES/GCM/NoPadding, </span><span class="style_5">DESede/CBC/NoPadding, </span><span class="style_5">RSA/ECB/PKCS1Padding</span></li> <li class="paragraph_style_23"><span class="style_5">javax.crypto.Mac: </span><span class="style_5">HmacMD5, </span><span class="style_5">HmacSHA1, </span><span class="style_5">HmacSHA256, </span><span class="style_5">HmacSHA384, </span><span class="style_5">HmacSHA512</span></li> <li class="paragraph_style_23"><span class="style_5">java.security.Signature: </span><span class="style_5">MD5withRSA,</span><span class="style_5"> SHA1withRSA, </span><span class="style_5">SHA256withRSA, </span><span class="style_5">SHA384withRSA, </span><span class="style_5">SHA512withRSA, </span><span class="style_5">SHA1withECDSA, </span><span class="style_5">SHA256withECDSA, </span><span class="style_5">SHA384withECDSA, </span><span class="style_5">SHA512withECDSA</span></li> <li class="paragraph_style_23"><span class="style_5">javax.crypto.KeyAgreement: </span><span class="style_5">DiffieHellman, DH, ECDH</span></li> <li class="paragraph_style_23"><span class="style_5">java.security.KeyPairGenerator: RSA, </span><span class="style_5">EC, DH</span></li> <li>java.security.cert.CertPathValidator: PKIX</li> <li>javax.crypto.SecretKeyFactory: PBKDF2WithHmacSHA1, PBKDF2WithHmacSHA224, PBKDF2WithHmacSHA256, PBKDF2WithHmacSHA384, PBKDF2WithHmacSHA512, PBKDF2WithHmacSHA3-224, PBKDF2WithHmacSHA3-256, PBKDF2WithHmacSHA3-384, PBKDF2WithHmacSHA3-512</li> </ul> </div> </div></div></div></div><div id="pg-1324-5" class="panel-grid panel-has-style" ><div class="separate panel-row-style panel-row-style-for-1324-5" ><div id="pgc-1324-5-0" class="panel-grid-cell panel-grid-cell-empty" ></div></div></div><div id="pg-1324-6" class="panel-grid panel-no-style" ><div id="pgc-1324-6-0" class="panel-grid-cell" ><div id="panel-1324-6-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="9" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <p class="paragraph_style_5"><strong>Supported Chipmakers (wolfCrypt)</strong></p> <ul> <li class="paragraph_style_5">wolfSSL has support for chipsets including ARM, Intel, Motorola, mbed, <a title="wolfssl-freescale.html" href="https://www.wolfssl.com/docs/freescale/">NXP/Freescale</a>, Microchip (<a title="wolfssl-pic32.html" href="https://www.wolfssl.com/docs/pic32/">PIC32</a>)/<a title="wolfssl-atmel.html" href="https://www.wolfssl.com/docs/atmel/">Atmel</a>, ST (<a title="wolfssl-stm32.html" href="https://www.wolfssl.com/docs/stm32/">STM32F2/F4</a>), <a title="wolfssl-analog-devices.html" href="https://www.wolfssl.com/docs/analog-devices/">Analog Devices</a>, <a title="wolfssl-ti.html" href="https://www.wolfssl.com/docs/ti/">Texas Instruments</a>, and more</li> <li class="paragraph_style_5">If you would like to use or test wolfSSL on another chipset, let us know and we鈥檒l be happy to support you.</li> </ul> </div> </div></div></div><div id="pgc-1324-6-1" class="panel-grid-cell" ><div class="panel-cell-style panel-cell-style-for-1324-6-1" ><div id="panel-1324-6-1-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="10" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <p class="paragraph_style_5"><strong>Supported Operating Environments<br /> </strong></p> <ul> <li class="paragraph_style_5">Linux, Mac OS X, Windows (Visual Studio)</li> <li class="paragraph_style_5">If you would like to test wolfSSL on another environment, let us know and we鈥檒l be happy to support you.</li> </ul> </div> </div></div></div></div></div><div id="pg-1324-7" class="panel-grid panel-has-style" ><div class="panel-row-style panel-row-style-for-1324-7" ><div id="pgc-1324-7-0" class="panel-grid-cell" ><div id="panel-1324-7-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="11" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <p> </p> <p class="paragraph_style_11"><strong>Documentation</strong></p> <ul> <li class="paragraph_style_11"><a class="class13" title="Docs-wolfcrypt-jni-jce-manual.html" href="https://www.wolfssl.com/documentation/manuals/wolfcryptjni">wolfCrypt JCE Manual</a></li> <li class="paragraph_style_11"><a class="class14" title="Docs.html" href="https://www.wolfssl.com/docs/">Documentation Page</a></li> </ul> </div> </div></div></div><div id="pgc-1324-7-1" class="panel-grid-cell" ><div id="panel-1324-7-1-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="12" ><div class="so-widget-sow-editor so-widget-sow-editor-base" > <div class="siteorigin-widget-tinymce textwidget"> <p><strong>Licensing and Ordering:</strong></p> <p class="paragraph_style_11">wolfCrypt JNI/JCE are dual licensed under both the GPLv2 and commercial licensing. For more information, please see the following links.</p> <ul> <li><a class="class19" title="License.html" href="https://www.wolfssl.com/license/">License Information</a></li> <li><a class="class20" title="https://www.wolfssl.com/download/support-packages/" href="https://www.wolfssl.com/download/support-packages/">Support Packages</a></li> <li><a class="class21" title="Contact.html" href="https://www.wolfssl.com/contact/">Contact Us</a></li> </ul> </div> </div></div></div></div></div></div> </div><!-- .entry-content --> </article><!-- #post-## --> </main><!-- #main --> </div><!-- #primary --> <div id="secondary" class="widget-area" role="complementary" aria-label="Main Sidebar"> </div><!-- #secondary --> </div><!-- .container --> </div><!-- #content --> <footer id="colophon" class="site-footer unconstrained-footer" role="contentinfo"> <div class="container"> </div><!-- .container --> <div class="site-info"> <div class="container"> <div class="banner"> <a href="https://www.wolfssl.com/frequently-asked-questions-faq/"> <h1>wolfSSL FAQ</h1> </a> </div> <div class="banner"> <a href="https://www.wolfssl.com/products/curl/"> <h1>wolfSSL curl</h1> </a> </div> <a href="https://www.wolfssl.com/docs/tls13/"> <img id="tls13Banner" src="/wordpress/wp-content/uploads/2018/08/TLS13-now-avail.png"> </a> <div class="banner"> <a href="https://www.wolfssl.com/events/"><h1>Upcoming Events</h1></a> </div> <div id="lastBanner"> <a href="https://www.wolfssl.com/community/partner-network/"><h1>wolfSSL Partners</h1></a> </div> <div id="footerProducts"> <!--<a href="https://www.wolfssl.com/curl-up-2022-wolfssl/"> <img src="https://www.wolfssl.com/wordpress/wp-content/uploads/2022/07/curl_up_2022_virtual_1200.png" style="width:1200px"> </a>--> <!-- footer box row BEGIN --> <div class="footerBox"> <a href="/products/wolfssl/"> <h2>wolfSSL SSL/TLS Library</h2> <p>The wolfSSL lightweight TLS library supports TLS 1.3 and DTLS 1.3 on both client and server sides, features progressive algorithm support, is optimized for footprint and runtime memory use, and more!</p> <a/> </div> <div class="footerBox"> <a href="/products/wolfcrypt/"> <h2>wolfCrypt Crypto Engine</h2> <p>The wolfCrypt Crypto engine is a lightweight, embeddable, and easy-to-configure crypto library with a strong focus on portability, modularity, security, and feature set. FIPS 140-3 and MISRA available.</p> </a> </div> <div class="footerBox"> <a href="/docs/case-studies/"> <h2>Case Studies</h2> <p>Through use in games, databases, sensors, VoIP application, and more there is over 1 Billion copies of wolfSSL products in production environments today. Click to view all wolfSSL case studies.</p> </a> </div> <div id="rightFooterBox" class="footerBox"> <a href="/license/fips/"> <h2>wolfCrypt FIPS Module</h2> <p>The Cryptographic Module Validation Program (CMVP) has issued FIPS 140-3 Certificate #4718 for the wolfCrypt Module developed by wolfSSL Inc, the world's first SP800-140Br1 validated certificate. Click to read more.</p> </a> </div> <!-- footer box row END --> <div id="footer"><div id="innerFooter"> <div class="lowNav"> <p class="footText">Product Information</p> <ul class="lowNavList"> <a href="/products/wolfssl/"><li>wolfSSL TLS Library</li></a> <a href="/products/wolfcrypt/"><li>wolfCrypt Crypto Engine</li></a> <a href="/license/fips/"><li>wolfCrypt FIPS</li></a> <a href="/products/wolftpm/"><li>wolfTPM Portable TPM 2.0 Library</li></a> <a href="/products/wolfmqtt/"><li>wolfMQTT Client Library</li></a> <a href="/products/wolfssh/"><li>wolfSSH SSH Library</li></a> <a href="/products/wolfboot/"><li>wolfBoot Secure Bootloader</li></a> <a href="/products/curl/"><li>cURL</li></a> <a href="/products/wolfssl-jni/"><li>wolfSSL JNI</li></a> <a href="/products/wolfcrypt-jni-jce/"><li>wolfCrypt JNI and JCE Provider</li></a> <a href="/license/"><li>License Information</li></a> </ul> </div> <div class="lowNav"> <p class="footText">Documentation</p> <ul class="lowNavList"> <a href="/documentation/manuals/wolfssl/"><li>wolfSSL Manual</li></a> <a href="/docs/wolfssl-manual/ch17/"><li>wolfSSL API Reference</li></a> <a href="/doxygen/index.html"><li>Doxygen API Reference</li></a> <a href="/docs/wolfssl-manual/ch2/"><li>Building wolfSSL</li></a> <a href="/docs/wolfssl-manual/ch11/"><li>SSL Tutorial</li></a> <a href="/docs/case-studies/"><li>Case Studies</li></a> <a href="/docs/"><li>Additional Documentation</li></a> </ul> </div> <div id="lowCenter"> <p class="footText" id="center">Copyright © 2024 wolfSSL Inc.<br>All rights reserved.</p> <div id="socialIcons"> <!--<a href="https://twitter.com/wolfssl" target="_blank"><img src="/wordpress/wp-content/uploads/2018/06/twitter-icon.png" alt="Twitter"/></a>--> <a href="https://twitter.com/wolfssl" target="_blank"><img src="/wordpress/wp-content/uploads/2023/08/x.png" alt="X"/></a> <a href="https://www.facebook.com/wolfssl" target="_blank"><img src="https://www.wolfssl.com/wordpress/wp-content/uploads/2018/06/facebook-icon.png" alt="Facebook"/></a> <a href="https://www.github.com/wolfssl" target="_blank"><img src="/wordpress/wp-content/uploads/2018/06/github-icon.png" alt="Github"/></a> <a href="https://www.linkedin.com/company/wolfssl/" target="_blank"><img src="/wordpress/wp-content/uploads/2020/12/linkedin_50_50.png" alt="Linkedin"/></a> <a href="https://www.flickr.com/photos/54654493@N05/" target="_blank"><img src="/wordpress/wp-content/uploads/2018/06/flickr-icon.png" alt="Flickr"/></a> </div> <div id="madeInUsa"><img src="/wordpress/wp-content/uploads/2020/12/madeInUsa_100px.png" alt="Made in the USA"></div> </div> <div class="lowNav"> <p class="footText">Help and Support</p> <ul class="lowNavList"> <a href="https://www.wolfssl.com/frequently-asked-questions-faq/"><li>FAQ Page</li></a> <a href="https://www.wolfssl.com/products/support-and-maintenance/"><li>Support Forum</li></a> <a href="/support-blog/"><li>Support Blog</li></a> <a href="/products/support-and-maintenance/"><li>Support and Maintenance</li></a> <a href="/docs/consulting/"><li>Consulting Services</li></a> <a href="/docs/security-vulnerabilities/"><li>Vulnerability Info</li></a> <a href="/contact/"><li>Contact Us</li></a> <a href="/community/partner-network/"><li>Partners</li></a> </ul> </div> <div class="lowNav" id="lastLowNav"> <p class="footText">Reference</p> <ul class="lowNavList"> <a href="/docs/wolfssl-manual/appendix-b/"><li>Algorithm/Protocol Reference</li></a> <a href="/docs/media/"><li>Presentations</li></a> <a href="/events/"><li>Upcoming Events</li></a> <a href="/directory/"><li>Site Directory</li></a> </ul> </div> </div></div> <!--<div class="push"></div><div id="conferences">--> <!-- Distributech --> <!-- <a href="https://www.wolfssl.com/events/"><img class="conf" src="/wordpress/wp-content/uploads/2020/02/rsaconference_2020_medium.jpg" alt="Upcoming wolfSSL Event"></a>--> <!--</div>--> </div><!-- .site-info --> </footer><!-- #colophon --> </div><!-- #page --> <script> (function($){ "use strict"; var $searchArea = $('.top-search-menu'); $searchArea.click(function(){ $(this).addClass('input-expanded'); }); $(document).mouseup(function (e){ var container = $(".top-search-menu"); if (!$searchArea.is(e.target) && $searchArea.has(e.target).length === 0){ $searchArea.removeClass('input-expanded'); } }); })(jQuery); </script><link rel='stylesheet' id='so-css-siteorigin-north-css' href='https://www.wolfssl.com/wordpress/wp-content/uploads/so-css/so-css-siteorigin-north.css?ver=1693437314' type='text/css' media='all' /> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/js/jquery.flexslider.min.js?ver=2.6.3' id='jquery-flexslider-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/js/jquery.transit.min.js?ver=0.9.12' id='jquery-transit-js'></script> <script type='text/javascript' id='siteorigin-north-script-js-extra'> /* <![CDATA[ */ var siteoriginNorth = {"smoothScroll":"1"}; /* ]]> */ </script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/js/north.min.js?ver=1.3.15' id='siteorigin-north-script-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/js/skip-link-focus-fix.min.js?ver=1.3.15' id='siteorigin-north-skip-link-js'></script> <script type='text/javascript' src='https://www.wolfssl.com/wordpress/wp-content/themes/siteorigin-north/js/jquery.fitvids.min.js?ver=1.1' id='jquery-fitvids-js'></script> <script type="text/javascript">document.body.className = document.body.className.replace("siteorigin-panels-before-js","");</script> <!-- WooCommerce Quick View --> <div id="quick-view-container"> <div id="product-quick-view" class="quick-view"></div> </div> <!-- Highlight parent page link when on child page --> <script type="text/javascript"> jQuery("li.current-page-ancestor").addClass('current-menu-item'); </script> </body> </html>