CryptoProvider 속성
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장

RightsManagementInformation.CryptoProvider 속성

업데이트: 2007년 11월

패키지의 암호화된 권한 관리 데이터 스트림에 액세스하기 위한 CryptoProvider를 가져오거나 설정합니다.

네임스페이스:  System.IO.Packaging
어셈블리:  WindowsBase(WindowsBase.dll)

public CryptoProvider CryptoProvider { get; set; }
/** @property */
public CryptoProvider get_CryptoProvider()
/** @property */
public  void set_CryptoProvider(CryptoProvider value)

public function get CryptoProvider () : CryptoProvider
public function set CryptoProvider (value : CryptoProvider)
XAML에서는 이 속성을 설정할 수 없습니다.

속성 값

형식: System.Security.RightsManagement.CryptoProvider

권한 관리 정보에 액세스하기 위한 CryptoProvider입니다.

다음 예제에서는 CryptoProvider 속성을 설정하는 방법을 보여 줍니다. 전체 샘플을 보려면 권한 관리 패키지 뷰어 샘플을 참조하십시오.

ShowStatus("   Binding UseLicense with the SecureEnvironment" +
         "\n       to obtain the CryptoProvider.");
rmi.CryptoProvider = useLicense.Bind(_secureEnv);

ShowStatus("   Obtaining BoundGrants.");
grants = rmi.CryptoProvider.BoundGrants;

// You can access the Package via GetPackage() at this point.

rightsBlock.Text = "GRANTS LIST\n-----------\n";
foreach (ContentGrant grant in grants)
{
    rightsBlock.Text += "USER  :" + grant.User.Name + " [" +
        grant.User.AuthenticationType + "]\n";
    rightsBlock.Text += "RIGHT :" + grant.Right.ToString()+"\n";
    rightsBlock.Text += "    From:  " + grant.ValidFrom + "\n";
    rightsBlock.Text += "    Until: " + grant.ValidUntil + "\n";
}


다음 예제에서는 CryptoProvider 속성에 액세스하는 방법을 보여 줍니다. 전체 샘플을 보려면 권한 관리 패키지 뷰어 샘플을 참조하십시오.

if (rmi.CryptoProvider.CanDecrypt == true)
    ShowStatus("   Decryption granted.");
else
    ShowStatus("   CANNOT DECRYPT!");

ShowStatus("   Getting the Package from\n" +
           "      the EncryptedPackage.");
_xpsPackage = ePackage.GetPackage();
if (_xpsPackage == null)
{
    MessageBox.Show("Unable to get Package.");
    return false;
}

// Set a PackageStore Uri reference for the encrypted stream.
// ("sdk://packLocation" is a pseudo URI used by
//  PackUriHelper.Create to define the parserContext.BaseURI
//  that XamlReader uses to access the encrypted data stream.)
Uri packageUri = new Uri(@"sdk://packLocation", UriKind.Absolute);
// Add the URI package
PackageStore.AddPackage(packageUri, _xpsPackage);
// Determine the starting part for the package.
PackagePart startingPart = GetPackageStartingPart(_xpsPackage);

// Set the DocViewer.Document property.
ShowStatus("   Opening in DocumentViewer.");
ParserContext parserContext = new ParserContext();
parserContext.BaseUri = PackUriHelper.Create(
                            packageUri, startingPart.Uri);
parserContext.XamlTypeMapper = XamlTypeMapper.DefaultMapper;
DocViewer.Document = XamlReader.Load(
    startingPart.GetStream(), parserContext)
        as IDocumentPaginatorSource;

// Enable document menu controls.
menuFileClose.IsEnabled = true;
menuFilePrint.IsEnabled = true;
menuViewIncreaseZoom.IsEnabled = true;
menuViewDecreaseZoom.IsEnabled = true;

// Give the DocumentViewer focus.
DocViewer.Focus();


Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2016 Microsoft