<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>(sorry, replied to Stephen but forgot to Reply All to include the list)</p>
<p><br>
</p>
<p style="font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">
Stephen,</p>
<p style="font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">
Thanks again for the great advice; I'm going that route.  I was able to get an updated version of the DRSD working with newer backups by using a Java app.  Using IKVM has proved a little trickier since the new algorithm requires a security provider in cryptojFIPS.jar. 
 Unfortunately there are security checks in that JAR's classes which check for the container name at runtime.  If they're repacked into another JAR, they fail to execute.  I may go back and play with that later, but for now the Java app on the local host will
 suffice.</p>
<p style="font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">
<br>
</p>
<p style="font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">
Thanks,</p>
<p style="font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">
Pete</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Stephen Welsh <stephen.welsh@unifiedfx.com><br>
<b>Sent:</b> Tuesday, September 26, 2017 9:51 AM<br>
<b>To:</b> Pete Brown<br>
<b>Cc:</b> cisco-voip@puck.nether.net<br>
<b>Subject:</b> Re: [cisco-voip] DRS Backup Decrypter Workaround - Need Input</font>
<div> </div>
</div>
<div>
<div class="">Hi Pete,</div>
<div class=""><br class="">
</div>
<div class="">Would it not be better to create a small Java application that takes the encrypted content and returns the decrypted content (possibly passing in a file and creating a new file with the decrypted content?).</div>
<div class=""><br class="">
</div>
<div class="">You can also compile Java to a .Net DLL using (<a href="https://www.ikvm.net" class="" id="LPlnk457545" previewremoved="true">https://www.ikvm.net</a>), so you can call it directly without passing files backward/forward.</div>
<div id="LPBorder_GT_15065235455290.22655136421685418" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_15065235455270.6060765380088327" role="presentation" cellspacing="0" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td id="TextCell_15065235455270.6076872885099516" colspan="2" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;">
<div id="LPRemovePreviewContainer_15065235455270.3506221006091581"></div>
<div id="LPTitle_15065235455270.3021080569314436" style="top: 0px; color: rgb(0, 120, 215); font-weight: normal; font-size: 21px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_15065235455280.7736526499590468" href="https://www.ikvm.net/" target="_blank" style="text-decoration: none;">IKVM.NET Home Page</a></div>
<div id="LPMetadata_15065235455280.6778208879571423" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: normal; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 14px;">
www.ikvm.net</div>
<div id="LPDescription_15065235455290.4922782058997792" style="display: block; color: rgb(102, 102, 102); font-weight: normal; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. It includes the following components: A Java Virtual Machine implemented in .NET</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<div class=""><br class="">
</div>
<div class="">Kind Regards</div>
<br class="">
<div class="">
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:medium; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:2; text-indent:0px; text-transform:none; white-space:normal; widows:2; word-spacing:0px">
Stephen Welsh</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:2; text-indent:0px; text-transform:none; white-space:normal; widows:2; word-spacing:0px">
CTO</div>
<br class="Apple-interchange-newline" style="color:rgb(0,0,0); font-family:Helvetica; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:2; text-indent:0px; text-transform:none; white-space:normal; widows:2; word-spacing:0px">
<span><img naturalheight="16" naturalwidth="100" id="8EB04A79-4CF5-43F0-A9EE-2298B69E735B" class="" tabindex="0" style="user-select: none;" src="cid:CBBF0493-235C-43D2-A874-9FB3D95AF598@b2.unifiedfx.com"></span>
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 26 Sep 2017, at 15:38, Pete Brown <<a href="mailto:jpb@chykn.com" class="">jpb@chykn.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div id="divtagdefaultwrapper" dir="ltr" class="" style="font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; font-size:12pt; font-family:Calibri,Helvetica,sans-serif">
I could use some public input regarding the next release of the DRS Backup Decrypter.  In a nutshell, the application will have to be online in order to decrypt backup sets from newer UCOS versions.
<div class=""><br class="">
</div>
<div class="">Last year Cisco started patching DRS with a new algorithm (<span class="">PBEWithHmacSHA1AndDESede</span>) to encrypt the random backup passwords.  I haven't been able to find a .NET implementation of this algorithm.  The only workaround I've
 come up with is to have the DRS Backup Decrypter make a call to a Java webservice that can perform the decryption.</div>
<div class=""><br class="">
</div>
<div class="">The problems with this approach are pretty obvious.  Aside from having to be online, the encrypted cluster security password and 'EncryptKey' from a backup set will need to be submitted to a web service that I've written for decryption.  I can
 publish a public copy of this webservice, but for those behind corporate proxies (myself included), the code could be made available to run the service within their own networks.  In that case the DRS Backup Decrypter would be pointed to the internal copy
 of the webservice.</div>
<div class=""><br class="">
</div>
<div class="">I personally detest utilities that can't operate offline, but it's the only workaround I can come up with at this point.  So my question is this - would anyone actually use it given the webservice dependency?</div>
</div>
<span class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; float:none; display:inline!important">_______________________________________________</span><br class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
<span class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; float:none; display:inline!important">cisco-voip
 mailing list</span><br class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
<a href="mailto:cisco-voip@puck.nether.net" class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">cisco-voip@puck.nether.net</a><br class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
<a href="https://puck.nether.net/mailman/listinfo/cisco-voip" class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">https://puck.nether.net/mailman/listinfo/cisco-voip</a></div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</body>
</html>