如何在命令行上指定密钥库类型?

时间:2018-09-24 14:56:00

标签: java keystore

在java.security文件中,您可以指定keystore.type值。但是,这似乎更改了所有JVM实例的默认密钥库类型。我只想更改一个实例。

当前,它设置为“ jks”,但我需要将其设置为“ jceks”。我尝试了-Djava.security.keystore.type=jceks,但这似乎没有达到我想要的目的。

什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

FROM_BUS=[1,3,4,5,1,2] TO_BUS=[12,12,16,12,14,11] CKT=[1,1,1,1,2,1] for bus in FROM_BUS: for buz in TO_BUS: for buc in CKT: print('IBUS: {} JBUS: {} ICKT: {} '.format(bus, buz, buc)) 设置系统属性; enum TimeOfDay: String { case Dimineata = "Dimineata" case Pranz = "Pranz" case Seara = "Seara" } class ViewController: UIViewController { @IBOutlet weak var timeOfDayLabel: UILabel! @IBOutlet weak var sunImage: UIImageView! var timeOfDay = TimeOfDay.Dimineata override func viewDidLoad() { super.viewDidLoad() } @IBAction func didTapNext(_ sender: Any) { switch timeOfDay { case .Dimineata: timeOfDay = .Pranz sunImage.image = UIImage(named: "LunchSun") UIView.animate(withDuration: 1) { self.sunImage.frame = CGRect(x: self.view.center.x-50, y: 120, width: 100, height: 100) } case .Pranz: timeOfDay = .Seara sunImage.image = UIImage(named: "NightSun") UIView.animate(withDuration: 1) { self.sunImage.frame = CGRect(x: self.view.frame.width-50, y: 166, width: 100, height: 100) } default: timeOfDay = .Dimineata sunImage.image = UIImage(named: "NightSun") UIView.animate(withDuration: 1) { self.sunImage.frame = CGRect(x: self.view.frame.origin.x-50, y: 166, width: 100, height: 100) } } timeOfDayLabel.text = timeOfDay.rawValue.uppercased() } } 中的设置是安全属性,不是系统属性,不能直接在命令行上设置。您可以创建补充(或替换)文件,并使用sysprop -Dname=value指定,只要您(或任何其他人)未更改默认设置即可java.security-Djava.security.properties=name_of_file_containing_keystore_setting中的第一个。相似:How can I disable TLSv1 without change source code?

请注意,默认情况下,如果您只需要更改 JSSE用于SSL / TLS / HTTPS / etc 的信任库和/或密钥库的类型,则那些使用sysprops security.overridePropertiesFile=true(以及java.security)。

另外,您可能想知道Java9 up将安装时的默认值更改为PKCS12,与JKS相比,它更安全,更可移植/可互操作。