| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ipc/brokerable_attachment.h" |
| |
| #include "crypto/random.h" |
| |
| namespace IPC { |
| |
| // static |
| BrokerableAttachment::AttachmentId |
| BrokerableAttachment::AttachmentId::CreateIdWithRandomNonce() { |
| AttachmentId id; |
| // In order to prevent mutually untrusted processes from stealing resources |
| // from one another, the nonce must be secret. This generates a 128-bit, |
| // cryptographicaly-strong random number. |
| crypto::RandBytes(id.nonce, BrokerableAttachment::kNonceSize); |
| return id; |
| } |
| |
| } // namespace IPC |