日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tomcat 启动时 SecureRandom 非常慢解决办法

發布時間:2025/6/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tomcat 启动时 SecureRandom 非常慢解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近使用阿里云的 Ubuntu 16.04 ESC 服務器運行 Tomcat 時發現,Tomcat 啟動的特別慢,通過查看日志,發現時間主要花在實例化 SecureRandom 對象上了。

由該日志可以看出,實例化該對象使用了253秒,導致整個應用啟動了275秒之久。

注意這條日志:

org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [253,251] milliseconds.

根本原因是 SecureRandom 這個 jre 的工具類的問題。那為什么 SecureRandom generateSeed 這么慢,甚至掛在 Linux 操作系統呢?

Tomcat 7/8 都使用 org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 類產生安全隨機類 SecureRandom 的實例作為會話 ID。

Tomcat 使用 SHA1PRNG 算法是基于 SHA-1 算法實現且保密性較強的偽隨機數生成器。

在 SHA1PRNG 中,有一個種子產生器,它根據配置執行各種操作。

Linux 中的隨機數可以從兩個特殊的文件中產生,一個是 /dev/urandom,另外一個是 /dev/random。他們產生隨機數的原理是利用當前系統的熵池來計算出固定一定數量的隨機比特,然后將這些比特作為字節流返回。熵池就是當前系統的環境噪音,熵指的是一個系統的混亂程度,系統噪音可以通過很多參數來評估,如內存的使用,文件的使用量,不同類型的進程數量等等。如果當前環境噪音變化的不是很劇烈或者當前環境噪音很小,比如剛開機的時候,而當前需要大量的隨機比特,這時產生的隨機數的隨機效果就不是很好了。

這就是為什么會有 /dev/urandom 和 /dev/random 這兩種不同的文件,后者在不能產生新的隨機數時會阻塞程序,而前者不會(ublock),當然產生的隨機數效果就不太好了,這對加密解密這樣的應用來說就不是一種很好的選擇。/dev/random 會阻塞當前的程序,直到根據熵池產生新的隨機字節之后才返回,所以使用 /dev/random 比使用 /dev/urandom 產生大量隨機數的速度要慢。

SecureRandom generateSeed? 使用 /dev/random 生成種子。但是 /dev/random 是一個阻塞數字生成器,如果它沒有足夠的隨機數據提供,它就一直等,這迫使 JVM 等待。鍵盤和鼠標輸入以及磁盤活動可以產生所需的隨機性或熵。但在一個服務器缺乏這樣的活動,可能會出現問題。

有2種解決方案:

1. 在Tomcat環境中解決:

可以通過配置 JRE 使用非阻塞的 Entropy Source:

在 catalina.sh 中加入這么一行:-Djava.security.egd=file:/dev/./urandom 即可。

2. 在 JVM 環境中解決:

打開 $JAVA_PATH/jre/lib/security/java.security 這個文件,找到下面的內容:

securerandom.source=file:/dev/random

替換成:

securerandom.source=file:/dev/./urandom

這里值為何要在 dev 和 random 之間加一個點呢?是因為一個 JDK 的 bug,有人反饋即使對 securerandom.source 設置為 /dev/urandom 它也仍然使用的 /dev/random,有人提供了變通的解決方法,其中一個變通的做法是對 securerandom.source 設置為 /dev/./urandom 才行。也有人評論說這個不是 bug,是有意為之。

在 JDK 7 的 java.security 文件里,配置里的是:

# Select the source of seed data for SecureRandom. By default an # attempt is made to use the entropy gathering device specified by # the securerandom.source property. If an exception occurs when # accessing the URL then the traditional system/thread activity # algorithm is used. # # On Solaris and Linux systems, if file:/dev/urandom is specified and it # exists, a special SecureRandom implementation is activated by default. # This "NativePRNG" reads random bytes directly from /dev/urandom. # # On Windows systems, the URLs file:/dev/random and file:/dev/urandom # enables use of the Microsoft CryptoAPI seed functionality. # securerandom.source=file:/dev/urandom

但這個 /dev/urandom 也同那個 bug 報告里所說的等同于 /dev/random;要使用非阻塞的熵池,這里還是要修改為 /dev/./urandom。經測試,貌似 JDK 7 并沒有同注釋里的意思修復了這個問題。

?

轉載于:https://www.cnblogs.com/gscq073240/articles/8613419.html

總結

以上是生活随笔為你收集整理的Tomcat 启动时 SecureRandom 非常慢解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩少妇激情 | 91免费看片网站 | 男女午夜爽爽 | 小sao货水好多真紧h无码视频 | 久久久精品在线观看 | 快播怡红院 | 91日本在线观看 | 国产成年人视频网站 | 51国产在线| 亚洲第一免费 | 蜜臀av色欲a片无码精品一区 | 国产老头老太作爱视频 | 欧美黑人一级 | 蜜臀99久久精品久久久久小说 | 日韩欧美一卡二卡 | 亚洲精品性视频 | 亚洲一二三四五 | 精品在线播放视频 | 国产日韩欧美视频在线 | 欧美日韩一区二区综合 | 九九综合久久 | 亚洲综合专区 | a一级免费视频 | 欧美大片免费 | 四虎色 | 香蕉视频网站在线观看 | 国产尤物视频在线 | 中国精品毛片 | 97在线视频观看 | 秋霞7777鲁丝伊人久久影院 | 人妻va精品va欧美va | av在线网站观看 | 自拍视频国产 | 久久久久亚洲日日精品 | aaa国产| 视频一区二区三区在线 | 91免费视频国产 | 国产精品七区 | 亚洲午夜无码久久久久 | 麻豆md0034在线观看 | 69精品人妻一区二区三区 | 亚洲第一区在线观看 | 天堂一级片 | 国产无套内射又大又猛又粗又爽 | 亚洲国产精品一区二区尤物区 | 亚洲一级片免费 | 精品1区2区| 国产激情一区 | 美女扒开腿让男人捅 | 我和岳m愉情xxxⅹ视频 | 都市激情男人天堂 | 欧美日韩黄色一区二区 | 一区二区不卡av | 国产成人在线观看免费网站 | 亚洲欧美日韩中文在线 | 丁香六月激情 | 少妇人妻一区二区 | 久草视频免费 | 久久这里只有精品久久 | 在线观看亚洲天堂 | 激情五月婷婷网 | 尤物国产| 国精产品一区一区三区视频 | 丁香花电影免费播放电影 | 色呦呦官网 | 日韩精品一二三四区 | 久久精品在线播放 | 中文字幕av久久爽一区 | 日韩欧美自拍偷拍 | 欧美日本在线 | 秋霞午夜鲁丝一区二区 | 日本中文字幕第一页 | 丝袜脚交国产在线观看 | 69式视频 | 国产高清视频免费观看 | 精品二区视频 | 蜜桃9999| 欧美xxxx性 | 男女野外做受全过程 | 国产一区精品视频 | 神宫寺奈绪一区二区三区 | 欧美日韩一卡 | 精品国产麻豆 | 蜜桃久久一区二区三区 | 国产精视频 | 日本一区二区三区免费电影 | 亚洲精选久久久 | 黄色污污视频网站 | 三级精品在线观看 | 99ri国产在线| 国产噜噜噜噜久久久久久久久 | 久久伊人五月天 | 全黄一级裸片视频 | 亚洲成人自拍偷拍 | 色天天干 | 免费人成在线 | 欧美自偷自拍 | 国产精品人成在线观看免费 | 日韩不卡毛片 |