Life Is Killing Me

If God were suddenly condemned to live the life which He has inflicted upon men, He would kill Himself. -Alexandre Dumas(1802 - 1870)

 
Freund @ 2011-11-30 10:02

昨天遇到的,网上找了个解决方案,果然有效。既然OCS是通过域认证的,那么通过导出域Root证书文件应该也可以解决非域用户使用OCS的问题。

Managing Certification Authority Certificates for OCS
By: Jeff Schertz | Posted: August 5, 2009 at 10:17 AM

Typically in a basic deployment there are times when Windows workstations and servers which are not members of the internal Active Directory domain need to communicate with OCS servers.  This could be attempting to sign-in to Office Communicator installed on a test workstation on the internal corporate network, as well as a perimeter-network server (like ISA or and OCS Edge server) attempting an MTLS connection to an internal OCS server.  This also applies to external workstations trying to sign-in to an Access Edge service which has been configured with a private internal certificate instead of a publicly-trusted third-party cert.

By default, when a Windows computer (Workstation or Server OS) is a member of an Active Directory domain which has an internal Enterprise Certificate Authority installed in it that computer automatically trusts that certificate authority.  If a multi-tier CA deployment exists, then the client will have already imported all Root and Subordinate CA certificates.

This topic has been covered many different times for other PKI-leveraging products, and is discussed in multiple places throughout the OCS product documentation.  But it’s a pretty common stumbling-block (seen in the TechNet support forums very often) for users and administrators who are new to the idea of using certificates.  So here’s a detailed walkthrough to show how to export certificates from certificate authorities into non-domain-joined workstations and servers.

Certificates Console

By default Windows does not include a published Administrative Tool for accessing the certificates store, you must first create the console by adding an MMC snap-in.  This process is the same for all current Windows operating system types and versions, and lets you view and manage the certificates on the local computer.  It’s important to note that the Computer Account (and not the logged on user’s account) is where certificates must be managed for all these processes.  Putting certificates in the wrong stores and folders will prevent successful communications between hosts.

  1. From the Run command enter mmc.exe
  2. From the File menu select Add/Remove Snap In…
  3. Add the Certificates snap-in
    • When prompted to select what store, select Computer Account
    • When prompted to select what computer to manage, select Local Computer

Validating a Domain Member’s Certificates

To first see what the expected end-result would look like, and to understand why domain-joined computers can communicate with the OCS servers without issues let’s look at the trusted certificates currently setup on a domain workstation.  Using the previous steps, open the Certificates console on any domain-joined computer.

Expand the tree out to the Trusted Root Certification Authorities\Certificates folder and locate the root certificate.  If you aren’t sure of what the name is it can help to sort the Intended Purposes column and look at the few certificates listed with <All> purposes.  In the screenshot below we can see my lab’s Root Certificate Authority’s certificate is stored here.  Unless some custom Group Policy change were made to prohibit certificate downloads to domain members, all domain computers should have the internal Enterprise CA root certificate stored in this location.

image

If there is more than one tier of Certificate Authorities deployed in the domain, then additional subordinate (Policy and/or Issuing) CAs would be found (along with a second instance of the Root CA’s certificate) in the Intermediate Certification Authorities\Certificates folder.  This screenshot shows both my Root (SchertzLabRootCA) and Issuing CA (SchertzLabIssuingCA) certificates. 

image

This is indicative of a more secure CA deployment utilizing and offline Root CA with an online issuing, subordinate CA.  It’s important to identify which type (thus how many certificates) is used in your environment so that all are exported and imported correctly.  If only the Root CA certificate is imported into a workgroup computer and not the Issuing CA cert (which most likely issued the certificates to the OCS servers) then communications will fail as the chain of trust will not be complete.

Failed Sign-In From Workgroup Computer

When attempting to sign-in to Office Communicator from a computer that doesn’t trust the CA that issued certificates to the OCS server, it’s pretty clear that it won’t work as sign-in immedataly fails with the following error: “There was a problem verifying the certificate from the server.  Please contact your administrator.”

image

A quick look at the Application Event Log on the local computer shows a bit more details as to what happened:

Event Type:     Error
Event Source:   Communicator
Event ID:       5
Description:
Communicator could not connect securely to server pool1.schertz.lab because the certificate presented by the server was not trusted due to validation error 0x80090325.  The issuing certificate authority (CA) for the server's certificate may not be locally trusted by the client, the certificate may be revoked, or the certificate may have expired.

Since the error description mentions a few different potential causes, let’s use the LCSerror.exe command from the OCS Resource Kit tools to lookup that specific error code for a more definitive description.

c:\>lcserror 0x80090325

0x80090325 -> (SEC_E_UNTRUSTED_ROOT)  (kernel32.dll) The certificate chain was issued by an authority that is not trusted.

So based on those results, we have confirmed that the root cause is the lack of any trusted CA certificates on the local computer.

Exporting Certificates

Microsoft has a TechNet article (KB555252) that covers how to export the certificate from the Root CA, but the directions assume that you have console access to the Root CA.  Except for testing environment, most users and even Administrators should neither have access nor be able to get to the Root CA as protecting the private key of that system is imperative to a solid PKI infrastructure.  It is also unnecessary to access the CAs directly to get to their certificates, they are already installed on any domain-member.  And since the private key is not needed (nor desired, you should never export the Root CA’s private key onto a less-secure server) there is even less of a reason to do it the way shown in that article.

So the simplest route is to just jump on the OCS Front-End server to export CA certificates.  In order to validate that all certificates are exported, let’s look at the Certification Path on the certificate issued to the OCs services.

  1. Open up the Certificates console using the same instructions as shown in the beginning of this article.
  2. Expand the Personal\Certificates folder and locate the certificate assigned to the OCS Front-End services.
  3. Open the certificate (or Open from the right-click menu; not Properties).
  4. Select the Certification Path tab.

Here I’ve included screenshots of both potential scenarios, a single-tier CA deployment, and a multi-tier CA deployment.

image image 

Start with exporting the root certificate for either scenario:

  1. Highlight the top-level root certificate and click the View Certificate button.
  2. Select the Details tab and then click Copy to File.
  3. From the Certificate Export Wizard select DER Encoded binary X.509 (.CER)
  4. Save the file to local drive (e,g, c:\RootCert.cer)

For the second example where the OCS certificate was issued by a subordinate CA we’ll need to also export the Issuing certificate.  Follow the exact same steps as shown above for the next certificate down the chain.  If there a even more level’s then make sure all certificates in the chain are exported to a .CER file.

Importing Certificates

Now that we have the certificate files exported as that is left to do is move them over to the desired computer and import them into the proper location.  If there is only a single Root CA then that single file is imported into just the Trusted Root Certification Authorities folder, but if there are multiple CA certificates then in addition to placing the Root there, all certificates (root and all subordinates) in the chain are placed into the Intermediate Certification Authorities folder as well.

Importing the Root CA certificate:

  1. Copy the RootCert.cer file to over to the workgroup computer.
  2. Open the Certificates console as shown in the beginning of this article.
  3. Expand and highlight the Trusted Root Certification Authorities\Certificates folder.
  4. From the Action menu select All Tasks > Import.
  5. In the Certificate Import Wizard:
    • Select the previously exported file (RootCert.cer).
    • The Certificate Store should automatically display the location you started the Import wizard from.  Make sure that it is the "Trusted Root Certification Authorities” and finish the wizard.

image

Importing Subordinate CA certificates:

If there are any remaining subordinate certification authority certificates to import, follow the same steps as above for each certificate (including the root) but instead import them all into the Intermediate Certification Authorities store.

image

The desired configuration would include the Root CA certificate in both the Root and Intermediate stores, with all other subordinate certificates in only the Intermediate store:

  • Trusted Root Certification Authorities
    • Root CA certificate
  • Intermediate Certification Authorities
    • Root CA certificate
    • Policy CA certificate
    • Issuing CA certificate
    • Issuing CA certificate
    • etc…

At this point Office Communicator should be able to sign-in without the previous 0x80090325 error.  The same steps can be used to configure the certificate chain for an OCS Edge server or to setup Federation with a peer who isn’t using public certificates on their Access Edge proxy.  Basically any time two hosts need to communicate securely by negotiating a certificate-based network connection, if both parties do not already trust each other’s certificate issuers.



 
Freund @ 2011-09-28 13:49

OCS has so many components, there”s no way I could cover them all at once. Especially if I want to get any serious information out there. So I”m writing a series of posts to talk about each one in detail. Today we”re starting with Conversation History.

A big frustration with Instant Messaging: the clients don”t usually log conversations. Even when you turn logging on, you often get a code-jammed block of HTML/Text that HAL 9000 would have trouble reading. I can”t read that, Chris…

Fortunately for us, OCS includes a type of logging that”s breathtakingly easy to read. When enabled, it saves your IM conversations in a folder in Outlook! Which is called, of course, “Conversation History.”

So right away you can treat them like emails – sort by date, by the people you talked with, search through them, etc. And the Conversation History logs are formatted all pretty, just like the original instant messages.

It”s easy to enable Conversation History. Here”s how.

  1. In Office Communicator,click the Options Arrow (the small downward-pointing arrow on the top left).
  2. Select the Tools menu. Navigate to Options… and click.
  3. The first menu you”ll see is the Personal menu. The second-to-last option reads,”Save my instant message conversations in the Outlook Conversation History folder.” Check the box.
  4. Check the box below it too, if you”d like to save a log of your calls through OCS (this can be handy; I recommend it).
  5. As a precaution, click the General tab up top. At the bottom of this menu, you”ll see “Turn on Logging in Communicator.” Check this box too.
  6. Click OK. You”re done!

Think of it like someone following you around with a digital recorder all day. Every time you mumbled something out loud, like “Huh, I should tell so-and-so I”ll send this file tonight,” it was recorded. So you can check yourself anytime.

Conversation History has probably saved me a dozen times already. Can you imagine how handy a running log of on-the-fly conversations is? Say I talked with a co-worker about a client”s website over IM. Then I forgot the URL she gave me. No problem – I grab it out of Conversation History, boom. And I don”t have to bug her again.



 
Freund @ 2011-07-20 18:43

在服务器Migrate之后,原先的Knowledge Base中的XML表单找不到原先的Infopath模板(储存在原来的Sharepoint服务器上,而该服务器已经关闭),导致新的电脑无法正常打开这些文件。找了一个变通的方法,找一台可以成功打开这些文件的电脑,将他的Cache文件拷出(路径为C:\Users\rgeng\appdata\Local\Microsoft\InfoPath\FormCache2A901544.A56),将其中的Template.xml用Notepad打开,将其中的地址修改为新服务器的模板地址,再打开或者修改template.xml文件。之后再打开这些文件就正常了。


 
Freund @ 2011-04-22 09:57

备份软件为Symantec Backup Exec 2010 R2,服务器版本为Server 2008 R2,VSS功能禁用,出现如下Exceptions

Backup- CNHGHFSR01
- AOFO: Initialization failure on: "G:". Advanced Open File Option used: Microsoft Volume Shadow Copy Service (VSS).

V-79-10000-11217 - VSS Snapshot error. The Microsoft Volume Shadow Copy Service (VSS) snapshot failed. Make sure that all provider services and tasks are running. Check the Windows Event Viewer for details.

联系Symantec工程师之后解决,方法为:

经查,备份作业异常完成,是由于调用微软VSS,VSS服务停止造成的。请做以下测试:1、修改备份作业的AOFO属性,指定作业使用Microsoft Volume Shadow Copy Service(Windows 2003 and later),快照程序提供者选择System-Use Microsoft Software Shadow Copy Provider

2、重启服务器CNHGHFSR01

3、执行完上述方法,如故障仍未解决,请从下面链接中下载微软的VSS修复补丁来修复此问题。

http://support.microsoft.com/kb/976099


实际方法1就解决了


 
Freund @ 2011-04-14 08:37

有用户反映站点的Search Center中的Advance链接点击之后,会出现404 not found的错误
发觉链接到的地址为/search/Pages/advanced.aspx,而非正确的/searchcenter/Pages/advanced.aspx
印象中因为Search站点的模板问题,曾经删除并重建过Search Center
解决方法很简单
在Site Actions中选择Edit Page修改其链接即可。
http://social.technet.microsoft.com/Forums/en/sharepointsearch/thread/f3d5ed37-c63b-4f85-949f-e388d965093e


 


日复旦兮
F言F语
『所有网志』
· 海阔天空
· 音画时尚
· 不堪网事
· IT's Crap
童言无忌
Just搜搜
我的CD架
我的电影
友情链接
我的歪酷 非非共享界
[我的豆瓣]
[偶的妹妹Suki]
[F6友人之鬼鬼]
[F6友人之Chenchen Melody]
[F6友人之草鱼]
[F6友人之野人]
[F6友人之小S]
[HIT友人之某人]
美剧天堂-謦灵风软影视论坛
欧美音乐风
Friends中文论坛
订阅 RSS
track website visits

歪酷博客