| 
				
			 | 
			
			
				@@ -38,6 +38,98 @@ KEYLENGTH=2048 
			 | 
		
	
		
			
			| 
				38
			 | 
			
				38
			 | 
			
			
				 RECALCULATE="no" 
			 | 
		
	
		
			
			| 
				39
			 | 
			
				39
			 | 
			
			
				 FAST='' 
			 | 
		
	
		
			
			| 
				40
			 | 
			
				40
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				41
			 | 
			
			
				+# From BetterCrypto: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+# 
			 | 
		
	
		
			
			| 
				
			 | 
			
				43
			 | 
			
			
				+#   "Where configurable, we recommend using the Diffie Hellman groups 
			 | 
		
	
		
			
			| 
				
			 | 
			
				44
			 | 
			
			
				+#    defined for IKE, specifically groups 14-18 (2048–8192bit MODP). 
			 | 
		
	
		
			
			| 
				
			 | 
			
				45
			 | 
			
			
				+#    These groups have been checked by many eyes and can be assumed 
			 | 
		
	
		
			
			| 
				
			 | 
			
				46
			 | 
			
			
				+#    to be secure." 
			 | 
		
	
		
			
			| 
				
			 | 
			
				47
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				48
			 | 
			
			
				+BETTERCRYPTO_GROUP14='-----BEGIN DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				49
			 | 
			
			
				+MIIBCAKCAQEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				50
			 | 
			
			
				+IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft 
			 | 
		
	
		
			
			| 
				
			 | 
			
				51
			 | 
			
			
				+awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT 
			 | 
		
	
		
			
			| 
				
			 | 
			
				52
			 | 
			
			
				+mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh 
			 | 
		
	
		
			
			| 
				
			 | 
			
				53
			 | 
			
			
				+fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				54
			 | 
			
			
				+5RXSJhiY+gUQFXKOWoqsqmj//////////wIBAg== 
			 | 
		
	
		
			
			| 
				
			 | 
			
				55
			 | 
			
			
				+-----END DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				56
			 | 
			
			
				+' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				57
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				58
			 | 
			
			
				+BETTERCRYPTO_GROUP15='-----BEGIN DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				59
			 | 
			
			
				+MIIBiAKCAYEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				60
			 | 
			
			
				+IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft 
			 | 
		
	
		
			
			| 
				
			 | 
			
				61
			 | 
			
			
				+awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT 
			 | 
		
	
		
			
			| 
				
			 | 
			
				62
			 | 
			
			
				+mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh 
			 | 
		
	
		
			
			| 
				
			 | 
			
				63
			 | 
			
			
				+fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				64
			 | 
			
			
				+5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				66
			 | 
			
			
				+ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqTrS 
			 | 
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				+yv//////////AgEC 
			 | 
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				+-----END DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				69
			 | 
			
			
				+' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+BETTERCRYPTO_GROUP16='-----BEGIN DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+MIICCAKCAgEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				73
			 | 
			
			
				+IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft 
			 | 
		
	
		
			
			| 
				
			 | 
			
				74
			 | 
			
			
				+awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT 
			 | 
		
	
		
			
			| 
				
			 | 
			
				75
			 | 
			
			
				+mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh 
			 | 
		
	
		
			
			| 
				
			 | 
			
				76
			 | 
			
			
				+fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				77
			 | 
			
			
				+5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM 
			 | 
		
	
		
			
			| 
				
			 | 
			
				78
			 | 
			
			
				+fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				79
			 | 
			
			
				+ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqSEI 
			 | 
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				+ARpyPBKnh+bXiHGaEL26WyaZwycYavTiPBqUaDS2FQvaJYPpyirUTOjbu8LbBN6O 
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				++S6O/BQfvsqmKHxZR05rwF2ZspZPoJDDoiM7oYZRW+ftH2EpcM7i16+4G912IXBI 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+HNAGkSfVsFqpk7TqmI2P3cGG/7fckKbAj030Nck0BjGZ//////////8CAQI= 
			 | 
		
	
		
			
			| 
				
			 | 
			
				83
			 | 
			
			
				+-----END DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				+' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				86
			 | 
			
			
				+BETTERCRYPTO_GROUP17='-----BEGIN DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				87
			 | 
			
			
				+MIIDCAKCAwEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				+IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft 
			 | 
		
	
		
			
			| 
				
			 | 
			
				89
			 | 
			
			
				+awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT 
			 | 
		
	
		
			
			| 
				
			 | 
			
				90
			 | 
			
			
				+mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh 
			 | 
		
	
		
			
			| 
				
			 | 
			
				91
			 | 
			
			
				+fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				92
			 | 
			
			
				+5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM 
			 | 
		
	
		
			
			| 
				
			 | 
			
				93
			 | 
			
			
				+fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				94
			 | 
			
			
				+ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqSEI 
			 | 
		
	
		
			
			| 
				
			 | 
			
				95
			 | 
			
			
				+ARpyPBKnh+bXiHGaEL26WyaZwycYavTiPBqUaDS2FQvaJYPpyirUTOjbu8LbBN6O 
			 | 
		
	
		
			
			| 
				
			 | 
			
				96
			 | 
			
			
				++S6O/BQfvsqmKHxZR05rwF2ZspZPoJDDoiM7oYZRW+ftH2EpcM7i16+4G912IXBI 
			 | 
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				+HNAGkSfVsFqpk7TqmI2P3cGG/7fckKbAj030Nck0AoSSNsP6tNJ8cCbB1NyyYCZG 
			 | 
		
	
		
			
			| 
				
			 | 
			
				98
			 | 
			
			
				+3sl1HnY9uje9+P+UBq2eUw7l2zgvQTABrrBqU+2QJ9gxF5cnsIZaiRjaPtvrz5sU 
			 | 
		
	
		
			
			| 
				
			 | 
			
				99
			 | 
			
			
				+7UTObLrO1Lsb238UR+bMJUszIFFRK9evQm+49AE3jNK/WYPKAcZLkuzwMuoV0XId 
			 | 
		
	
		
			
			| 
				
			 | 
			
				100
			 | 
			
			
				+A/SC185udP721V5wL0aYDIK1qEAxkAscnlnnyX++x+jzI6l6fjbMiL4PHUW3/1ha 
			 | 
		
	
		
			
			| 
				
			 | 
			
				101
			 | 
			
			
				+xUvUB7IrQVSqzI9tfr9I4dgUzF7SD4A34KeXFe7ym+MoBqHVi7fF2nb1UKo9ih+/ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				102
			 | 
			
			
				+8OsZzLGjE9Vc2lbJ7C7yljI4f+jXbjwEaAQ+j2Y/SGDuEr8tWwt0dNbmlPkebcxA 
			 | 
		
	
		
			
			| 
				
			 | 
			
				103
			 | 
			
			
				+JP//////////AgEC 
			 | 
		
	
		
			
			| 
				
			 | 
			
				104
			 | 
			
			
				+-----END DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				105
			 | 
			
			
				+' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				107
			 | 
			
			
				+BETTERCRYPTO_GROUP18='-----BEGIN DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				+MIIECAKCBAEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				109
			 | 
			
			
				+IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft 
			 | 
		
	
		
			
			| 
				
			 | 
			
				110
			 | 
			
			
				+awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT 
			 | 
		
	
		
			
			| 
				
			 | 
			
				111
			 | 
			
			
				+mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh 
			 | 
		
	
		
			
			| 
				
			 | 
			
				112
			 | 
			
			
				+fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				113
			 | 
			
			
				+5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM 
			 | 
		
	
		
			
			| 
				
			 | 
			
				114
			 | 
			
			
				+fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq 
			 | 
		
	
		
			
			| 
				
			 | 
			
				115
			 | 
			
			
				+ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqSEI 
			 | 
		
	
		
			
			| 
				
			 | 
			
				116
			 | 
			
			
				+ARpyPBKnh+bXiHGaEL26WyaZwycYavTiPBqUaDS2FQvaJYPpyirUTOjbu8LbBN6O 
			 | 
		
	
		
			
			| 
				
			 | 
			
				117
			 | 
			
			
				++S6O/BQfvsqmKHxZR05rwF2ZspZPoJDDoiM7oYZRW+ftH2EpcM7i16+4G912IXBI 
			 | 
		
	
		
			
			| 
				
			 | 
			
				118
			 | 
			
			
				+HNAGkSfVsFqpk7TqmI2P3cGG/7fckKbAj030Nck0AoSSNsP6tNJ8cCbB1NyyYCZG 
			 | 
		
	
		
			
			| 
				
			 | 
			
				119
			 | 
			
			
				+3sl1HnY9uje9+P+UBq2eUw7l2zgvQTABrrBqU+2QJ9gxF5cnsIZaiRjaPtvrz5sU 
			 | 
		
	
		
			
			| 
				
			 | 
			
				120
			 | 
			
			
				+7UTObLrO1Lsb238UR+bMJUszIFFRK9evQm+49AE3jNK/WYPKAcZLkuzwMuoV0XId 
			 | 
		
	
		
			
			| 
				
			 | 
			
				121
			 | 
			
			
				+A/SC185udP721V5wL0aYDIK1qEAxkAscnlnnyX++x+jzI6l6fjbMiL4PHUW3/1ha 
			 | 
		
	
		
			
			| 
				
			 | 
			
				122
			 | 
			
			
				+xUvUB7IrQVSqzI9tfr9I4dgUzF7SD4A34KeXFe7ym+MoBqHVi7fF2nb1UKo9ih+/ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				123
			 | 
			
			
				+8OsZzLGjE9Vc2lbJ7C7yljI4f+jXbjwEaAQ+j2Y/SGDuEr8tWwt0dNbmlPkebb4R 
			 | 
		
	
		
			
			| 
				
			 | 
			
				124
			 | 
			
			
				+WXSjkm8S/uXkOHd8tqky34zYvsTQc7kxujvIMraNndMAdB+nv4r8R+0ldvaTa6Qk 
			 | 
		
	
		
			
			| 
				
			 | 
			
				125
			 | 
			
			
				+ZjqrY5xa5PVoNCO0dCvxyXgjjxbL451lLeP9uL78hIrZIiIuBKQDfAcT61eoGiPw 
			 | 
		
	
		
			
			| 
				
			 | 
			
				126
			 | 
			
			
				+xzRz/GRs6jBrS8vIhi+Dhd36nUt/osCH6HloMwPtW906Bis89bOieKZtKhP4P0T4 
			 | 
		
	
		
			
			| 
				
			 | 
			
				127
			 | 
			
			
				+Ld8xDuB0q2o2RZfomaAlXcFk8xzFCEaFHfmrSBld7X6hsdUQvX7nTXP682vDHs+i 
			 | 
		
	
		
			
			| 
				
			 | 
			
				128
			 | 
			
			
				+aDWQRvTrh5+SQAlDi0gcbNeImgAu1e44K8kZDab8Am5HlVjkR1Z36aqeMFDidlaU 
			 | 
		
	
		
			
			| 
				
			 | 
			
				129
			 | 
			
			
				+38gfVuiAuW5xYMmA3Zjt09///////////wIBAg== 
			 | 
		
	
		
			
			| 
				
			 | 
			
				130
			 | 
			
			
				+-----END DH PARAMETERS----- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				131
			 | 
			
			
				+' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				132
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				41
			 | 
			
				133
			 | 
			
			
				 function show_help { 
			 | 
		
	
		
			
			| 
				42
			 | 
			
				134
			 | 
			
			
				     echo '' 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				135
			 | 
			
			
				     echo $"${PROJECT_NAME}-dhparam -h [hostname] -l [length in bits] --recalc [yes|no] --fast [yes|no]" 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -46,10 +138,32 @@ function show_help { 
			 | 
		
	
		
			
			| 
				46
			 | 
			
				138
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				139
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				48
			 | 
			
				140
			 | 
			
			
				 function calc_dh { 
			 | 
		
	
		
			
			| 
				49
			 | 
			
				
			 | 
			
			
				-    openssl dhparam -check -text $FAST $KEYLENGTH -out ${1} 
			 | 
		
	
		
			
			| 
				50
			 | 
			
				
			 | 
			
			
				-    if [ ! "$?" = "0" ]; then 
			 | 
		
	
		
			
			| 
				51
			 | 
			
				
			 | 
			
			
				-        exit 3674 
			 | 
		
	
		
			
			| 
				52
			 | 
			
				
			 | 
			
			
				-    fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				141
			 | 
			
			
				+    if [[ $FAST == 'yes' ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				142
			 | 
			
			
				+        DHGROUP=$(( ( RANDOM % 4 )  + 14 )) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				143
			 | 
			
			
				+        if [[ ${DHGROUP} == 14 ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				144
			 | 
			
			
				+            echo "$BETTERCRYPTO_GROUP14" > ${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				145
			 | 
			
			
				+        else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				146
			 | 
			
			
				+            if [[ ${DHGROUP} == 15 ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				147
			 | 
			
			
				+                echo "$BETTERCRYPTO_GROUP15" > ${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				148
			 | 
			
			
				+            else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				149
			 | 
			
			
				+                if [[ ${DHGROUP} == 16 ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				150
			 | 
			
			
				+                    echo "$BETTERCRYPTO_GROUP16" > ${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				151
			 | 
			
			
				+                else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				152
			 | 
			
			
				+                    if [[ ${DHGROUP} == 17 ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				153
			 | 
			
			
				+                        echo "$BETTERCRYPTO_GROUP17" > ${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				154
			 | 
			
			
				+                    else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				155
			 | 
			
			
				+                         
			 | 
		
	
		
			
			| 
				
			 | 
			
				156
			 | 
			
			
				+                        echo "$BETTERCRYPTO_GROUP18" > ${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				157
			 | 
			
			
				+                    fi           
			 | 
		
	
		
			
			| 
				
			 | 
			
				158
			 | 
			
			
				+                fi           
			 | 
		
	
		
			
			| 
				
			 | 
			
				159
			 | 
			
			
				+            fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				160
			 | 
			
			
				+        fi       
			 | 
		
	
		
			
			| 
				
			 | 
			
				161
			 | 
			
			
				+    else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				162
			 | 
			
			
				+        openssl dhparam -check -text $KEYLENGTH -out ${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				163
			 | 
			
			
				+        if [ ! "$?" = "0" ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				164
			 | 
			
			
				+            exit 3674 
			 | 
		
	
		
			
			| 
				
			 | 
			
				165
			 | 
			
			
				+        fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				166
			 | 
			
			
				+    fi   
			 | 
		
	
		
			
			| 
				53
			 | 
			
				167
			 | 
			
			
				     chmod 640 ${1} 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				168
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				55
			 | 
			
				169
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -68,35 +182,35 @@ function regenerate_dh_keys { 
			 | 
		
	
		
			
			| 
				68
			 | 
			
				182
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				69
			 | 
			
				183
			 | 
			
			
				 while [[ $# > 1 ]] 
			 | 
		
	
		
			
			| 
				70
			 | 
			
				184
			 | 
			
			
				 do 
			 | 
		
	
		
			
			| 
				71
			 | 
			
				
			 | 
			
			
				-key="$1" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				185
			 | 
			
			
				+    key="$1" 
			 | 
		
	
		
			
			| 
				72
			 | 
			
				186
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				73
			 | 
			
				
			 | 
			
			
				-case $key in 
			 | 
		
	
		
			
			| 
				74
			 | 
			
				
			 | 
			
			
				-    --help) 
			 | 
		
	
		
			
			| 
				75
			 | 
			
				
			 | 
			
			
				-    show_help 
			 | 
		
	
		
			
			| 
				76
			 | 
			
				
			 | 
			
			
				-    ;; 
			 | 
		
	
		
			
			| 
				77
			 | 
			
				
			 | 
			
			
				-    -h|--hostname) 
			 | 
		
	
		
			
			| 
				78
			 | 
			
				
			 | 
			
			
				-    shift 
			 | 
		
	
		
			
			| 
				79
			 | 
			
				
			 | 
			
			
				-    HOSTNAME="$1" 
			 | 
		
	
		
			
			| 
				80
			 | 
			
				
			 | 
			
			
				-    ;; 
			 | 
		
	
		
			
			| 
				81
			 | 
			
				
			 | 
			
			
				-    -l|--dhkey) 
			 | 
		
	
		
			
			| 
				82
			 | 
			
				
			 | 
			
			
				-    shift 
			 | 
		
	
		
			
			| 
				83
			 | 
			
				
			 | 
			
			
				-    KEYLENGTH=${1} 
			 | 
		
	
		
			
			| 
				84
			 | 
			
				
			 | 
			
			
				-    ;; 
			 | 
		
	
		
			
			| 
				85
			 | 
			
				
			 | 
			
			
				-    --recalc) 
			 | 
		
	
		
			
			| 
				86
			 | 
			
				
			 | 
			
			
				-    shift 
			 | 
		
	
		
			
			| 
				87
			 | 
			
				
			 | 
			
			
				-    RECALCULATE=${1} 
			 | 
		
	
		
			
			| 
				88
			 | 
			
				
			 | 
			
			
				-    ;; 
			 | 
		
	
		
			
			| 
				89
			 | 
			
				
			 | 
			
			
				-    --fast) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				187
			 | 
			
			
				+    case $key in 
			 | 
		
	
		
			
			| 
				
			 | 
			
				188
			 | 
			
			
				+        --help) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				189
			 | 
			
			
				+            show_help 
			 | 
		
	
		
			
			| 
				
			 | 
			
				190
			 | 
			
			
				+            ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				191
			 | 
			
			
				+        -h|--hostname) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				192
			 | 
			
			
				+            shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				193
			 | 
			
			
				+            HOSTNAME="$1" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				194
			 | 
			
			
				+            ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				195
			 | 
			
			
				+        -l|--dhkey) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				196
			 | 
			
			
				+            shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				197
			 | 
			
			
				+            KEYLENGTH=${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				198
			 | 
			
			
				+            ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				199
			 | 
			
			
				+        --recalc) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				200
			 | 
			
			
				+            shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				201
			 | 
			
			
				+            RECALCULATE=${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				202
			 | 
			
			
				+            ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				203
			 | 
			
			
				+        --fast) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				204
			 | 
			
			
				+            shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				205
			 | 
			
			
				+            if [[ ${1} == $"yes" || ${1} == $"y" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				206
			 | 
			
			
				+                FAST='yes' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				207
			 | 
			
			
				+            fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				208
			 | 
			
			
				+            ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				209
			 | 
			
			
				+        *) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				210
			 | 
			
			
				+            # unknown option 
			 | 
		
	
		
			
			| 
				
			 | 
			
				211
			 | 
			
			
				+            ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				212
			 | 
			
			
				+    esac 
			 | 
		
	
		
			
			| 
				90
			 | 
			
				213
			 | 
			
			
				     shift 
			 | 
		
	
		
			
			| 
				91
			 | 
			
				
			 | 
			
			
				-    if [[ ${1} == "yes" || ${1} == "y" ]]; then 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				
			 | 
			
			
				-        FAST='-dsaparam' 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				
			 | 
			
			
				-    fi 
			 | 
		
	
		
			
			| 
				94
			 | 
			
				
			 | 
			
			
				-    ;; 
			 | 
		
	
		
			
			| 
				95
			 | 
			
				
			 | 
			
			
				-    *) 
			 | 
		
	
		
			
			| 
				96
			 | 
			
				
			 | 
			
			
				-    # unknown option 
			 | 
		
	
		
			
			| 
				97
			 | 
			
				
			 | 
			
			
				-    ;; 
			 | 
		
	
		
			
			| 
				98
			 | 
			
				
			 | 
			
			
				-esac 
			 | 
		
	
		
			
			| 
				99
			 | 
			
				
			 | 
			
			
				-shift 
			 | 
		
	
		
			
			| 
				100
			 | 
			
				214
			 | 
			
			
				 done 
			 | 
		
	
		
			
			| 
				101
			 | 
			
				215
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				102
			 | 
			
				216
			 | 
			
			
				 if [[ $RECALCULATE == "yes" || $RECALCULATE == "y" ]]; then 
			 |