Changeset d6a53cc
- Timestamp:
- Mar 9, 2019 11:47:03 AM (23 months ago)
- Branches:
- master
- Children:
- 5d389c8
- Parents:
- 409207e0
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
apps/i2ptunnel/jsp/register.jsp
r409207e0 rd6a53cc 128 128 if (spk == null) { 129 129 %><tr><td class="infohelp"><%=intl._t("Destination signing key is not available. Start the tunnel.")%></td></tr><% 130 } else if (spk.isOffline()) { 131 %><tr><td class="infohelp"><%=intl._t("Destination signing key is offline. Use CLI tools on the offline machine.")%></td></tr><% 130 132 } else { 131 133 valid = true; -
apps/sam/java/src/net/i2p/sam/SAMUtils.java
r409207e0 rd6a53cc 118 118 SigningPrivateKey spk = new SigningPrivateKey(dtype); 119 119 spk.readBytes(destKeyStream); 120 if ( isOffline(spk)) {120 if (spk.isOffline()) { 121 121 // offlineExpiration 122 122 DataHelper.readLong(destKeyStream, 4); … … 140 140 return destKeyStream.available() == 0; 141 141 } 142 143 /**144 * @since 0.9.39145 */146 private static boolean isOffline(SigningPrivateKey spk) {147 byte[] data = spk.getData();148 for (int i = 0; i < data.length; i++) {149 if (data[i] != 0)150 return false;151 }152 return true;153 }154 155 142 156 143 /** -
core/java/src/net/i2p/client/impl/I2PSessionImpl.java
r409207e0 rd6a53cc 578 578 _signingPrivateKey = new SigningPrivateKey(dtype); 579 579 _signingPrivateKey.readBytes(destKeyStream); 580 if ( isOffline(_signingPrivateKey)) {580 if (_signingPrivateKey.isOffline()) { 581 581 _offlineExpiration = DataHelper.readLong(destKeyStream, 4) * 1000;; 582 582 int itype = (int) DataHelper.readLong(destKeyStream, 2); … … 592 592 _signingPrivateKey.readBytes(destKeyStream); 593 593 } 594 }595 596 /**597 * Constant time598 * @since 0.9.38599 */600 private static boolean isOffline(SigningPrivateKey spk) {601 byte b = 0;602 byte[] data = spk.getData();603 for (int i = 0; i < data.length; i++) {604 b |= data[i];605 }606 return b == 0;607 594 } 608 595 -
core/java/src/net/i2p/data/PrivateKeyFile.java
r409207e0 rd6a53cc 622 622 623 623 /** 624 * Constant time625 * @since 0.9.38626 */627 private static boolean isOffline(SigningPrivateKey spk) {628 byte b = 0;629 byte[] data = spk.getData();630 for (int i = 0; i < data.length; i++) {631 b |= data[i];632 }633 return b == 0;634 }635 636 /**637 624 * Does this session have offline and transient keys? 638 625 * @since 0.9.38 … … 647 634 */ 648 635 public void setOfflineData(long expires, SigningPublicKey transientPub, Signature sig, SigningPrivateKey transientPriv) { 649 if (! isOffline(signingPrivKey)) {636 if (!signingPrivKey.isOffline()) { 650 637 SigType type = getSigningPrivKey().getType(); 651 638 byte[] dbytes = new byte[type.getPrivkeyLen()]; -
core/java/src/net/i2p/data/SigningPrivateKey.java
r409207e0 rd6a53cc 102 102 103 103 /** 104 * Constant time 105 * @return true if all zeros 106 * @since 0.9.39 moved from PrivateKeyFile 107 */ 108 public boolean isOffline() { 109 if (_data == null) 110 return true; 111 byte b = 0; 112 for (int i = 0; i < _data.length; i++) { 113 b |= _data[i]; 114 } 115 return b == 0; 116 } 117 118 /** 104 119 * @since 0.9.8 105 120 */
Note: See TracChangeset
for help on using the changeset viewer.